linux/drivers/gpu/drm/arm/hdlcd_crtc.c

/*
 * Copyright (C) 2013-2015 ARM Limited
 * Author: Liviu Dudau <[email protected]>
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive
 * for more details.
 *
 *  Implementation of a CRTC class for the HDLCD driver.
 */

#include <linux/clk.h>
#include <linux/of_graph.h>
#include <linux/platform_data/simplefb.h>

#include <video/videomode.h>

#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h>
#include <drm/drm_fb_dma_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_of.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_vblank.h>

#include "hdlcd_drv.h"
#include "hdlcd_regs.h"

/*
 * The HDLCD controller is a dumb RGB streamer that gets connected to
 * a single HDMI transmitter or in the case of the ARM Models it gets
 * emulated by the software that does the actual rendering.
 *
 */

static void hdlcd_crtc_cleanup(struct drm_crtc *crtc)
{}

static int hdlcd_crtc_enable_vblank(struct drm_crtc *crtc)
{}

static void hdlcd_crtc_disable_vblank(struct drm_crtc *crtc)
{}

static const struct drm_crtc_funcs hdlcd_crtc_funcs =;

static struct simplefb_format supported_formats[] =;

/*
 * Setup the HDLCD registers for decoding the pixels out of the framebuffer
 */
static int hdlcd_set_pxl_fmt(struct drm_crtc *crtc)
{}

static void hdlcd_crtc_mode_set_nofb(struct drm_crtc *crtc)
{}

static void hdlcd_crtc_atomic_enable(struct drm_crtc *crtc,
				     struct drm_atomic_state *state)
{}

static void hdlcd_crtc_atomic_disable(struct drm_crtc *crtc,
				      struct drm_atomic_state *state)
{}

static enum drm_mode_status hdlcd_crtc_mode_valid(struct drm_crtc *crtc,
		const struct drm_display_mode *mode)
{}

static void hdlcd_crtc_atomic_begin(struct drm_crtc *crtc,
				    struct drm_atomic_state *state)
{}

static const struct drm_crtc_helper_funcs hdlcd_crtc_helper_funcs =;

static int hdlcd_plane_atomic_check(struct drm_plane *plane,
				    struct drm_atomic_state *state)
{}

static void hdlcd_plane_atomic_update(struct drm_plane *plane,
				      struct drm_atomic_state *state)
{}

static const struct drm_plane_helper_funcs hdlcd_plane_helper_funcs =;

static const struct drm_plane_funcs hdlcd_plane_funcs =;

static struct drm_plane *hdlcd_plane_init(struct drm_device *drm)
{}

int hdlcd_setup_crtc(struct drm_device *drm)
{}