aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2018-03-21 06:20:25 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2018-03-28 02:45:43 -0400
commita7da5cfe0cd6d36af6dc05ee4aa3e506c88e8f0e (patch)
tree548484de2a400b6b9426559230e3c740bfee4ef3
parent49efffc7fbd48d5ea3d0dd60c218c7502d4a179d (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.c20
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.h1
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.c4
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
40int 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
60static int exynos_drm_open(struct drm_device *dev, struct drm_file *file) 40static 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
276int exynos_atomic_commit(struct drm_device *dev, struct drm_atomic_state *state, 276int exynos_atomic_commit(struct drm_device *dev, struct drm_atomic_state *state,
277 bool nonblock); 277 bool nonblock);
278int exynos_atomic_check(struct drm_device *dev, struct drm_atomic_state *state);
279 278
280 279
281extern struct platform_driver fimd_driver; 280extern 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 = {
206static const struct drm_mode_config_funcs exynos_drm_mode_config_funcs = { 206static 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}