diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-01-18 19:17:22 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-01-31 16:24:53 -0500 |
commit | 168757ea854b7dd8eac3962753ed75a542ebca92 (patch) | |
tree | 2e7190c1fbdedf3da36f76a0215d711d9f3e62c4 /drivers/gpu/drm/radeon/evergreen.c | |
parent | a65a4369f7a69281b65ed42b7fa2a8e8d6ff585f (diff) |
drm/radeon: use status regs to determine what to reset (cayman)
When we attempt the reset the GPU, look at the status registers
to determine what blocks need to be reset.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
-rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 8b73743b0b3f..fd5e0025b656 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -2349,9 +2349,13 @@ void evergreen_print_gpu_status_regs(struct radeon_device *rdev) RREG32(CP_STAT)); dev_info(rdev->dev, " R_00D034_DMA_STATUS_REG = 0x%08X\n", RREG32(DMA_STATUS_REG)); + if (rdev->family >= CHIP_CAYMAN) { + dev_info(rdev->dev, " R_00D834_DMA_STATUS_REG = 0x%08X\n", + RREG32(DMA_STATUS_REG + 0x800)); + } } -static bool evergreen_is_display_hung(struct radeon_device *rdev) +bool evergreen_is_display_hung(struct radeon_device *rdev) { u32 crtc_hung = 0; u32 crtc_status[6]; |