Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755579Ab2HVDcA (ORCPT ); Tue, 21 Aug 2012 23:32:00 -0400 Received: from mail-gh0-f174.google.com ([209.85.160.174]:60546 "EHLO mail-gh0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752663Ab2HVDb4 (ORCPT ); Tue, 21 Aug 2012 23:31:56 -0400 MIME-Version: 1.0 In-Reply-To: References: <1345521975-13708-1-git-send-email-manoj.iyer@canonical.com> <1345522015-13740-1-git-send-email-manoj.iyer@canonical.com> Date: Wed, 22 Aug 2012 11:31:55 +0800 Message-ID: Subject: Re: [PATCH 1/1] xhci: Unconditionally switch ports to xHCI on powerup From: Andiry Xu To: Manoj Iyer Cc: linux-kernel@vger.kernel.org, sarah.a.sharp@linux.intel.com, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2865 Lines: 88 On Wed, Aug 22, 2012 at 12:16 AM, Manoj Iyer wrote: > > Looks like in pci-quirks.c, we enter the do() while() loop, reach the end of > extended capabilities and goto hc_init: label, skipping the switch. Probably > moving the switch under the hc_init label might work? Currently we switch > unconditionally on resume, so we could do the same at powerup as well. > If this is a must-to-do thing for Intel Panther Point platform, then we need to make sure it's called on power up and resume. Yes, I think moving the code below hc_init label should work and I think it's a better solution than your original patch. Thanks, Andiry > > On Tue, 21 Aug 2012, Andiry Xu wrote: > >> On Tue, Aug 21, 2012 at 12:06 PM, wrote: >>> >>> From: Manoj Iyer >>> >>> USB 3.0 devices show up as high-speed devices on powerup, after an >>> s3 cycle they are correctly recognized as SuperSpeed. At powerup >>> unconditionally switch the port to xHCI like we do when we resume >>> from suspend. >>> >>> BugLink: http://bugs.launchpad.net/bugs/1000424 >>> >>> Signed-off-by: Manoj Iyer >>> --- >>> drivers/usb/host/xhci-pci.c | 8 ++++++++ >>> 1 file changed, 8 insertions(+) >>> >>> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c >>> index 9bfd4ca11..5c8dbea 100644 >>> --- a/drivers/usb/host/xhci-pci.c >>> +++ b/drivers/usb/host/xhci-pci.c >>> @@ -48,6 +48,14 @@ static int xhci_pci_reinit(struct xhci_hcd *xhci, >>> struct pci_dev *pdev) >>> if (!pci_set_mwi(pdev)) >>> xhci_dbg(xhci, "MWI active\n"); >>> >>> + /* >>> + * USB SuperSpeed ports are recognized as HighSpeed ports on >>> powerup >>> + * unconditionally switch the ports to xHCI like we do when >>> resume >>> + * from suspend. >>> + */ >>> + if (usb_is_intel_switchable_xhci(pdev)) >>> + usb_enable_xhci_ports(pdev); >>> + >> >> >> Strange. This should have been called during system power up, in >> quirk_usb_handoff_xhci() of pci_quirks.c. Do you see that routine get >> called during power up? >> >> Thanks, >> Andiry >> >>> xhci_dbg(xhci, "Finished xhci_pci_reinit\n"); >>> return 0; >>> } >>> -- >>> 1.7.9.5 >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> >> > > -- > ==================== > Manoj Iyer > Ubuntu/Canonical > Hardware Enablement > ==================== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/