linux/drivers/gpu/drm/gma500/gma_display.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright © 2006-2011 Intel Corporation
 *
 * Authors:
 *	Eric Anholt <[email protected]>
 *	Patrik Jakobsson <[email protected]>
 */

#include <linux/delay.h>
#include <linux/highmem.h>

#include <drm/drm_crtc.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_modeset_helper_vtables.h>
#include <drm/drm_vblank.h>

#include "framebuffer.h"
#include "gem.h"
#include "gma_display.h"
#include "psb_irq.h"
#include "psb_intel_drv.h"
#include "psb_intel_reg.h"

/*
 * Returns whether any output on the specified pipe is of the specified type
 */
bool gma_pipe_has_type(struct drm_crtc *crtc, int type)
{}

void gma_wait_for_vblank(struct drm_device *dev)
{}

int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
		      struct drm_framebuffer *old_fb)
{}

/* Loads the palette/gamma unit for the CRTC with the prepared values */
void gma_crtc_load_lut(struct drm_crtc *crtc)
{}

static int gma_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
			      u16 *blue, u32 size,
			      struct drm_modeset_acquire_ctx *ctx)
{}

/*
 * Sets the power management mode of the pipe and plane.
 *
 * This code should probably grow support for turning the cursor off and back
 * on appropriately at the same time as we're turning the pipe off/on.
 */
void gma_crtc_dpms(struct drm_crtc *crtc, int mode)
{}

static int gma_crtc_cursor_set(struct drm_crtc *crtc,
			       struct drm_file *file_priv, uint32_t handle,
			       uint32_t width, uint32_t height)
{}

static int gma_crtc_cursor_move(struct drm_crtc *crtc, int x, int y)
{}

void gma_crtc_prepare(struct drm_crtc *crtc)
{}

void gma_crtc_commit(struct drm_crtc *crtc)
{}

void gma_crtc_disable(struct drm_crtc *crtc)
{}

void gma_crtc_destroy(struct drm_crtc *crtc)
{}

int gma_crtc_page_flip(struct drm_crtc *crtc,
		       struct drm_framebuffer *fb,
		       struct drm_pending_vblank_event *event,
		       uint32_t page_flip_flags,
		       struct drm_modeset_acquire_ctx *ctx)
{}

const struct drm_crtc_funcs gma_crtc_funcs =;

/*
 * Save HW states of given crtc
 */
void gma_crtc_save(struct drm_crtc *crtc)
{}

/*
 * Restore HW states of given crtc
 */
void gma_crtc_restore(struct drm_crtc *crtc)
{}

void gma_encoder_prepare(struct drm_encoder *encoder)
{}

void gma_encoder_commit(struct drm_encoder *encoder)
{}

void gma_encoder_destroy(struct drm_encoder *encoder)
{}

/* Currently there is only a 1:1 mapping of encoders and connectors */
struct drm_encoder *gma_best_encoder(struct drm_connector *connector)
{}

void gma_connector_attach_encoder(struct gma_connector *connector,
				  struct gma_encoder *encoder)
{}

#define GMA_PLL_INVALID(s)

bool gma_pll_is_valid(struct drm_crtc *crtc,
		      const struct gma_limit_t *limit,
		      struct gma_clock_t *clock)
{}

bool gma_find_best_pll(const struct gma_limit_t *limit,
		       struct drm_crtc *crtc, int target, int refclk,
		       struct gma_clock_t *best_clock)
{}