Commit 401c90c4 authored by Nicholas Kazlauskas's avatar Nicholas Kazlauskas Committed by Alex Deucher
Browse files

drm/amd/display: Block dynamic IPS2 on DCN35 for incompatible FW versions



[WHY]
Hangs with Z8 can occur if running an older unfixed PMFW version.

[HOW]
Fallback to RCG only for dynamic IPS2 states if it's not newer than
93.12. Limit to DCN35.

Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Reviewed-by: default avatarCharlene Liu <charlene.liu@amd.com>
Signed-off-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 09cb922c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1222,6 +1222,12 @@ void dcn35_clk_mgr_construct(
			ctx->dc->debug.disable_dpp_power_gate = false;
			ctx->dc->debug.disable_hubp_power_gate = false;
			ctx->dc->debug.disable_dsc_power_gate = false;

			/* Disable dynamic IPS2 in older PMFW (93.12) for Z8 interop. */
			if (ctx->dc->config.disable_ips == DMUB_IPS_ENABLE &&
			    ctx->dce_version == DCN_VERSION_3_5 &&
			    ((clk_mgr->base.smu_ver & 0x00FFFFFF) <= 0x005d0c00))
				ctx->dc->config.disable_ips = DMUB_IPS_RCG_IN_ACTIVE_IPS2_IN_OFF;
		} else {
			/*let's reset the config control flag*/
			ctx->dc->config.disable_ips = DMUB_IPS_DISABLE_ALL; /*pmfw not support it, disable it all*/