#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/types.h>
#include <linux/workqueue.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h>
#include <drm/drm_drv.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_print.h>
#include <drm/drm_vblank.h>
#include "logicvc_crtc.h"
#include "logicvc_drm.h"
#include "logicvc_interface.h"
#include "logicvc_layer.h"
#include "logicvc_regs.h"
#define logicvc_crtc(c) …
static enum drm_mode_status
logicvc_crtc_mode_valid(struct drm_crtc *drm_crtc,
const struct drm_display_mode *mode)
{ … }
static void logicvc_crtc_atomic_begin(struct drm_crtc *drm_crtc,
struct drm_atomic_state *state)
{ … }
static void logicvc_crtc_atomic_enable(struct drm_crtc *drm_crtc,
struct drm_atomic_state *state)
{ … }
static void logicvc_crtc_atomic_disable(struct drm_crtc *drm_crtc,
struct drm_atomic_state *state)
{ … }
static const struct drm_crtc_helper_funcs logicvc_crtc_helper_funcs = …;
static int logicvc_crtc_enable_vblank(struct drm_crtc *drm_crtc)
{ … }
static void logicvc_crtc_disable_vblank(struct drm_crtc *drm_crtc)
{ … }
static const struct drm_crtc_funcs logicvc_crtc_funcs = …;
void logicvc_crtc_vblank_handler(struct logicvc_drm *logicvc)
{ … }
int logicvc_crtc_init(struct logicvc_drm *logicvc)
{ … }