Commit aa4be416 authored by Evgenii Krasnikov's avatar Evgenii Krasnikov Committed by Alex Deucher
Browse files

drm/amd/display: ensure PSR force_static flag can always be set



[HOW&WHY]
Make sure psr_force_static() can always be called regardless of
psr_allow_active value.

Reviewed-by: default avatarHarry Vanzylldejong <harry.vanzylldejong@amd.com>
Reviewed-by: default avatarEvgenii Krasnikov <Evgenii.Krasnikov@amd.com>
Reviewed-by: default avatarNicholas Choi <Nicholas.Choi@amd.com>
Acked-by: default avatarPavle Kotarac <Pavle.Kotarac@amd.com>
Signed-off-by: default avatarEvgenii Krasnikov <Evgenii.Krasnikov@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent da8c2592
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -3092,6 +3092,10 @@ bool dc_link_set_psr_allow_active(struct dc_link *link, const bool *allow_active
			psr->funcs->psr_set_power_opt(psr, link->psr_settings.psr_power_opt, panel_inst);
	}

	if (psr != NULL && link->psr_settings.psr_feature_enabled &&
			force_static && psr->funcs->psr_force_static)
		psr->funcs->psr_force_static(psr, panel_inst);

	/* Enable or Disable PSR */
	if (allow_active && link->psr_settings.psr_allow_active != *allow_active) {
		link->psr_settings.psr_allow_active = *allow_active;
@@ -3102,8 +3106,6 @@ bool dc_link_set_psr_allow_active(struct dc_link *link, const bool *allow_active
#endif

		if (psr != NULL && link->psr_settings.psr_feature_enabled) {
			if (force_static && psr->funcs->psr_force_static)
				psr->funcs->psr_force_static(psr, panel_inst);
			psr->funcs->psr_enable(psr, link->psr_settings.psr_allow_active, wait, panel_inst);
		} else if ((dmcu != NULL && dmcu->funcs->is_dmcu_initialized(dmcu)) &&
			link->psr_settings.psr_feature_enabled)