[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F3E0C3D.4030307@ladisch.de>
Date: Fri, 17 Feb 2012 09:13:49 +0100
From: Clemens Ladisch <clemens@...isch.de>
To: "Alex,Shi" <alex.shi@...el.com>
CC: Sarah Sharp <sarah.a.sharp@...ux.intel.com>,
stern@...land.harvard.edu, Greg KH <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org, andiry.xu@....com,
linux-kernel@...r.kernel.org, Oliver Neukum <oneukum@...e.de>,
Takashi Iwai <tiwai@...e.de>, trenn@...e.de,
linux-pci@...r.kernel.org, Michal Marek <MMarek@...e.com>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists