[PATCH 07/23] drm: omapdrm: Handle FIFO underflow IRQs internally
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sun Jun 5 23:21:26 UTC 2016
Hi Tomi,
On Monday 09 May 2016 17:42:43 Tomi Valkeinen wrote:
> On 26/04/16 23:35, Laurent Pinchart wrote:
> > As the FIFO underflow IRQ handler just prints an error message to the
> > kernel log, simplify the code by not registering one IRQ handler per
> > plane but print the messages directly from the main IRQ handler.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > ---
> >
> > drivers/gpu/drm/omapdrm/omap_drv.h | 2 +-
> > drivers/gpu/drm/omapdrm/omap_irq.c | 49 ++++++++++++++++++++++++++++---
> > drivers/gpu/drm/omapdrm/omap_plane.c | 24 ------------------
> > 3 files changed, 47 insertions(+), 28 deletions(-)
> >
> > @@ -233,6 +271,11 @@ int omap_drm_irq_install(struct drm_device *dev)
> >
> > INIT_LIST_HEAD(&priv->irq_list);
> >
> > + priv->irq_mask = DISPC_IRQ_GFX_FIFO_UNDERFLOW
> > + | DISPC_IRQ_VID1_FIFO_UNDERFLOW
> > + | DISPC_IRQ_VID2_FIFO_UNDERFLOW
> > + | DISPC_IRQ_VID3_FIFO_UNDERFLOW;
>
> Not all VID overlays exist on all DSS versions, so we shouldn't register
> irqs that don't exist on the HW.
Good point, I'll fix that.
> Also, I do like it that we deal with crtc or plane interrupts in
> omap_crtc or omap_plane. Would similar approach here work as you use in
> the following patches, i.e. just call underflow-handler func in
> omap_plane.c directly, instead of using the registration mechanism?
I can do that, but given that all we do is just printing error messages, it
sounds a bit overkill. I propose moving FIFO underflow IRQ handling to the
CRTC and plane code later when/if we need to perform more work in the
handlers.
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list