diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2012-02-13 22:36:34 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-02-14 14:36:23 +0100 |
commit | b7f5b7dec3d539a84734f2bcb7e53fbb1532a40b (patch) | |
tree | c901dee3518d50d4f543e5ad9df565a904e5c06c /drivers/gpu/drm/radeon/rs600.c | |
parent | drm/radeon/kms/atom: bios scratch reg handling updates (diff) | |
download | linux-b7f5b7dec3d539a84734f2bcb7e53fbb1532a40b.tar.xz linux-b7f5b7dec3d539a84734f2bcb7e53fbb1532a40b.zip |
drm/radeon/kms: fix MSI re-arm on rv370+
MSI_REARM_EN register is a write only trigger register.
There is no need RMW when re-arming.
May fix:
https://bugs.freedesktop.org/show_bug.cgi?id=41668
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
CC: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rs600.c')
-rw-r--r-- | drivers/gpu/drm/radeon/rs600.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index ec46eb45e34c..c05865e5521f 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c @@ -684,9 +684,7 @@ int rs600_irq_process(struct radeon_device *rdev) WREG32(RADEON_BUS_CNTL, msi_rearm | RS600_MSI_REARM); break; default: - msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN; - WREG32(RADEON_MSI_REARM_EN, msi_rearm); - WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN); + WREG32(RADEON_MSI_REARM_EN, RV370_MSI_REARM_EN); break; } } |