Messages in this thread | | | Date | Fri, 17 Feb 2012 09:13:49 +0100 | From | Clemens Ladisch <> | Subject | Re: [PATCH] usb: enable pci MSI/MSIX in usb core |
| |
Alex,Shi wrote: > On Thu, 2012-02-16 at 10:36 +0800, Alex,Shi wrote: >>>> +/* msi irq handler should be here, if driver has */ >>>> +irqreturn_t hcd_msi_irq(int irq, struct usb_hcd *hcd) >>>> +{ >>>> + return hcd->driver->irq(hcd); >>>> +} >>> >>> This works for now, but it isn't going to work in the future. We need >>> the USB core to provide us with the irq number so we can map the MSI-X >>> interrupt to the event ring that generated the interrupt, whenever we >>> get around to adding multiple event rings. >> >> Do you mean to add 2 new vectors for MSI/MSIX in hc_driver? > > + irqreturn_t (*msi_irq) (struct usb_hcd *hcd); > + irqreturn_t (*msix_irq) (struct usb_hcd *hcd);
The controller driver will need to know which of the multiple MSI-X interrupts has been raised:
irqreturn_t (*msix_irq)(struct usb_hcd *hcd, unsigned int nr_or_index);
Regards, Clemens
| |