diff options
author | Jerome Glisse <jglisse@redhat.com> | 2011-08-24 16:00:17 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-08-30 05:55:10 -0400 |
commit | a49a50dad48586d42ebac1a6730c3a3cd5603421 (patch) | |
tree | caab1e68528de81ca9075bb3efd2edf96edbe498 | |
parent | 6380c509215b10c44aec8760e65b2e7f1827d009 (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.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/ni.c | 1 |
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); |