1. 17 2月, 2022 4 次提交
  2. 21 12月, 2021 1 次提交
  3. 10 12月, 2021 2 次提交
  4. 05 11月, 2021 1 次提交
  5. 11 10月, 2021 1 次提交
  6. 14 9月, 2021 1 次提交
  7. 26 8月, 2021 2 次提交
  8. 21 6月, 2021 1 次提交
  9. 17 6月, 2021 1 次提交
  10. 13 5月, 2021 1 次提交
  11. 06 4月, 2021 2 次提交
  12. 23 3月, 2021 1 次提交
  13. 11 3月, 2021 2 次提交
  14. 10 3月, 2021 1 次提交
  15. 29 1月, 2021 1 次提交
    • M
      xhci: split handling halted endpoints into two steps · 674f8438
      Mathias Nyman 提交于
      Don't queue both a reset endpoint command and a
      set TR deq command at once when handling a halted endpoint.
      
      split this into two steps.
      Initially only queue a reset endpoint command, and then if needed queue a
      set TR deq command in the reset endpoint handler.
      
      Note: This removes the RESET_EP_QUIRK handling which was added in
      commit ac9d8fe7 ("USB: xhci: Add quirk for Fresco Logic xHCI hardware.")
      
      This quirk was added in 2009 for prototype xHCI hardware meant for
      evaluation purposes only, and should not reach consumers.
      This hardware could not handle two commands queued at once, and had
      bad data in the output context after a reset endpoint command.
      
      After this patch two command are no longer queued at once, so that
      part is solved  in this rewrite, but the workaround for bad data in the
      output context solved by issuing an extra configure endpoint command is
      bluntly removed.
      
      Adding this workaround to the new rewrite just adds complexity, and I
      think it's time to let this quirk go.
      Print a debug message instead.
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20210129130044.206855-22-mathias.nyman@linux.intel.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      674f8438
  16. 26 1月, 2021 1 次提交
  17. 28 12月, 2020 1 次提交
  18. 09 12月, 2020 1 次提交
    • T
      usb: xhci: Use temporary buffer to consolidate SG · 2017a1e5
      Tejas Joglekar 提交于
      The Synopsys xHC has an internal TRB cache of size TRB_CACHE_SIZE for
      each endpoint. The default value for TRB_CACHE_SIZE is 16 for SS and 8
      for HS. The controller loads and updates the TRB cache from the transfer
      ring in system memory whenever the driver issues a start transfer or
      update transfer command.
      
      For chained TRBs, the Synopsys xHC requires that the total amount of
      bytes for all TRBs loaded in the TRB cache be greater than or equal to 1
      MPS. Or the chain ends within the TRB cache (with a last TRB).
      
      If this requirement is not met, the controller will not be able to send
      or receive a packet and it will hang causing a driver timeout and error.
      
      This can be a problem if a class driver queues SG requests with many
      small-buffer entries. The XHCI driver will create a chained TRB for each
      entry which may trigger this issue.
      
      This patch adds logic to the XHCI driver to detect and prevent this from
      happening.
      
      For every (TRB_CACHE_SIZE - 2), we check the total buffer size of
      the SG list and if the last window of (TRB_CACHE_SIZE - 2) SG list length
      and we don't make up at least 1 MPS, we create a temporary buffer to
      consolidate full SG list into the buffer.
      
      We check at (TRB_CACHE_SIZE - 2) window because it is possible that there
      would be a link and/or event data TRB that take up to 2 of the cache
      entries.
      
      We discovered this issue with devices on other platforms but have not
      yet come across any device that triggers this on Linux. But it could be
      a real problem now or in the future. All it takes is N number of small
      chained TRBs. And other instances of the Synopsys IP may have smaller
      values for the TRB_CACHE_SIZE which would exacerbate the problem.
      Signed-off-by: NTejas Joglekar <joglekar@synopsys.com>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20201208092912.1773650-3-mathias.nyman@linux.intel.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2017a1e5
  19. 29 10月, 2020 1 次提交
  20. 28 10月, 2020 1 次提交
  21. 20 9月, 2020 3 次提交
  22. 24 8月, 2020 1 次提交
  23. 23 8月, 2020 1 次提交
  24. 09 7月, 2020 1 次提交
  25. 24 6月, 2020 3 次提交
  26. 21 4月, 2020 1 次提交
  27. 13 3月, 2020 1 次提交
  28. 11 12月, 2019 2 次提交