Hi Tomi, On Tuesday 10 May 2016 16:10:59 Tomi Valkeinen wrote: > On 26/04/16 23:35, Laurent Pinchart wrote: > > Instead of going through a complicated registration mechanism, just > > call the OCP error IRQ handler directly from the main IRQ handler. > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com> > > --- > > > > drivers/gpu/drm/omapdrm/omap_drv.h | 1 - > > drivers/gpu/drm/omapdrm/omap_irq.c | 29 +++++++++++------------------ > > 2 files changed, 11 insertions(+), 19 deletions(-) > > > > diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h > > b/drivers/gpu/drm/omapdrm/omap_drv.h index 2d8fbdb2d39f..17dd3b98fc1a > > 100644 > > --- a/drivers/gpu/drm/omapdrm/omap_drv.h > > +++ b/drivers/gpu/drm/omapdrm/omap_drv.h
[snip] > > diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c > > b/drivers/gpu/drm/omapdrm/omap_irq.c index a90e093f5f42..499da6e2c5a4 > > 100644 > > --- a/drivers/gpu/drm/omapdrm/omap_irq.c > > +++ b/drivers/gpu/drm/omapdrm/omap_irq.c [snip] > > @@ -219,6 +213,14 @@ static void omap_irq_fifo_underflow(uint32_t > > irqstatus)> > > pr_cont("(0x%08x)\n", irqstatus); > > } > > > > +static void omap_irq_error_handler(uint32_t irqstatus) > > I think the function should mention "ocp_error". > > > +{ > > + if (!(irqstatus & DISPC_IRQ_OCP_ERR)) > > + return; > > + > > + DRM_ERROR("errors: %08x\n", irqstatus); > > Now we have a separate print for OCP error, so we could instead of > printing hex numbers, print "OCP error". I'll fix those two issues in v2. > > +} [snip] > > @@ -293,16 +296,6 @@ int omap_drm_irq_install(struct drm_device *dev) > > > > if (ret < 0) > > > > return ret; > > > > - error_handler->irq = omap_irq_error_handler; > > - error_handler->irqmask = DISPC_IRQ_OCP_ERR; > > - > > - /* for now ignore DISPC_IRQ_SYNC_LOST_DIGIT.. really I think > > - * we just need to ignore it while enabling tv-out > > - */ > > - error_handler->irqmask &= ~DISPC_IRQ_SYNC_LOST_DIGIT; > > - > > - omap_irq_register(dev, error_handler); > > This makes me wonder is the previous patch correct... It doesn't ignore > the SYNC_LOST_DIGIT. Oh, but is this ignore only for the error handler > that only prints. Ah, confusing =). The good news is that this patch removes the confusing code :-) -- Regards, Laurent Pinchart