[PATCH] drm/amd/display: Align dcn314_smu logging with other DCNs
Limonciello, Mario
Mario.Limonciello at amd.com
Mon Nov 14 21:15:58 UTC 2022
[Public]
Conceptually makes sense to me, but please see below comments:
> -----Original Message-----
> From: Roman.Li at amd.com <Roman.Li at amd.com>
> Sent: Monday, November 14, 2022 15:07
> To: amd-gfx at lists.freedesktop.org; Deucher, Alexander
> <Alexander.Deucher at amd.com>; Wentland, Harry
> <Harry.Wentland at amd.com>; Limonciello, Mario
> <Mario.Limonciello at amd.com>; Rizvi, Saaem <SyedSaaem.Rizvi at amd.com>
> Cc: Li, Roman <Roman.Li at amd.com>
> Subject: [PATCH] drm/amd/display: Align dcn314_smu logging with other
> DCNs
>
> From: Roman Li <roman.li at amd.com>
>
> [Why]
> Assert on non-OK response from SMU is unnecessary.
> It was replaced with respective log message on other asics
> in the past with commit:
> "drm/amd/display: Removing assert statements for Linux"
>
> [How]
> Remove asert and add dbg logging as on other DCNs.
>
> CC: Saaem Rizvi <SyedSaaem.Rizvi at amd.com>
> Signed-off-by: Roman Li <roman.li at amd.com>
> ---
> .../drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
> b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
> index ef0795b14a1f..2db595672a46 100644
> --- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
> +++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
> @@ -123,9 +123,10 @@ static int
> dcn314_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
> uint32_t result;
>
> result = dcn314_smu_wait_for_response(clk_mgr, 10, 200000);
> - ASSERT(result == VBIOSSMC_Result_OK);
Does this flow actually happen still? I thought the assertion should have gone
away as a result of 83293f7f3d15fc56e86bd5067a2c88b6b233ac3a.
Maybe we want to also undo the REG_WRITE() call there if pulling this in.
>
> - smu_print("SMU response after wait: %d\n", result);
> + if (result != VBIOSSMC_Result_OK)
> + smu_print("SMU Response was not OK. SMU response after
> wait received is: %d\n",
> + result);
>
> if (result == VBIOSSMC_Status_BUSY)
> return -1;
I think what is missing to clean up recent asserts is actually a little bit further
in the code than this. It should be part of the error flow introduced by
03ad3093c7c069d6ab4403730009ebafeea9ee37
> @@ -216,6 +217,12 @@ int dcn314_smu_set_hard_min_dcfclk(struct
> clk_mgr_internal *clk_mgr, int request
> VBIOSSMC_MSG_SetHardMinDcfclkByFreq,
> khz_to_mhz_ceil(requested_dcfclk_khz));
>
> +#ifdef DBG
> + smu_print("actual_dcfclk_set_mhz %d is set to : %d\n",
> + actual_dcfclk_set_mhz,
> + actual_dcfclk_set_mhz * 1000);
> +#endif
> +
> return actual_dcfclk_set_mhz * 1000;
> }
>
> --
> 2.17.1
More information about the amd-gfx
mailing list