Re: [PATCH] drm/amd/display: Fix DMUB errors introduced by DML2

2023-10-20 Thread Harry Wentland



On 2023-10-20 12:42, Rodrigo Siqueira wrote:
> 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.
> 
> Cc: Vitaly Prosyak 
> Cc: Roman Li 
> Cc: Qingqing Zhuo 
> Cc: Daniel Wheeler 
> Cc: Alex Deucher 
> Fixes: 7966f319c66d ("drm/amd/display: Introduce DML2")
> Signed-off-by: Rodrigo Siqueira 
> ---
>  drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 9 +
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c 
> b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> index 97f402123fbb..73cc6e1b0e65 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> @@ -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_version >= DCN_VERSION_3_5)

A better check would be dc->debug.using_dml2

Harry

> + 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);
>   }



RE: [PATCH] drm/amd/display: Fix DMUB errors introduced by DML2

2023-10-20 Thread Wheeler, Daniel
[Public]

Hi all,

I verified that this fix solved both a GPU init error and a 
hubbub2_get_dchub_ref_freq warning when re-enabling the amdgpu module.

Tested-by: Daniel Wheeler 

Thank you,

Dan Wheeler
Sr. Technologist  |  AMD
SW Display
--
1 Commerce Valley Dr E, Thornhill, ON L3T 7X6
Facebook |  Twitter |  amd.com


-Original Message-
From: Siqueira, Rodrigo 
Sent: Friday, October 20, 2023 12:42 PM
To: amd-gfx@lists.freedesktop.org
Cc: Siqueira, Rodrigo ; Prosyak, Vitaly 
; Li, Roman ; Zhuo, Lillian 
; Wheeler, Daniel ; Deucher, 
Alexander 
Subject: [PATCH] drm/amd/display: Fix DMUB errors introduced by DML2

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.

Cc: Vitaly Prosyak 
Cc: Roman Li 
Cc: Qingqing Zhuo 
Cc: Daniel Wheeler 
Cc: Alex Deucher 
Fixes: 7966f319c66d ("drm/amd/display: Introduce DML2")
Signed-off-by: Rodrigo Siqueira 
---
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 97f402123fbb..73cc6e1b0e65 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -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_version >= DCN_VERSION_3_5)
+   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);
}
--
2.42.0