drm/amd/display: reset dcn31 SMU mailbox on failures

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@amd.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Mario Limonciello 2022-01-07 15:40:10 -06:00 коммит произвёл Alex Deucher
Родитель 5fea167ec0
Коммит 83293f7f3d
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -119,6 +119,12 @@ static int dcn31_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
result = dcn31_smu_wait_for_response(clk_mgr, 10, 200000); 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)) { if (IS_SMU_TIMEOUT(result)) {
ASSERT(0); ASSERT(0);
dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000); dm_helpers_smu_timeout(CTX, msg_id, param, 10 * 200000);