Am I right in this interpretation? First I need to get the
bus/device/func of the card, then I need to tell this to the driver
(which must already know this info). I then get back the IRQ number,
which I then pass back to the driver (which already know this) and
tell it to turn interrupts on.

Is this convolution a work around for the fight between DRM and fbdev
over who controls the interrupt handler? Then in a system where
fbdev/DRM are linked and coordinated these calls can be converted to
NOPs, right?

Or is this more complicated and there can be multiple cards handled
from a single DRM file handle? I though we had fixed thing so that
each card gets it own file handle.

   if (!info->irq) {
      info->irq = drmGetInterruptFromBusID(ctx->drmFD,
                                           ctx->pciBus,
                                           ctx->pciDevice,
                                           ctx->pciFunc);

      if ((drmCtlInstHandler(ctx->drmFD, info->irq)) != 0) {
         fprintf(stderr,
                 "[drm] failure adding irq handler, "
                 "there is a device already using that irq\n"
                 "[drm] falling back to irq-free operation\n");
         info->irq = 0;
      }
   }

-- 
Jon Smirl
[EMAIL PROTECTED]


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r 
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to