diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index e08c4a8..8e7ce8a 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c @@ -1169,6 +1169,8 @@ void r300_clock_startup(struct radeon_device *rdev) if (radeon_dynclks != -1 && radeon_dynclks) radeon_legacy_set_clock_gating(rdev, 1); + else + radeon_legacy_set_clock_gating(rdev, 0); /* We need to force on some of the block */ tmp = RREG32_PLL(R_00000D_SCLK_CNTL); tmp |= S_00000D_FORCE_CP(1) | S_00000D_FORCE_VIP(1); diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c index 748265a..c34cbd2 100644 --- a/drivers/gpu/drm/radeon/radeon_combios.c +++ b/drivers/gpu/drm/radeon/radeon_combios.c @@ -1915,12 +1915,16 @@ static void combios_parse_mmio_table(struct drm_device *dev, uint16_t offset) case 0: val = RBIOS32(offset); offset += 4; + (void)RREG32(addr); WREG32(addr, val); + (void)RREG32(addr); break; case 1: val = RBIOS32(offset); offset += 4; + (void)RREG32(addr); WREG32(addr, val); + (void)RREG32(addr); break; case 2: and_mask = RBIOS32(offset); @@ -1931,6 +1935,7 @@ static void combios_parse_mmio_table(struct drm_device *dev, uint16_t offset) tmp &= and_mask; tmp |= or_mask; WREG32(addr, tmp); + (void)RREG32(addr); break; case 3: and_mask = RBIOS32(offset); @@ -1941,6 +1946,7 @@ static void combios_parse_mmio_table(struct drm_device *dev, uint16_t offset) tmp &= and_mask; tmp |= or_mask; WREG32(addr, tmp); + (void)RREG32(addr); break; case 4: val = RBIOS16(offset);