diff options
author | Christian König <deathsimple@vodafone.de> | 2012-05-02 09:11:20 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-05-03 04:16:33 -0400 |
commit | 069211e55561fdaf86d66eedacca57eaad910757 (patch) | |
tree | 07a646396317bef842e32097542c8930a6e2bd85 /drivers/gpu/drm/radeon/r600.c | |
parent | 6c6f478370eccfbfafbdc6fc55c0def03e58f124 (diff) |
drm/radeon: move lockup detection code into radeon_ring.c
It isn't chipset specific, so it makes no sense
to have that inside r100.c.
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 6070f9099507..45d52ccc457a 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
@@ -1350,19 +1350,13 @@ bool r600_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) | |||
1350 | u32 srbm_status; | 1350 | u32 srbm_status; |
1351 | u32 grbm_status; | 1351 | u32 grbm_status; |
1352 | u32 grbm_status2; | 1352 | u32 grbm_status2; |
1353 | struct r100_gpu_lockup *lockup; | ||
1354 | int r; | 1353 | int r; |
1355 | 1354 | ||
1356 | if (rdev->family >= CHIP_RV770) | ||
1357 | lockup = &rdev->config.rv770.lockup; | ||
1358 | else | ||
1359 | lockup = &rdev->config.r600.lockup; | ||
1360 | |||
1361 | srbm_status = RREG32(R_000E50_SRBM_STATUS); | 1355 | srbm_status = RREG32(R_000E50_SRBM_STATUS); |
1362 | grbm_status = RREG32(R_008010_GRBM_STATUS); | 1356 | grbm_status = RREG32(R_008010_GRBM_STATUS); |
1363 | grbm_status2 = RREG32(R_008014_GRBM_STATUS2); | 1357 | grbm_status2 = RREG32(R_008014_GRBM_STATUS2); |
1364 | if (!G_008010_GUI_ACTIVE(grbm_status)) { | 1358 | if (!G_008010_GUI_ACTIVE(grbm_status)) { |
1365 | r100_gpu_lockup_update(lockup, ring); | 1359 | radeon_ring_lockup_update(ring); |
1366 | return false; | 1360 | return false; |
1367 | } | 1361 | } |
1368 | /* force CP activities */ | 1362 | /* force CP activities */ |
@@ -1374,7 +1368,7 @@ bool r600_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) | |||
1374 | radeon_ring_unlock_commit(rdev, ring); | 1368 | radeon_ring_unlock_commit(rdev, ring); |
1375 | } | 1369 | } |
1376 | ring->rptr = RREG32(ring->rptr_reg); | 1370 | ring->rptr = RREG32(ring->rptr_reg); |
1377 | return r100_gpu_cp_is_lockup(rdev, lockup, ring); | 1371 | return radeon_ring_test_lockup(rdev, ring); |
1378 | } | 1372 | } |
1379 | 1373 | ||
1380 | int r600_asic_reset(struct radeon_device *rdev) | 1374 | int r600_asic_reset(struct radeon_device *rdev) |