aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_drv.h
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2015-10-26 08:03:39 -0400
committerInki Dae <inki.dae@samsung.com>2015-11-02 21:46:37 -0500
commit5625b3418a5bf977e3561bb12229d4c3e96b44d8 (patch)
tree8c8ecdfe8ff40abae1cff0f933fd9cbdedadda1d /drivers/gpu/drm/exynos/exynos_drm_drv.h
parentb8182832c5a9d9ce645d53be84e5db07f8aa5302 (diff)
drm/exynos: add atomic_check callback to exynos_crtc
Some CRTCs needs mode validation, this patch adds neccessary callback to Exynos DRM framework. It is called from DRM core via atomic_check helper for drm_crtc. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_drv.h')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
index 638fc43079a8..f1eda7fa4e3c 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -89,6 +89,7 @@ struct exynos_drm_plane {
89 * @disable_vblank: specific driver callback for disabling vblank interrupt. 89 * @disable_vblank: specific driver callback for disabling vblank interrupt.
90 * @wait_for_vblank: wait for vblank interrupt to make sure that 90 * @wait_for_vblank: wait for vblank interrupt to make sure that
91 * hardware overlay is updated. 91 * hardware overlay is updated.
92 * @atomic_check: validate state
92 * @atomic_begin: prepare a window to receive a update 93 * @atomic_begin: prepare a window to receive a update
93 * @atomic_flush: mark the end of a window update 94 * @atomic_flush: mark the end of a window update
94 * @update_plane: apply hardware specific overlay data to registers. 95 * @update_plane: apply hardware specific overlay data to registers.
@@ -108,6 +109,8 @@ struct exynos_drm_crtc_ops {
108 int (*enable_vblank)(struct exynos_drm_crtc *crtc); 109 int (*enable_vblank)(struct exynos_drm_crtc *crtc);
109 void (*disable_vblank)(struct exynos_drm_crtc *crtc); 110 void (*disable_vblank)(struct exynos_drm_crtc *crtc);
110 void (*wait_for_vblank)(struct exynos_drm_crtc *crtc); 111 void (*wait_for_vblank)(struct exynos_drm_crtc *crtc);
112 int (*atomic_check)(struct exynos_drm_crtc *crtc,
113 struct drm_crtc_state *state);
111 void (*atomic_begin)(struct exynos_drm_crtc *crtc, 114 void (*atomic_begin)(struct exynos_drm_crtc *crtc,
112 struct exynos_drm_plane *plane); 115 struct exynos_drm_plane *plane);
113 void (*update_plane)(struct exynos_drm_crtc *crtc, 116 void (*update_plane)(struct exynos_drm_crtc *crtc,