1. 31 5月, 2018 34 次提交
  2. 26 5月, 2018 1 次提交
  3. 25 5月, 2018 5 次提交
    • J
      usb: xhci: tegra: Add support for managing powergates · 58c38116
      Jon Hunter 提交于
      The Tegra XHCI controller requires that the XUSBA (for superspeed) and
      XUSBC (for host) power-domains are enabled. Commit 8df12745
      ("soc/tegra: pmc: Enable XUSB partitions on boot") was added to force
      on these power-domains if the XHCI driver is enabled while proper
      power-domain support is added, to ensure the device did not hang on
      boot. However, rather than forcing on these power-domains in the PMC
      driver we can use the legacy Tegra powergate APIs to turn on these
      power-domains during the probe of the Tegra XHCI driver.
      
      In the near future we plan to move the Tegra XHCI driver to use the
      generic PM domain framework for power-domains and so to prepare for
      this only use the legacy Tegra powergate API if there is not PM
      domain associated with device (ie. dev.pm_domain is NULL). Please
      note that in the future the superspeed and host resets will be handled
      by the generic PM domain provider and so these are only these are only
      needed in the case where there is no generic PM domain.
      Signed-off-by: NJon Hunter <jonathanh@nvidia.com>
      Acked-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      58c38116
    • J
      usb: xhci: tegra: Add runtime PM support · ee9e5f4c
      Jon Hunter 提交于
      Add runtime PM support to the Tegra XHCI driver and move the function
      calls to enable/disable the clocks, regulators and PHY into the runtime
      PM callbacks.
      Signed-off-by: NJon Hunter <jonathanh@nvidia.com>
      Acked-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ee9e5f4c
    • J
      usb: xhci: tegra: Prepare for adding runtime PM support · f468b55c
      Jon Hunter 提交于
      When adding runtime PM support to the Tegra XHCI driver, it is desirable
      to move the function calls to enable the clocks, regulators and PHY from
      the tegra_xusb_probe into the runtime PM handlers. Currently, the
      clocks, regulators and PHY are all enabled before we call
      usb_create_hcd() in tegra_xusb_probe(), however, we cannot call
      pm_runtime_get_sync() at this point because the platform device data is
      not yet initialised. Fortunately, the function usb_create_hcd() can be
      called before we enable the clocks, regulators and PHY and so prepare
      for adding runtime PM support, by moving the call to usb_create_hcd()
      before we enable the hardware.
      Signed-off-by: NJon Hunter <jonathanh@nvidia.com>
      Acked-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f468b55c
    • A
      usb-storage: Add compatibility quirk flags for G-Technologies G-Drive · ca7d9515
      Alexander Kappner 提交于
      The "G-Drive" (sold by G-Technology) external USB 3.0 drive
       hangs on write access under UAS and usb-storage:
      
      [  136.079121] sd 15:0:0:0: [sdi] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
      [  136.079144] sd 15:0:0:0: [sdi] tag#0 Sense Key : Illegal Request [current]
      [  136.079152] sd 15:0:0:0: [sdi] tag#0 Add. Sense: Invalid field in cdb
      [  136.079176] sd 15:0:0:0: [sdi] tag#0 CDB: Write(16) 8a 08 00 00 00 00 00 00 00 00 00 00 00 08 00 00
      [  136.079180] print_req_error: critical target error, dev sdi, sector 0
      [  136.079183] Buffer I/O error on dev sdi, logical block 0, lost sync page write
      [  136.173148] EXT4-fs (sdi): mounted filesystem with ordered data mode. Opts: (null)
      [  140.583998] sd 15:0:0:0: [sdi] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
      [  140.584010] sd 15:0:0:0: [sdi] tag#0 Sense Key : Illegal Request [current]
      [  140.584016] sd 15:0:0:0: [sdi] tag#0 Add. Sense: Invalid field in cdb
      [  140.584022] sd 15:0:0:0: [sdi] tag#0 CDB: Write(16) 8a 08 00 00 00 00 e8 c4 00 18 00 00 00 08 00 00
      [  140.584025] print_req_error: critical target error, dev sdi, sector 3905159192
      [  140.584044] print_req_error: critical target error, dev sdi, sector 3905159192
      [  140.584052] Aborting journal on device sdi-8.
      
      The proposed patch adds compatibility quirks. Because the drive requires two
      quirks (one to work with UAS, and another to work with usb-storage), adding this
      under unusual_devs.h and not just unusual_uas.h so kernels compiled without UAS
      receive the quirk. With the patch, the drive works reliably on UAS and usb-
      storage.
      (tested on NEC Corporation uPD720200 USB 3.0 host controller).
      Signed-off-by: NAlexander Kappner <agk@godking.net>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ca7d9515
    • A
      usb-storage: Add support for FL_ALWAYS_SYNC flag in the UAS driver · 8c4e97dd
      Alexander Kappner 提交于
      The ALWAYS_SYNC flag is currently honored by the usb-storage driver but not UAS
      and is required to work around devices that become unstable upon being
      queried for cache. This code is taken straight from:
      drivers/usb/storage/scsiglue.c:284
      Signed-off-by: NAlexander Kappner <agk@godking.net>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@vger.kernel.org>
      Acked-by: NOliver Neukum <oneukum@suse.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8c4e97dd