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.ujfal...@ti.com>
CC: Thierry Reding <thierry.red...@gmail.com>
---
Thierry,

since the v4 series the atomic check of tegra got additional call to
tegra_display_hub_atomic_check().
Based on the code the order, placement of the hub check is not strict, it can
be done as the last step as well.
But if the hub check needs to be called in certain step, then I can drop the
tegra patch.

Can you check if this patch is OK or not?

Regards,
Peter

 drivers/gpu/drm/tegra/drm.c | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index e20e013151f0..ac1121172dc9 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -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;
 
-- 
Peter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to