Re: [PATCH v3 1/2] USB: Try MSI first before line IRQ for Intel PCIe USB3 HCD

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

 



On 01/11/2012 02:59 PM, Alex Shi wrote:
> We have a PCI USB xhci host controller on a new platform. It have no
> line IRQ definition in BIOS. So the Linux driver refuses to initial this
> controller. But Windows works well for it depending on MSI.
> 
> Actually, Linux also can work for MSI. This patch skips the first line
> IRQ checking for our HCD in usb-core pci probe, then try to enable MSI
> firstly. That make this HCD works well under Linux.
> 
> Thanks for Sarah's suggestion and review for this patch.
> 
> Signed-off-by: Alex Shi <alex.shi@xxxxxxxxx>
> ---
>  drivers/usb/core/hcd-pci.c  |    3 ++-
>  drivers/usb/core/hcd.c      |    8 ++++++--
>  drivers/usb/host/xhci-pci.c |    6 ++++++
>  drivers/usb/host/xhci.c     |    5 +++++
>  include/linux/pci_ids.h     |    1 +
>  include/linux/usb/hcd.h     |    1 +
>  6 files changed, 21 insertions(+), 3 deletions(-)
> 

...

> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index 2aaee0c..b66f538 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -2779,6 +2779,7 @@
>  #define PCI_DEVICE_ID_INTEL_IXP4XX	0x8500
>  #define PCI_DEVICE_ID_INTEL_IXP2800	0x9004
>  #define PCI_DEVICE_ID_INTEL_S21152BB	0xb152
> +#define PCI_DEVICE_ID_INTEL_USB_XHCI	0x1e31
>  

Since this device ID is not used by anyone, you'd better put it in xhci
driver.

And I don't think PCI_DEVICE_ID_INTEL_USB_XHCI is a good enough name -
are you sure all the Intel xHCI host controllers will share the same PCI
device ID?

Thanks,
Andiry


>  #define PCI_VENDOR_ID_SCALEMP		0x8686
>  #define PCI_DEVICE_ID_SCALEMP_VSMP_CTL	0x1010
> diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h
> index 03354d5..ea1637b 100644
> --- a/include/linux/usb/hcd.h
> +++ b/include/linux/usb/hcd.h
> @@ -212,6 +212,7 @@ struct hc_driver {
>  #define	HCD_MEMORY	0x0001		/* HC regs use memory (else I/O) */
>  #define	HCD_LOCAL_MEM	0x0002		/* HC needs local memory */
>  #define	HCD_SHARED	0x0004		/* Two (or more) usb_hcds share HW */
> +#define	HCD_MSI_FIRST	0x0008		/* Try to get MSI first, PCI only */
>  #define	HCD_USB11	0x0010		/* USB 1.1 */
>  #define	HCD_USB2	0x0020		/* USB 2.0 */
>  #define	HCD_USB3	0x0040		/* USB 3.0 */


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux