aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_asic.h
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-01-24 11:37:19 -0500
committerAlex Deucher <alexander.deucher@amd.com>2013-01-31 16:24:57 -0500
commit123bc1832c33218dfa677a88c2c54bc1a48a9e72 (patch)
tree5ad2423f6e4752d7db0120b8ecb4af6a83a00df2 /drivers/gpu/drm/radeon/radeon_asic.h
parentf770d78ac159a96071e3c4e4ab97c262e79506d3 (diff)
drm/radeon: use the reset mask to determine if rings are hung
fetch the reset mask and check if the relevant ring flags are set to determine whether the ring is hung or not. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon_asic.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h
index 15d70e613076..e429e2574cae 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.h
+++ b/drivers/gpu/drm/radeon/radeon_asic.h
@@ -319,7 +319,7 @@ void r600_dma_semaphore_ring_emit(struct radeon_device *rdev,
319 bool emit_wait); 319 bool emit_wait);
320void r600_dma_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); 320void r600_dma_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
321bool r600_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); 321bool r600_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring);
322bool r600_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); 322bool r600_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp);
323int r600_asic_reset(struct radeon_device *rdev); 323int r600_asic_reset(struct radeon_device *rdev);
324int r600_set_surface_reg(struct radeon_device *rdev, int reg, 324int r600_set_surface_reg(struct radeon_device *rdev, int reg,
325 uint32_t tiling_flags, uint32_t pitch, 325 uint32_t tiling_flags, uint32_t pitch,
@@ -422,7 +422,8 @@ int evergreen_init(struct radeon_device *rdev);
422void evergreen_fini(struct radeon_device *rdev); 422void evergreen_fini(struct radeon_device *rdev);
423int evergreen_suspend(struct radeon_device *rdev); 423int evergreen_suspend(struct radeon_device *rdev);
424int evergreen_resume(struct radeon_device *rdev); 424int evergreen_resume(struct radeon_device *rdev);
425bool evergreen_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); 425bool evergreen_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp);
426bool evergreen_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp);
426int evergreen_asic_reset(struct radeon_device *rdev); 427int evergreen_asic_reset(struct radeon_device *rdev);
427void evergreen_bandwidth_update(struct radeon_device *rdev); 428void evergreen_bandwidth_update(struct radeon_device *rdev);
428void evergreen_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); 429void evergreen_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
@@ -480,6 +481,7 @@ int evergreen_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib);
480int evergreen_dma_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); 481int evergreen_dma_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib);
481void cayman_dma_ring_ib_execute(struct radeon_device *rdev, 482void cayman_dma_ring_ib_execute(struct radeon_device *rdev,
482 struct radeon_ib *ib); 483 struct radeon_ib *ib);
484bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring);
483bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); 485bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring);
484void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); 486void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm);
485 487
@@ -496,7 +498,8 @@ int si_init(struct radeon_device *rdev);
496void si_fini(struct radeon_device *rdev); 498void si_fini(struct radeon_device *rdev);
497int si_suspend(struct radeon_device *rdev); 499int si_suspend(struct radeon_device *rdev);
498int si_resume(struct radeon_device *rdev); 500int si_resume(struct radeon_device *rdev);
499bool si_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); 501bool si_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp);
502bool si_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp);
500int si_asic_reset(struct radeon_device *rdev); 503int si_asic_reset(struct radeon_device *rdev);
501void si_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); 504void si_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
502int si_irq_set(struct radeon_device *rdev); 505int si_irq_set(struct radeon_device *rdev);