aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2011-08-24 16:00:17 -0400
committerDave Airlie <airlied@redhat.com>2011-08-30 05:55:10 -0400
commita49a50dad48586d42ebac1a6730c3a3cd5603421 (patch)
treecaab1e68528de81ca9075bb3efd2edf96edbe498
parent6380c509215b10c44aec8760e65b2e7f1827d009 (diff)
drm/radeon/kms: evergreen & ni reset SPI block on CP resume
For some reason SPI block is in broken state after module unloading. This lead to broken rendering after reloading module. Fix this by reseting SPI block in CP resume function Signed-off-by: Jerome Glisse <jglisse@redhat.com Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/radeon/evergreen.c1
-rw-r--r--drivers/gpu/drm/radeon/ni.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
index fb5fa0898868..d8d71a399f52 100644
--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -1357,6 +1357,7 @@ int evergreen_cp_resume(struct radeon_device *rdev)
1357 SOFT_RESET_PA | 1357 SOFT_RESET_PA |
1358 SOFT_RESET_SH | 1358 SOFT_RESET_SH |
1359 SOFT_RESET_VGT | 1359 SOFT_RESET_VGT |
1360 SOFT_RESET_SPI |
1360 SOFT_RESET_SX)); 1361 SOFT_RESET_SX));
1361 RREG32(GRBM_SOFT_RESET); 1362 RREG32(GRBM_SOFT_RESET);
1362 mdelay(15); 1363 mdelay(15);
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
index 44c4750f4518..a2e00fa9c618 100644
--- a/drivers/gpu/drm/radeon/ni.c
+++ b/drivers/gpu/drm/radeon/ni.c
@@ -1159,6 +1159,7 @@ int cayman_cp_resume(struct radeon_device *rdev)
1159 SOFT_RESET_PA | 1159 SOFT_RESET_PA |
1160 SOFT_RESET_SH | 1160 SOFT_RESET_SH |
1161 SOFT_RESET_VGT | 1161 SOFT_RESET_VGT |
1162 SOFT_RESET_SPI |
1162 SOFT_RESET_SX)); 1163 SOFT_RESET_SX));
1163 RREG32(GRBM_SOFT_RESET); 1164 RREG32(GRBM_SOFT_RESET);
1164 mdelay(15); 1165 mdelay(15);