|
@@ -3613,6 +3613,8 @@ static void cik_gpu_init(struct radeon_device *rdev)
|
|
}
|
|
}
|
|
|
|
|
|
WREG32(GRBM_CNTL, GRBM_READ_TIMEOUT(0xff));
|
|
WREG32(GRBM_CNTL, GRBM_READ_TIMEOUT(0xff));
|
|
|
|
+ WREG32(SRBM_INT_CNTL, 0x1);
|
|
|
|
+ WREG32(SRBM_INT_ACK, 0x1);
|
|
|
|
|
|
WREG32(BIF_FB_EN, FB_READ_EN | FB_WRITE_EN);
|
|
WREG32(BIF_FB_EN, FB_READ_EN | FB_WRITE_EN);
|
|
|
|
|
|
@@ -7230,6 +7232,8 @@ static void cik_disable_interrupt_state(struct radeon_device *rdev)
|
|
WREG32(CP_ME2_PIPE3_INT_CNTL, 0);
|
|
WREG32(CP_ME2_PIPE3_INT_CNTL, 0);
|
|
/* grbm */
|
|
/* grbm */
|
|
WREG32(GRBM_INT_CNTL, 0);
|
|
WREG32(GRBM_INT_CNTL, 0);
|
|
|
|
+ /* SRBM */
|
|
|
|
+ WREG32(SRBM_INT_CNTL, 0);
|
|
/* vline/vblank, etc. */
|
|
/* vline/vblank, etc. */
|
|
WREG32(LB_INTERRUPT_MASK + EVERGREEN_CRTC0_REGISTER_OFFSET, 0);
|
|
WREG32(LB_INTERRUPT_MASK + EVERGREEN_CRTC0_REGISTER_OFFSET, 0);
|
|
WREG32(LB_INTERRUPT_MASK + EVERGREEN_CRTC1_REGISTER_OFFSET, 0);
|
|
WREG32(LB_INTERRUPT_MASK + EVERGREEN_CRTC1_REGISTER_OFFSET, 0);
|
|
@@ -8046,6 +8050,10 @@ restart_ih:
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
|
|
+ case 96:
|
|
|
|
+ DRM_ERROR("SRBM_READ_ERROR: 0x%x\n", RREG32(SRBM_READ_ERROR));
|
|
|
|
+ WREG32(SRBM_INT_ACK, 0x1);
|
|
|
|
+ break;
|
|
case 124: /* UVD */
|
|
case 124: /* UVD */
|
|
DRM_DEBUG("IH: UVD int: 0x%08x\n", src_data);
|
|
DRM_DEBUG("IH: UVD int: 0x%08x\n", src_data);
|
|
radeon_fence_process(rdev, R600_RING_TYPE_UVD_INDEX);
|
|
radeon_fence_process(rdev, R600_RING_TYPE_UVD_INDEX);
|