]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.0.23/drm-radeon-kms-fix-msi-re-arm-on-rv370.patch
Fix up backported ptrace patch
[thirdparty/kernel/stable-queue.git] / releases / 3.0.23 / drm-radeon-kms-fix-msi-re-arm-on-rv370.patch
CommitLineData
f57f51d4
GKH
1From b7f5b7dec3d539a84734f2bcb7e53fbb1532a40b Mon Sep 17 00:00:00 2001
2From: Alex Deucher <alexander.deucher@amd.com>
3Date: Mon, 13 Feb 2012 16:36:34 -0500
4Subject: drm/radeon/kms: fix MSI re-arm on rv370+
5
6From: Alex Deucher <alexander.deucher@amd.com>
7
8commit b7f5b7dec3d539a84734f2bcb7e53fbb1532a40b upstream.
9
10MSI_REARM_EN register is a write only trigger register.
11There is no need RMW when re-arming.
12
13May fix:
14https://bugs.freedesktop.org/show_bug.cgi?id=41668
15
16Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
17Signed-off-by: Dave Airlie <airlied@redhat.com>
18Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19
20---
21 drivers/gpu/drm/radeon/r100.c | 4 +---
22 drivers/gpu/drm/radeon/rs600.c | 4 +---
23 2 files changed, 2 insertions(+), 6 deletions(-)
24
25--- a/drivers/gpu/drm/radeon/r100.c
26+++ b/drivers/gpu/drm/radeon/r100.c
27@@ -681,9 +681,7 @@ int r100_irq_process(struct radeon_devic
28 WREG32(RADEON_AIC_CNTL, msi_rearm | RS400_MSI_REARM);
29 break;
30 default:
31- msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN;
32- WREG32(RADEON_MSI_REARM_EN, msi_rearm);
33- WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN);
34+ WREG32(RADEON_MSI_REARM_EN, RV370_MSI_REARM_EN);
35 break;
36 }
37 }
38--- a/drivers/gpu/drm/radeon/rs600.c
39+++ b/drivers/gpu/drm/radeon/rs600.c
40@@ -698,9 +698,7 @@ int rs600_irq_process(struct radeon_devi
41 WREG32(RADEON_BUS_CNTL, msi_rearm | RS600_MSI_REARM);
42 break;
43 default:
44- msi_rearm = RREG32(RADEON_MSI_REARM_EN) & ~RV370_MSI_REARM_EN;
45- WREG32(RADEON_MSI_REARM_EN, msi_rearm);
46- WREG32(RADEON_MSI_REARM_EN, msi_rearm | RV370_MSI_REARM_EN);
47+ WREG32(RADEON_MSI_REARM_EN, RV370_MSI_REARM_EN);
48 break;
49 }
50 }