Commit d5c5ac3a authored by Jude Shih's avatar Jude Shih Committed by Alex Deucher
Browse files

drm/amd/display: Fix resetting DCN3.1 HW when resuming from S4



[Why] On S4 resume we also need to fix detection of when to reload DMCUB
firmware because we're currently using the VBIOS version which isn't
compatible with the driver version.

[How] Update the hardware init check for DCN31 since it's the ASIC that
has this issue.

Reviewed-by: default avatarNicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: default avatarJude Shih <jude.shih@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent cd7b0531
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -267,11 +267,13 @@ void dmub_dcn31_set_outbox1_rptr(struct dmub_srv *dmub, uint32_t rptr_offset)

bool dmub_dcn31_is_hw_init(struct dmub_srv *dmub)
{
	uint32_t is_hw_init;
	union dmub_fw_boot_status status;
	uint32_t is_enable;

	REG_GET(DMCUB_CNTL, DMCUB_ENABLE, &is_hw_init);
	status.all = REG_READ(DMCUB_SCRATCH0);
	REG_GET(DMCUB_CNTL, DMCUB_ENABLE, &is_enable);

	return is_hw_init != 0;
	return is_enable != 0 && status.bits.dal_fw;
}

bool dmub_dcn31_is_supported(struct dmub_srv *dmub)