drm/amd/display: Create dc_state after resource initialization
authorDillon Varone <dillon.varone@amd.com>
Wed, 13 Dec 2023 20:04:42 +0000 (15:04 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Dec 2023 19:59:02 +0000 (14:59 -0500)
[WHY&HOW]
After refactoring dc_state, it is always constructed at the time of its
creation. Construction can only happen after dc resources are initialized, so
move creation to be after this.

Reviewed-by: George Shen <george.shen@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Dillon Varone <dillon.varone@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index 630a55b2c1d481dfc7c4ccb9e90de985706d917a..043913d65b16292db9786754b02e83823624eff6 100644 (file)
@@ -1025,6 +1025,15 @@ static bool dc_construct(struct dc *dc,
        }
 #endif
 
+       if (!create_links(dc, init_params->num_virtual_links))
+               goto fail;
+
+       /* Create additional DIG link encoder objects if fewer than the platform
+        * supports were created during link construction.
+        */
+       if (!create_link_encoders(dc))
+               goto fail;
+
        /* Creation of current_state must occur after dc->dml
         * is initialized in dc_create_resource_pool because
         * on creation it copies the contents of dc->dml
@@ -1037,15 +1046,6 @@ static bool dc_construct(struct dc *dc,
                goto fail;
        }
 
-       if (!create_links(dc, init_params->num_virtual_links))
-               goto fail;
-
-       /* Create additional DIG link encoder objects if fewer than the platform
-        * supports were created during link construction.
-        */
-       if (!create_link_encoders(dc))
-               goto fail;
-
        return true;
 
 fail: