diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2015-10-26 08:03:39 -0400 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2015-11-02 21:46:37 -0500 |
commit | 5625b3418a5bf977e3561bb12229d4c3e96b44d8 (patch) | |
tree | 8c8ecdfe8ff40abae1cff0f933fd9cbdedadda1d /drivers/gpu/drm/exynos/exynos_drm_drv.h | |
parent | b8182832c5a9d9ce645d53be84e5db07f8aa5302 (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.h | 3 |
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, |