drm/radeon: work around a hw bug in MGCG on CIK
Always need to set bit 0 of RLC_CGTT_MGCG_OVERRIDE to avoid unreliable doorbell updates in some cases. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
Родитель
3feba08d79
Коммит
4bb62c95a7
|
@ -6344,6 +6344,7 @@ static void cik_enable_mgcg(struct radeon_device *rdev, bool enable)
|
|||
}
|
||||
|
||||
orig = data = RREG32(RLC_CGTT_MGCG_OVERRIDE);
|
||||
data |= 0x00000001;
|
||||
data &= 0xfffffffd;
|
||||
if (orig != data)
|
||||
WREG32(RLC_CGTT_MGCG_OVERRIDE, data);
|
||||
|
@ -6377,7 +6378,7 @@ static void cik_enable_mgcg(struct radeon_device *rdev, bool enable)
|
|||
}
|
||||
} else {
|
||||
orig = data = RREG32(RLC_CGTT_MGCG_OVERRIDE);
|
||||
data |= 0x00000002;
|
||||
data |= 0x00000003;
|
||||
if (orig != data)
|
||||
WREG32(RLC_CGTT_MGCG_OVERRIDE, data);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче