mbox series

[v2,00/10] usb: host: xhci-tegra: Implement basic ELPG support

Message ID 20191206140653.2085561-1-thierry.reding@gmail.com (mailing list archive)
Headers show
Series usb: host: xhci-tegra: Implement basic ELPG support | expand

Message

Thierry Reding Dec. 6, 2019, 2:06 p.m. UTC
From: Thierry Reding <treding@nvidia.com>

Hi,

this series of patches is an attempt to split up JC's large patch adding
ELPG support into more manageable chunks. The original patch can be
found here:

        http://patchwork.ozlabs.org/patch/1115804/

That patch was part of a larger series that also added a couple more
features to more aggressively save power. This series is more limited in
scope and at the same time tries to address most of the comments that
were voiced during review of JC's original posting.

Note that this series is primarily targetted at getting system suspend
and resume to work properly on Jetson TX2 and later, now that we can
actually resume from system sleep on these systems. The code should also
work on Tegra210 and earlier, though Tegra210 is still missing a bit of
the very low-level plumbing to make the system resume properly from
sleep.

I've verified that after this I can successfully use the XHCI on Jetson
TX2 after a system suspend/resume cycle.

Note that I've claimed ownership of these patches because they differ
from JC's patches significantly in many areas and are also a bit
crippled compared to JC's original in terms of features. I've credited
JC in the commit message, but didn't want him to get any blame from me
potentially messing this up.

JC, if you think this is still in line with what you had in mind, let me
know and I'll restore your authorship.

Changes in v2:
- add Reviewed-by from JC on the one patch that is not originally his
- remove some useless gotos as pointed out by Mathias

Thierry

Thierry Reding (10):
  usb: host: xhci-tegra: Fix "tega" -> "tegra" typo
  usb: host: xhci-tegra: Separate firmware request and load
  usb: host: xhci-tegra: Avoid a fixed duration sleep
  usb: host: xhci-tegra: Use CNR as firmware ready indicator
  usb: host: xhci-tegra: Extract firmware enable helper
  usb: host: xhci-tegra: Reuse stored register base address
  usb: host: xhci-tegra: Enable runtime PM as late as possible
  usb: host: xhci-tegra: Add support for XUSB context save/restore
  usb: host: xhci-tegra: Add XUSB controller context
  usb: host: xhci-tegra: Implement basic ELPG support

 drivers/usb/host/xhci-tegra.c | 439 +++++++++++++++++++++++++++++-----
 1 file changed, 380 insertions(+), 59 deletions(-)