]> Git Repo - linux.git/commitdiff
drm/amd/display: Fix DMUB errors introduced by DML2
authorRodrigo Siqueira <[email protected]>
Fri, 20 Oct 2023 16:06:50 +0000 (10:06 -0600)
committerAlex Deucher <[email protected]>
Thu, 26 Oct 2023 22:41:22 +0000 (18:41 -0400)
When DML 2 was introduced, it changed part of the generic sequence of
DC, which caused issues on previous DCNs with DMUB support. This commit
ensures the new sequence only works for new DCNs from 3.5 and above.

Changes since V1:
- Harry: Use the attribute using_dml2 instead of check the DCN version.

Cc: Vitaly Prosyak <[email protected]>
Cc: Roman Li <[email protected]>
Cc: Qingqing Zhuo <[email protected]>
Cc: Daniel Wheeler <[email protected]>
Cc: Alex Deucher <[email protected]>
Tested-by: Daniel Wheeler <[email protected]>
Reviewed-by: Harry Wentland <[email protected]>
Fixes: 7966f319c66d ("drm/amd/display: Introduce DML2")
Signed-off-by: Rodrigo Siqueira <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c

index 97f402123fbba259bfb1fb8e3ae4818a9e2253ce..f9e472f08e21bbd15538fde6f491fcf3cbdcdfb2 100644 (file)
@@ -321,10 +321,11 @@ struct resource_pool *dc_create_resource_pool(struct dc  *dc,
                                res_pool->ref_clocks.xtalin_clock_inKhz;
                        res_pool->ref_clocks.dchub_ref_clock_inKhz =
                                res_pool->ref_clocks.xtalin_clock_inKhz;
-                       if (res_pool->hubbub && res_pool->hubbub->funcs->get_dchub_ref_freq)
-                               res_pool->hubbub->funcs->get_dchub_ref_freq(res_pool->hubbub,
-                                       res_pool->ref_clocks.dccg_ref_clock_inKhz,
-                                       &res_pool->ref_clocks.dchub_ref_clock_inKhz);
+                       if (dc->debug.using_dml2)
+                               if (res_pool->hubbub && res_pool->hubbub->funcs->get_dchub_ref_freq)
+                                       res_pool->hubbub->funcs->get_dchub_ref_freq(res_pool->hubbub,
+                                                                                   res_pool->ref_clocks.dccg_ref_clock_inKhz,
+                                                                                   &res_pool->ref_clocks.dchub_ref_clock_inKhz);
                } else
                        ASSERT_CRITICAL(false);
        }
This page took 0.047946 seconds and 4 git commands to generate.