[PATCH] drm/amd/display: reset dcn31 SMU mailbox on failures
Kazlauskas, Nicholas
nicholas.kazlauskas at amd.com
Fri Jan 7 22:05:53 UTC 2022
On 2022-01-07 4:40 p.m., Mario Limonciello wrote:
> Otherwise future commands may fail as well leading to downstream
> problems that look like they stemmed from a timeout the first time
> but really didn't.
>
> Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
I guess we used to do this but after we started adding the
wait_for_response prior to sending the command this was ignored.
Should be fine.
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
Regards,
Nicholas Kazlauskas
> ---
> drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
> index 8c2b77eb9459..162ae7186124 100644
> --- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
> +++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c
> @@ -119,6 +119,12 @@ int dcn31_smu_send_msg_with_param(
>
> result = dcn31_smu_wait_for_response(clk_mgr, 10, 200000);
>
> + if (result == VBIOSSMC_Result_Failed) {
> + ASSERT(0);
> + REG_WRITE(MP1_SMN_C2PMSG_91, VBIOSSMC_Result_OK);
> + return -1;
> + }
> +
> if (IS_SMU_TIMEOUT(result)) {
> ASSERT(0);
> dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);
More information about the amd-gfx
mailing list