Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/radeon/cik: log and handle VM page fault interrupts

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

+14
+10
drivers/gpu/drm/radeon/cik.c
··· 3676 3676 break; 3677 3677 } 3678 3678 break; 3679 + case 146: 3680 + case 147: 3681 + dev_err(rdev->dev, "GPU fault detected: %d 0x%08x\n", src_id, src_data); 3682 + dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x%08X\n", 3683 + RREG32(VM_CONTEXT1_PROTECTION_FAULT_ADDR)); 3684 + dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x%08X\n", 3685 + RREG32(VM_CONTEXT1_PROTECTION_FAULT_STATUS)); 3686 + /* reset addr and status */ 3687 + WREG32_P(VM_CONTEXT1_CNTL2, 1, ~1); 3688 + break; 3679 3689 case 176: /* GFX RB CP_INT */ 3680 3690 case 177: /* GFX IB CP_INT */ 3681 3691 radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX);
+4
drivers/gpu/drm/radeon/cikd.h
··· 95 95 #define VM_INVALIDATE_REQUEST 0x1478 96 96 #define VM_INVALIDATE_RESPONSE 0x147c 97 97 98 + #define VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x14DC 99 + 100 + #define VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x14FC 101 + 98 102 #define VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR 0x1518 99 103 #define VM_CONTEXT1_PROTECTION_FAULT_DEFAULT_ADDR 0x151c 100 104