drm/tegra: Let core take care of normalizing the zpos
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 21 Mar 2018 10:20:26 +0000 (12:20 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 28 Mar 2018 06:45:44 +0000 (09:45 +0300)
Set the drm_mode_config->normalize_zpos and call the generic
drm_atomic_helper_check() instead of duplicating it within
tegra_atomic_check().

Call tegra_display_hub_atomic_check() after the drm_atomic_helpre_check()
returned without error.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180321102029.15248-4-peter.ujfalusi@ti.com
drivers/gpu/drm/tegra/drm.c

index e20e013..ac11211 100644 (file)
@@ -38,26 +38,11 @@ static int tegra_atomic_check(struct drm_device *drm,
 {
        int err;
 
-       err = drm_atomic_helper_check_modeset(drm, state);
+       err = drm_atomic_helper_check(drm, state);
        if (err < 0)
                return err;
 
-       err = tegra_display_hub_atomic_check(drm, state);
-       if (err < 0)
-               return err;
-
-       err = drm_atomic_normalize_zpos(drm, state);
-       if (err < 0)
-               return err;
-
-       err = drm_atomic_helper_check_planes(drm, state);
-       if (err < 0)
-               return err;
-
-       if (state->legacy_cursor_update)
-               state->async_update = !drm_atomic_helper_async_check(drm, state);
-
-       return 0;
+       return tegra_display_hub_atomic_check(drm, state);
 }
 
 static const struct drm_mode_config_funcs tegra_drm_mode_config_funcs = {
@@ -151,6 +136,8 @@ static int tegra_drm_load(struct drm_device *drm, unsigned long flags)
 
        drm->mode_config.allow_fb_modifiers = true;
 
+       drm->mode_config.normalize_zpos = true;
+
        drm->mode_config.funcs = &tegra_drm_mode_config_funcs;
        drm->mode_config.helper_private = &tegra_drm_mode_config_helpers;