All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex,Shi" <alex.shi@intel.com>
To: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stern@rowland.harvard.edu, Greg KH <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org, andiry.xu@amd.com,
	linux-kernel@vger.kernel.org, Oliver Neukum <oneukum@suse.de>,
	Takashi Iwai <tiwai@suse.de>,
	trenn@suse.de, linux-pci@vger.kernel.org,
	Michal Marek <MMarek@suse.com>
Subject: Re: [PATCH] usb: enable pci MSI/MSIX in usb core
Date: Wed, 08 Feb 2012 09:26:32 +0800	[thread overview]
Message-ID: <1328664392.12669.233.camel@debian> (raw)
In-Reply-To: <20120207221317.GA6103@xanatos>

On Tue, 2012-02-07 at 14:13 -0800, Sarah Sharp wrote:
> On Tue, Feb 07, 2012 at 09:27:43AM -0800, Sarah Sharp wrote:
> > I'm trying to track down an oops on my for-usb-linus queue that could
> > either be related to Alex's original MSI work around patch, or the patch
> > Oliver posted for working around PCI MMIO not being enabled fast enough.
> > I don't want to review this MSI improvement patch until I'm sure the
> > original MSI work around patch is stable.
> > 
> > Alex, please give me time to debug bug fixes for 3.3 before pushing on
> > features for 3.4.
> 
> Alex, your original MSI enabling patch simply does not work.  The xHCI
> PCI driver was marked as const and the xHCI PCI probe function oopsed as
> soon as it tried to add HCD_MSI_FIRST to driver->flags.  Please test all
> the patches in your patchsets individually to make sure they don't cause
> bugs, as this will break git-bisect.  It's especially troublesome to not
> test a patch I've said will be needed for stable, since we really try
> not to break stable. </grumpy maintainer rant>

I am sorry for bring trouble on the patch. 
But all my patches were tested with possible USB3 HCD in our site,
include a NEC device and the BIOS broken Intel panther point HCD.

[    3.772513] xhci_hcd 0000:00:14.0: can't derive routing for PCI INT A
[    3.772515] xhci_hcd 0000:00:14.0: PCI INT A: no GSI
[    3.772552] xhci_hcd 0000:00:14.0: setting latency timer to 64
[    3.772593] xhci_hcd 0000:00:14.0: irq 45 for MSI/MSI-X
[    3.772602] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    3.772639] xhci_hcd 0000:00:14.0: new USB bus registered, assigned
bus number 1

Maybe some kernel configuration related with this oops? 

> 
> The oops brings up an interesting point.  I think the reason the xHCI
> PCI driver structure is marked as const is because it's shared across
> all xHCI hosts in the system.  Even if you remove the const keyword, you
> could be modifying the flags while another xHCI host controller is being
> initialized.
> 
> I think PCI probe isn't run in parallel, but you could still have the
> case where the Intel Panther Point xHCI PCI probe runs first,
> HCD_MSI_FIRST gets added to the hcd driver flags, and then the PCI probe
> runs for a Fresco Logic add-in card that doesn't handle MSI, and the USB
> core doesn't attempt to allocate the legacy IRQ because HCD_MSI_FIRST is
> set.  Then the Fresco Logic host controller will be left with no
> interrupt.

Yes, you are right here.
So, the first patch naturally have this problem. But my latest patch:
enable MSI in usb-core won't the problem. Because it direct skip the
Fresco Card for MSI, not get help from flags. 

So, let's drop the previous 2 patches and using this latest one? 
> 
> 
> Alan, is the hc_driver structure (xhci_pci_hc_driver) shared across all
> xHCI PCI hosts in the system?
> 
> Sarah Sharp



  reply	other threads:[~2012-02-08  1:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-06 12:29 [PATCH] usb: enable pci MSI/MSIX in usb core Alex Shi
2012-02-07 11:59 ` Alex Shi
2012-02-07 14:42   ` Greg KH
2012-02-07 17:27     ` Sarah Sharp
2012-02-07 22:13       ` Sarah Sharp
2012-02-08  1:26         ` Alex,Shi [this message]
2012-02-08  6:27           ` Alex,Shi
2012-02-08  9:11             ` Alex,Shi
2012-02-14  0:20               ` Sarah Sharp
2012-02-14  0:25                 ` [RFT] USB: Try MSI first before line IRQ for Intel PCIe USB3 HCD Sarah Sharp
2012-02-14  4:43                   ` Alex,Shi
2012-02-16  2:36                 ` [PATCH] usb: enable pci MSI/MSIX in usb core Alex,Shi
2012-02-17  6:44                   ` Alex,Shi
2012-02-17  8:13                     ` Clemens Ladisch
2012-02-17  8:46                       ` Alex,Shi
2012-02-17 10:15                         ` Clemens Ladisch
2012-02-18  6:28                           ` Andiry Xu
2012-02-20  0:57                             ` Alex,Shi
2012-02-20  3:52                     ` Alex,Shi
2012-02-08 15:07         ` Alan Stern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1328664392.12669.233.camel@debian \
    --to=alex.shi@intel.com \
    --cc=MMarek@suse.com \
    --cc=andiry.xu@amd.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=oneukum@suse.de \
    --cc=sarah.a.sharp@linux.intel.com \
    --cc=stern@rowland.harvard.edu \
    --cc=tiwai@suse.de \
    --cc=trenn@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.