diff options
author | Christian König <christian.koenig@amd.com> | 2014-07-07 11:16:29 +0200 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2014-07-10 17:01:28 -0400 |
commit | 9b7d786b900baf7c0d1a7e211570aef1cb27590f (patch) | |
tree | 26afcf7da24767f18dab3adbccfa17f2b6f7101a /drivers/gpu/drm/radeon/si.c | |
parent | f6be5e64500abbba44e191e1ca0f3366c7d0291b (diff) | |
download | lwn-9b7d786b900baf7c0d1a7e211570aef1cb27590f.tar.gz lwn-9b7d786b900baf7c0d1a7e211570aef1cb27590f.zip |
drm/radeon: only print meaningful VM faults
Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/si.c')
-rw-r--r-- | drivers/gpu/drm/radeon/si.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 730cee2c34cf..eba0225259a4 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c @@ -6376,14 +6376,16 @@ restart_ih: case 147: addr = RREG32(VM_CONTEXT1_PROTECTION_FAULT_ADDR); status = RREG32(VM_CONTEXT1_PROTECTION_FAULT_STATUS); + /* reset addr and status */ + WREG32_P(VM_CONTEXT1_CNTL2, 1, ~1); + if (addr == 0x0 && status == 0x0) + break; dev_err(rdev->dev, "GPU fault detected: %d 0x%08x\n", src_id, src_data); dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x%08X\n", addr); dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x%08X\n", status); si_vm_decode_fault(rdev, status, addr); - /* reset addr and status */ - WREG32_P(VM_CONTEXT1_CNTL2, 1, ~1); break; case 176: /* RINGID0 CP_INT */ radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX); |