drm/msm/adreno: print details in case of a protect fault interrupt
authorCraig Stout <cstout@chromium.org>
Fri, 19 Feb 2016 00:50:03 +0000 (16:50 -0800)
committerRob Clark <robdclark@gmail.com>
Thu, 3 Mar 2016 16:55:29 +0000 (11:55 -0500)
Signed-off-by: Craig Stout <cstout@chromium.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/adreno/a4xx_gpu.c

index c0d4c7ee94e6ed6e9d7a0c1fd7edccbab558eab5..3d07a5a1f338baf923e987f86cff023100786034 100644 (file)
@@ -348,6 +348,13 @@ static irqreturn_t a4xx_irq(struct msm_gpu *gpu)
        status = gpu_read(gpu, REG_A4XX_RBBM_INT_0_STATUS);
        DBG("%s: Int status %08x", gpu->name, status);
 
+       if (status & A4XX_INT0_CP_REG_PROTECT_FAULT) {
+               uint32_t reg = gpu_read(gpu, REG_A4XX_CP_PROTECT_STATUS);
+               printk("CP | Protected mode error| %s | addr=%x\n",
+                       reg & (1 << 24) ? "WRITE" : "READ",
+                       (reg & 0xFFFFF) >> 2);
+       }
+
        gpu_write(gpu, REG_A4XX_RBBM_INT_CLEAR_CMD, status);
 
        msm_gpu_retire(gpu);