drm/amd/display: Add fallback configuration when set DRR
authorRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Tue, 26 Mar 2024 17:49:50 +0000 (11:49 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 12 Apr 2024 04:35:28 +0000 (00:35 -0400)
Set OTG/OPTC parameter to 0 if failed to set DRR.

Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/optc/dcn32/dcn32_optc.c

index 52eab8fccb7f16e9b1f02d541c030f5736b79ace..c4f0e1951427fc6128fc17f5f2cd1b7f3130297e 100644 (file)
@@ -293,9 +293,16 @@ static void optc32_set_drr(
                }
 
                optc->funcs->set_vtotal_min_max(optc, params->vertical_total_min - 1, params->vertical_total_max - 1);
-       }
+               optc32_setup_manual_trigger(optc);
+       } else {
+               REG_UPDATE_4(OTG_V_TOTAL_CONTROL,
+                               OTG_SET_V_TOTAL_MIN_MASK, 0,
+                               OTG_V_TOTAL_MIN_SEL, 0,
+                               OTG_V_TOTAL_MAX_SEL, 0,
+                               OTG_FORCE_LOCK_ON_EVENT, 0);
 
-       optc32_setup_manual_trigger(optc);
+               optc->funcs->set_vtotal_min_max(optc, 0, 0);
+       }
 }
 
 static struct timing_generator_funcs dcn32_tg_funcs = {