drm/vmwgfx/sou: Use drm_mode_config_reset
authorRoland Scheidegger <sroland@vmware.com>
Fri, 7 Aug 2020 20:03:42 +0000 (22:03 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Tue, 11 Aug 2020 01:16:02 +0000 (03:16 +0200)
Same problem as in stdu, same fix.

Fixes: 51f644b40b4b ("drm/atomic-helper: reset vblank on crtc reset")
Acked-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Signed-off-by: Roland Scheidegger <sroland@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c

index 32a22e4..4bf0f5e 100644 (file)
@@ -859,8 +859,6 @@ static int vmw_sou_init(struct vmw_private *dev_priv, unsigned unit)
        sou->base.is_implicit = false;
 
        /* Initialize primary plane */
-       vmw_du_plane_reset(primary);
-
        ret = drm_universal_plane_init(dev, &sou->base.primary,
                                       0, &vmw_sou_plane_funcs,
                                       vmw_primary_plane_formats,
@@ -875,8 +873,6 @@ static int vmw_sou_init(struct vmw_private *dev_priv, unsigned unit)
        drm_plane_enable_fb_damage_clips(primary);
 
        /* Initialize cursor plane */
-       vmw_du_plane_reset(cursor);
-
        ret = drm_universal_plane_init(dev, &sou->base.cursor,
                        0, &vmw_sou_cursor_funcs,
                        vmw_cursor_plane_formats,
@@ -890,7 +886,6 @@ static int vmw_sou_init(struct vmw_private *dev_priv, unsigned unit)
 
        drm_plane_helper_add(cursor, &vmw_sou_cursor_plane_helper_funcs);
 
-       vmw_du_connector_reset(connector);
        ret = drm_connector_init(dev, connector, &vmw_sou_connector_funcs,
                                 DRM_MODE_CONNECTOR_VIRTUAL);
        if (ret) {
@@ -918,8 +913,6 @@ static int vmw_sou_init(struct vmw_private *dev_priv, unsigned unit)
                goto err_free_encoder;
        }
 
-
-       vmw_du_crtc_reset(crtc);
        ret = drm_crtc_init_with_planes(dev, crtc, &sou->base.primary,
                                        &sou->base.cursor,
                                        &vmw_screen_object_crtc_funcs, NULL);
@@ -973,6 +966,8 @@ int vmw_kms_sou_init_display(struct vmw_private *dev_priv)
 
        dev_priv->active_display_unit = vmw_du_screen_object;
 
+       drm_mode_config_reset(dev);
+
        DRM_INFO("Screen Objects Display Unit initialized\n");
 
        return 0;