Re: xhci patch: disable MSI for Fresco Logic 1400 controller

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

 



Hi Marcel,

On Wed, Apr 11, 2012 at 01:04:22AM +0200, Marcel Schaal wrote:
> Hi Sarah,
> 
> please find attached a patch that disables MSI for Freso Logic 1400 USB3
> controllers. I own a Asus G73Jw notebook which uses one of these
> controllers. It doesn't work using stock Fedora 15/16 (Kernel 2.4.42 to
> 3.3.1), but starts working if "pci=nomsi" is applied to Linux's grub
> command line.
> In commit [1] you say that "Some Fresco Logic hosts ...
> advertise MSI, but fail to actually generate MSI interrupts". I think this
> 1400 controller might be one of these, but I don't have any other computer
> that feature one of these devices. So I can't test it any further. I
> attached output  [2] from lspci for this host as well.

Thanks for the patch.  I suspected that there were more Fresco Logic
hosts that had this issue, so I'm glad you figured out how to fix it.

> This is my first Linux patch, so feel free to comment or modify on it.

Ok, in general, you should Cc the linux-usb mailing list (or the mailing
list for the project you're patching) instead of just mailing the
maintainer.  That way if I happen to drop a patch, someone else will
notice.  It also helps get more eyes on your patches to catch more bugs.

Also, when you send a patch, you need to send it inline in the body of
an email, not as an attachment.  That makes it easier for people to
review, and easier for the maintainer to apply.  It looks like your
patch contained all the same information as your email, which is good
because we want the important info to go into the description of the
patch, not get lost in the mailing list archives.

If you want to make comments that you don't want included in your patch
description, you can add them after the --- line, before the diff.  git
will ignore any comments placed there.  It would look something like
this:

>From e51e2a3b8e2c1693166cfef5f59cec261a666d65 Mon Sep 17 00:00:00 2001
From: Marcel Schaal <mail@xxxxxxxxxxxxxxx>
Date: Wed, 11 Apr 2012 00:21:55 +0200
Subject: [PATCH 1/1] xhci: Disable MSI for Fresco Logic 1400 hosts

This is a follow up fix for commit f5182b4155b9d686c5540a6822486400e34ddd98,
which disables MSI on several Fresco Logic hosts. The 1400 host on my Asus
G73Jw advertises MSI, but it doesn't work when using any USB device on this
host. Booting Linux with nomsi parameter makes the host work fine.

Signed-off-by: Marcel Schaal <mail@xxxxxxxxxxxxxxx>
---

This comment will be ignored.

 drivers/usb/host/xhci-pci.c |    6 ++++--


As for your actual patch:

> From e51e2a3b8e2c1693166cfef5f59cec261a666d65 Mon Sep 17 00:00:00 2001
> From: Marcel Schaal <mail@xxxxxxxxxxxxxxx>
> Date: Wed, 11 Apr 2012 00:21:55 +0200
> Subject: [PATCH 1/1] xhci: Disable MSI for Fresco Logic 1400 hosts

You don't need to pass the -n flag to git format patch if there's only
one patch.  So the 1/1 is unnecessary.

In general, what I do after I use git format-patch is to run `mutt -H
file.patch`  Then that creates an email with all the right headers.

> This is a follow up fix for commit f5182b4155b9d686c5540a6822486400e34ddd98,
> which disables MSI on several Fresco Logic hosts. The 1400 host on my Asus
> G73Jw advertises MSI, but it doesn't work when using any USB device on this
> host. Booting Linux with nomsi parameter makes the host work fine.
> 
> Signed-off-by: Marcel Schaal <mail@xxxxxxxxxxxxxxx>
> ---
>  drivers/usb/host/xhci-pci.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index ef98b38..d9e6e75 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -29,6 +29,7 @@
>  /* Device for a quirk */
>  #define PCI_VENDOR_ID_FRESCO_LOGIC	0x1b73
>  #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK	0x1000
> +#define PCI_DEVICE_ID_FRESCO_LOGIC_PDK2	0x1400

Please call this new PCI device ID PCI_DEVICE_ID_FRESCO_LOGIC_ASUS_G73.
"PDK" meant product development kit from the USB-IF.  Your host
controller is a real product, not a kit part, so we'll pick a different
name.

>  #define PCI_VENDOR_ID_ETRON		0x1b6f
>  #define PCI_DEVICE_ID_ASROCK_P67	0x7023
> @@ -57,8 +58,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>  	struct pci_dev		*pdev = to_pci_dev(dev);
>  
>  	/* Look for vendor-specific quirks */
> -	if (pdev->vendor == PCI_VENDOR_ID_FRESCO_LOGIC &&
> -			pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK) {
> +	if (pdev->vendor == PCI_VENDOR_ID_FRESCO_LOGIC && (

Please move that '(' down to the start of the next line.  Dangling
parenthesis look odd.

Did you run scripts/checkpatch.pl on this patch?  You can do that with a
command like this:

git show HEAD | perl scripts/checkpatch.pl -

That script will warn you about any coding style issues.  You might want
to read Documentation/CodingStyle and Documentation/SubmittingPatches as
well.

> +			pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK ||
> +			pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK2)) {
>  		if (pdev->revision == 0x0) {
>  			xhci->quirks |= XHCI_RESET_EP_QUIRK;
>  			xhci_dbg(xhci, "QUIRK: Fresco Logic xHC needs configure"

Otherwise the patch looks fine.

Sarah Sharp
--
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