diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2017-08-24 15:33:56 +0200 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2017-08-25 11:58:07 +0900 |
commit | c3653fede57f301a134b56c4bf62ac92780d5059 (patch) | |
tree | ac1f14a58b845eef4989665ab259270a3e5a6ab2 /drivers/gpu/drm/exynos/exynos_drm_drv.h | |
parent | drm/exynos/decon5433: refactor irq requesting code (diff) | |
download | linux-dev-c3653fede57f301a134b56c4bf62ac92780d5059.tar.xz linux-dev-c3653fede57f301a134b56c4bf62ac92780d5059.zip |
drm/exynos: add mode_valid callback to exynos_drm
crtc::mode_valid callback is required to implement proper pipeline
validation for command/video modes. Since Exynos uses private
framework such callback should be added to it.
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 9e77809135f0..d53435b68ae6 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h @@ -117,6 +117,7 @@ struct exynos_drm_plane_config { * @disable: disable the device * @enable_vblank: specific driver callback for enabling vblank interrupt. * @disable_vblank: specific driver callback for disabling vblank interrupt. + * @mode_valid: specific driver callback for mode validation * @atomic_check: validate state * @atomic_begin: prepare device to receive an update * @atomic_flush: mark the end of device update @@ -132,6 +133,8 @@ struct exynos_drm_crtc_ops { int (*enable_vblank)(struct exynos_drm_crtc *crtc); void (*disable_vblank)(struct exynos_drm_crtc *crtc); u32 (*get_vblank_counter)(struct exynos_drm_crtc *crtc); + enum drm_mode_status (*mode_valid)(struct exynos_drm_crtc *crtc, + const struct drm_display_mode *mode); int (*atomic_check)(struct exynos_drm_crtc *crtc, struct drm_crtc_state *state); void (*atomic_begin)(struct exynos_drm_crtc *crtc); |