All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm: Improve manual IRQ installation documentation
Date: Thu, 20 Jun 2013 12:40:26 +0200	[thread overview]
Message-ID: <20130620104026.GA28308@manwe> (raw)
In-Reply-To: <13858203.X70ZrUFadi@avalon>


[-- Attachment #1.1: Type: text/plain, Size: 3124 bytes --]

On Thu, Jun 20, 2013 at 12:17:25PM +0200, Laurent Pinchart wrote:
> Hi Thierry,
> 
> On Thursday 20 June 2013 12:10:47 Thierry Reding wrote:
> > On Wed, Jun 19, 2013 at 02:00:45PM +0200, Laurent Pinchart wrote:
> > > Signed-off-by: Laurent Pinchart
> > > <laurent.pinchart+renesas@ideasonboard.com>
> > > ---
> > > 
> > >  Documentation/DocBook/drm.tmpl | 14 ++++++++------
> > >  1 file changed, 8 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/Documentation/DocBook/drm.tmpl
> > > b/Documentation/DocBook/drm.tmpl index f9df3b8..738b727 100644
> > > --- a/Documentation/DocBook/drm.tmpl
> > > +++ b/Documentation/DocBook/drm.tmpl
> > > @@ -186,11 +186,12 @@
> > > 
> > >            <varlistentry>
> > >            
> > >              <term>DRIVER_HAVE_IRQ</term><term>DRIVER_IRQ_SHARED</term>
> > >              <listitem><para>
> > > 
> > > -              DRIVER_HAVE_IRQ indicates whether the driver has an IRQ
> > > handler. The -              DRM core will automatically register an
> > > interrupt handler when the -              flag is set. DRIVER_IRQ_SHARED
> > > indicates whether the device &amp; -              handler support shared
> > > IRQs (note that this is required of PCI -              drivers).
> > > +              DRIVER_HAVE_IRQ indicates whether the driver has an IRQ
> > > handler +              managed by the DRM Core. The core will support
> > > simple IRQ handler +              installation when the flag is set. The
> > > installation process is +              described in <xref
> > > linkend="drm-irq-registration"/>.</para> +             
> > > <para>DRIVER_IRQ_SHARED indicates whether the device &amp; handler +     
> > >         support shared IRQs (note that this is required of PCI  drivers).> 
> > >              </para></listitem>
> > >            
> > >            </varlistentry>
> > >            <varlistentry>
> > > 
> > > @@ -344,7 +345,8 @@ char *date;</synopsis>
> > > 
> > >            The DRM core tries to facilitate IRQ handler registration and
> > >            unregistration by providing
> > >            <function>drm_irq_install</function> and
> > >            <function>drm_irq_uninstall</function> functions. Those
> > >            functions only
> > > 
> > > -          support a single interrupt per device.
> > > +          support a single interrupt per device, devices that use more
> > > than one +          IRQs need to be handled manually.
> > 
> > Perhaps this should mention that if you handle IRQ installation manually
> > you also need to manually set drm->irq_enabled = 1, as otherwise things
> > like DRM_IOCTL_WAIT_VBLANK won't work properly.
> 
> That's only needed if DRIVER_HAVE_IRQ is set, otherwise the drm_wait_vblank() 
> function skips the irq_enabled check.

Not quite. There's another check for dev->irq_enabled in the
DRM_WAIT_ON() so it'll never actually block. Arguably this could be
solved by making the DRM_WAIT_ON() condition drop the !dev->irq_enabled
in case DRIVER_HAVE_IRQ isn't set.

I'll see if I can find the time to come up with a patch.

Thierry

[-- Attachment #1.2: Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

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

  reply	other threads:[~2013-06-20 10:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-19 12:00 [PATCH] drm: Improve manual IRQ installation documentation Laurent Pinchart
2013-06-20 10:10 ` Thierry Reding
2013-06-20 10:17   ` Laurent Pinchart
2013-06-20 10:40     ` Thierry Reding [this message]
2013-06-20 10:46       ` Laurent Pinchart
2013-06-20 11:00         ` Thierry Reding
2013-06-20 14:55           ` Daniel Vetter
2013-06-22 10:56             ` Thierry Reding
2013-06-24  7:19               ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130620104026.GA28308@manwe \
    --to=thierry.reding@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.