1. 06 12月, 2018 1 次提交
  2. 10 11月, 2018 2 次提交
  3. 28 9月, 2018 2 次提交
  4. 25 6月, 2018 2 次提交
    • A
      USB: xhci-hcd: Add get_resuming_ports method · 8f9cc83c
      Alan Stern 提交于
      This patch adds support for the new get_resuming_ports HCD method to
      the xhci-hcd driver.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Acked-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8f9cc83c
    • M
      xhci: Fix perceived dead host due to runtime suspend race with event handler · 229bc19f
      Mathias Nyman 提交于
      Don't rely on event interrupt (EINT) bit alone to detect pending port
      change in resume. If no change event is detected the host may be suspended
      again, oterwise roothubs are resumed.
      
      There is a lag in xHC setting EINT. If we don't notice the pending change
      in resume, and the controller is runtime suspeded again, it causes the
      event handler to assume host is dead as it will fail to read xHC registers
      once PCI puts the controller to D3 state.
      
      [  268.520969] xhci_hcd: xhci_resume: starting port polling.
      [  268.520985] xhci_hcd: xhci_hub_status_data: stopping port polling.
      [  268.521030] xhci_hcd: xhci_suspend: stopping port polling.
      [  268.521040] xhci_hcd: // Setting command ring address to 0x349bd001
      [  268.521139] xhci_hcd: Port Status Change Event for port 3
      [  268.521149] xhci_hcd: resume root hub
      [  268.521163] xhci_hcd: port resume event for port 3
      [  268.521168] xhci_hcd: xHC is not running.
      [  268.521174] xhci_hcd: handle_port_status: starting port polling.
      [  268.596322] xhci_hcd: xhci_hc_died: xHCI host controller not responding, assume dead
      
      The EINT lag is described in a additional note in xhci specs 4.19.2:
      
      "Due to internal xHC scheduling and system delays, there will be a lag
      between a change bit being set and the Port Status Change Event that it
      generated being written to the Event Ring. If SW reads the PORTSC and
      sees a change bit set, there is no guarantee that the corresponding Port
      Status Change Event has already been written into the Event Ring."
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      229bc19f
  5. 01 6月, 2018 2 次提交
  6. 25 5月, 2018 5 次提交
  7. 22 4月, 2018 1 次提交
  8. 20 4月, 2018 1 次提交
  9. 22 3月, 2018 1 次提交
  10. 16 3月, 2018 1 次提交
  11. 10 3月, 2018 1 次提交
  12. 09 3月, 2018 1 次提交
  13. 16 2月, 2018 1 次提交
  14. 09 12月, 2017 7 次提交
  15. 07 11月, 2017 1 次提交
    • G
      USB: host: xhci: Remove redundant license text · 9ed64195
      Greg Kroah-Hartman 提交于
      Now that the SPDX tag is in all USB files, that identifies the license
      in a specific and legally-defined manner.  So the extra GPL text wording
      can be removed as it is no longer needed at all.
      
      This is done on a quest to remove the 700+ different ways that files in
      the kernel describe the GPL license text.  And there's unneeded stuff
      like the address (sometimes incorrect) for the FSF which is never
      needed.
      
      No copyright headers or other non-license-description text was removed.
      
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Acked-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9ed64195
  16. 04 11月, 2017 1 次提交
  17. 17 10月, 2017 1 次提交
  18. 05 10月, 2017 4 次提交
    • L
      usb: xhci: Fix potential memory leak in xhci_disable_slot() · cd3f1790
      Lu Baolu 提交于
      xhci_disable_slot() allows the invoker to pass a command pointer
      as paramenter. Otherwise, it will allocate one. This will cause
      memory leak when a command structure was allocated inside of this
      function while queuing command trb fails. Another problem comes up
      when the invoker passed a command pointer, but xhci_disable_slot()
      frees it when it detects a dead host.
      
      This patch fixes these two problems by removing the command parameter
      from xhci_disable_slot().
      
      Fixes: f9e609b8 ("usb: xhci: Add helper function xhci_disable_slot().")
      Cc: Guoqing Zhang <guoqing.zhang@intel.com>
      Signed-off-by: NLu Baolu <baolu.lu@linux.intel.com>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cd3f1790
    • L
      usb: xhci: Add debugfs interface for xHCI driver · 02b6fdc2
      Lu Baolu 提交于
      This adds debugfs consumer for xHCI driver. The debugfs entries
      read all host registers, device/endpoint contexts, command ring,
      event ring and various endpoint rings. With these entries, users
      can check the registers and memory spaces used by a host during
      run time, or save all the information with a simple 'cp -r' for
      post-mortem programs.
      
      The file hierarchy looks like this.
      
      [root of debugfs]
      |__usb
      |____[e,u,o]hci                 <---------[root for other HCIs]
      |____xhci                       <---------------[root for xHCI]
      |______0000:00:14.0             <--------------[xHCI host name]
      |________reg-cap                <--------[capability registers]
      |________reg-op                 <-------[operational registers]
      |________reg-runtime            <-----------[runtime registers]
      |________reg-ext-#cap_name      <----[extended capability regs]
      |________command-ring           <-------[root for command ring]
      |__________cycle                <------------------[ring cycle]
      |__________dequeue              <--------[ring dequeue pointer]
      |__________enqueue              <--------[ring enqueue pointer]
      |__________trbs                 <-------------------[ring trbs]
      |________event-ring             <---------[root for event ring]
      |__________cycle                <------------------[ring cycle]
      |__________dequeue              <--------[ring dequeue pointer]
      |__________enqueue              <--------[ring enqueue pointer]
      |__________trbs                 <-------------------[ring trbs]
      |________devices                <------------[root for devices]
      |__________#slot_id             <-----------[root for a device]
      |____________name               <-----------------[device name]
      |____________slot-context       <----------------[slot context]
      |____________ep-context         <-----------[endpoint contexts]
      |____________ep#ep_index        <--------[root for an endpoint]
      |______________cycle            <------------------[ring cycle]
      |______________dequeue          <--------[ring dequeue pointer]
      |______________enqueue          <--------[ring enqueue pointer]
      |______________trbs             <-------------------[ring trbs]
      Signed-off-by: NLu Baolu <baolu.lu@linux.intel.com>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      02b6fdc2
    • M
      xhci: add port speed ID to portsc tracing · 8f114877
      Mathias Nyman 提交于
      Shows the port speed protocol speed ID (PSID) in use.
      speed ID may map to custom speeds, but in most cases it uses default
      
      1 = Full-Speed        12 MB/s
      2 = Low-Speed         1.5 Mb/s
      3 = High-speed        480 Mb/s
      4 = SuperSpeed        5 Gb/s
      5 = SuperSpeedPlus    10 Gb/s
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8f114877
    • T
      usb: host: xhci support option to disable the xHCI USB2 HW LPM · 4750bc78
      Thang Q. Nguyen 提交于
      XHCI specification 1.1 does not require xHCI-compliant controllers
      to always enable hardware USB2 LPM. However, the current xHCI
      driver always enable it when seeing HLC=1.
      This patch supports an option for users to control disabling
      USB2 Hardware LPM via DT/ACPI attribute.
      This option is needed in case user would like to disable this
      feature. For example, their xHCI controller has its USB2 HW LPM
      broken.
      Signed-off-by: NTung Nguyen <tunguyen@apm.com>
      Signed-off-by: NThang Q. Nguyen <tqnguyen@apm.com>
      Acked-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4750bc78
  19. 18 9月, 2017 3 次提交
  20. 17 8月, 2017 2 次提交