Errors will be reported in /sys/kernel/debug/tracing/trace, still not noisy enough, but better than silently ignoring them. E.g: <idle>-0 [000] d.h1 183.851864: malidp_de_irq: error occurred DE_STATUS is 0x00000001 surfaceflinger-803 [000] d.h1 197.993003: malidp_de_irq: error occurred DE_STATUS is 0x00000001 surfaceflinger-803 [000] d.h1 213.595119: malidp_de_irq: error occurred DE_STATUS is 0x00000001 surfaceflinger-803 [000] d.h. 217.754371: malidp_de_irq: error occurred DE_STATUS is 0x00000001 surfaceflinger-803 [000] d.h. 217.820848: malidp_de_irq: error occurred DE_STATUS is 0x00000001 surfaceflinger-803 [000] d.h. 217.854034: malidp_de_irq: error occurred DE_STATUS is 0x00000001 Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@xxxxxxx> --- drivers/gpu/drm/arm/malidp_hw.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_hw.c index 2bfb542..8e7d49f 100644 --- a/drivers/gpu/drm/arm/malidp_hw.c +++ b/drivers/gpu/drm/arm/malidp_hw.c @@ -797,6 +797,9 @@ static irqreturn_t malidp_de_irq(int irq, void *arg) if (status & de->vsync_irq) drm_crtc_handle_vblank(&malidp->crtc); + if (status & ~de->vsync_irq & de->irq_mask) + trace_printk("error occurred DE_STATUS is 0x%08X\n", status); + malidp_hw_clear_irq(hwdev, MALIDP_DE_BLOCK, status); return (ret == IRQ_NONE) ? IRQ_HANDLED : ret; @@ -880,6 +883,9 @@ static irqreturn_t malidp_se_irq(int irq, void *arg) status &= mask; /* ToDo: status decoding and firing up of VSYNC and page flip events */ + if (status & ~se->vsync_irq & se->irq_mask) + trace_printk("error occurred SE_STATUS is 0x%08X\n", status); + malidp_hw_clear_irq(hwdev, MALIDP_SE_BLOCK, status); return IRQ_HANDLED; -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel