diff options
| author | Jude Shih <[email protected]> | 2021-07-06 18:04:11 +0800 | 
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2021-08-05 21:17:58 -0400 | 
| commit | f39b21c499585b822da3975a7651007acf012f09 (patch) | |
| tree | 04581330d65078f59f0b937e0c64696f0df6d719 /drivers/gpu/drm/amd/display/dmub/src | |
| parent | 8c0fc3bf1a9f1a399550e930dda1035d0aa58fdc (diff) | |
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: Nicholas Kazlauskas <[email protected]>
Acked-by: Aurabindo Pillai <[email protected]>
Signed-off-by: Jude Shih <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dmub/src')
| -rw-r--r-- | drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.c b/drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.c index 61446170056e..6820012e3b6e 100644 --- a/drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.c +++ b/drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.c @@ -270,11 +270,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) |