Re: [PATCH 07/23] drm: omapdrm: Handle FIFO underflow IRQs internally

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxx>
> > ---
> > 
> >  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

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux