diff options
| author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2018-03-21 06:20:25 -0400 |
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-03-28 02:45:43 -0400 |
| commit | a7da5cfe0cd6d36af6dc05ee4aa3e506c88e8f0e (patch) | |
| tree | 548484de2a400b6b9426559230e3c740bfee4ef3 | |
| parent | 49efffc7fbd48d5ea3d0dd60c218c7502d4a179d (diff) | |
drm/exynos: Let core take care of normalizing the zpos
Instead of re-implementing the drm_atomic_helper_check() locally with just
adding drm_atomic_normalize_zpos() into it, set the
drm_mode_config->normalize_zpos.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Inki Dae <inki.dae@samsung.com>
CC: Joonyoung Shim <jy0922.shim@samsung.com>
CC: Seung-Woo Kim <sw0312.kim@samsung.com>
CC: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180321102029.15248-3-peter.ujfalusi@ti.com
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.c | 20 | ||||
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_fb.c | 4 |
3 files changed, 3 insertions, 22 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index a518e9c6d6cc..39284bb7c2c2 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c | |||
| @@ -37,26 +37,6 @@ | |||
| 37 | #define DRIVER_MAJOR 1 | 37 | #define DRIVER_MAJOR 1 |
| 38 | #define DRIVER_MINOR 0 | 38 | #define DRIVER_MINOR 0 |
| 39 | 39 | ||
| 40 | int exynos_atomic_check(struct drm_device *dev, | ||
| 41 | struct drm_atomic_state *state) | ||
| 42 | { | ||
| 43 | int ret; | ||
| 44 | |||
| 45 | ret = drm_atomic_helper_check_modeset(dev, state); | ||
| 46 | if (ret) | ||
| 47 | return ret; | ||
| 48 | |||
| 49 | ret = drm_atomic_normalize_zpos(dev, state); | ||
| 50 | if (ret) | ||
| 51 | return ret; | ||
| 52 | |||
| 53 | ret = drm_atomic_helper_check_planes(dev, state); | ||
| 54 | if (ret) | ||
| 55 | return ret; | ||
| 56 | |||
| 57 | return ret; | ||
| 58 | } | ||
| 59 | |||
| 60 | static int exynos_drm_open(struct drm_device *dev, struct drm_file *file) | 40 | static int exynos_drm_open(struct drm_device *dev, struct drm_file *file) |
| 61 | { | 41 | { |
| 62 | struct drm_exynos_file_private *file_priv; | 42 | struct drm_exynos_file_private *file_priv; |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h index df2262f70d91..075957cb6ba1 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h | |||
| @@ -275,7 +275,6 @@ static inline int exynos_dpi_bind(struct drm_device *dev, | |||
| 275 | 275 | ||
| 276 | int exynos_atomic_commit(struct drm_device *dev, struct drm_atomic_state *state, | 276 | int exynos_atomic_commit(struct drm_device *dev, struct drm_atomic_state *state, |
| 277 | bool nonblock); | 277 | bool nonblock); |
| 278 | int exynos_atomic_check(struct drm_device *dev, struct drm_atomic_state *state); | ||
| 279 | 278 | ||
| 280 | 279 | ||
| 281 | extern struct platform_driver fimd_driver; | 280 | extern struct platform_driver fimd_driver; |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c b/drivers/gpu/drm/exynos/exynos_drm_fb.c index 0faaf829f5bf..2379d732da67 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fb.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c | |||
| @@ -206,7 +206,7 @@ static struct drm_mode_config_helper_funcs exynos_drm_mode_config_helpers = { | |||
| 206 | static const struct drm_mode_config_funcs exynos_drm_mode_config_funcs = { | 206 | static const struct drm_mode_config_funcs exynos_drm_mode_config_funcs = { |
| 207 | .fb_create = exynos_user_fb_create, | 207 | .fb_create = exynos_user_fb_create, |
| 208 | .output_poll_changed = drm_fb_helper_output_poll_changed, | 208 | .output_poll_changed = drm_fb_helper_output_poll_changed, |
| 209 | .atomic_check = exynos_atomic_check, | 209 | .atomic_check = drm_atomic_helper_check, |
| 210 | .atomic_commit = drm_atomic_helper_commit, | 210 | .atomic_commit = drm_atomic_helper_commit, |
| 211 | }; | 211 | }; |
| 212 | 212 | ||
| @@ -227,4 +227,6 @@ void exynos_drm_mode_config_init(struct drm_device *dev) | |||
| 227 | dev->mode_config.helper_private = &exynos_drm_mode_config_helpers; | 227 | dev->mode_config.helper_private = &exynos_drm_mode_config_helpers; |
| 228 | 228 | ||
| 229 | dev->mode_config.allow_fb_modifiers = true; | 229 | dev->mode_config.allow_fb_modifiers = true; |
| 230 | |||
| 231 | dev->mode_config.normalize_zpos = true; | ||
| 230 | } | 232 | } |
