On Mon, Jun 18, 2018 at 02:07:26PM +0300, Mika Westerberg wrote: > Hi all, > > In recent PCs such as Lenovo X1 Carbon 6th generation the Thunderbolt > controller is in RTD3 mode (Runtime D3). This is different from the > previous modes because now the controller is present most of the time (it > still will be hot-removed/hot-added during NVM firmware upgrade). Because > of that we need to dynamically power it down whenever possible to save some > power. > > This patch series adds Linux runtime PM support for the Thunderbolt host > controller driver using ICM firmware but it should be generic enough for > future additions to allow similar functionality for the older Apple > hardware as well (even though those system do not support full RTD3, it > still makes it possible for the host controller to go to low power state if > cable is not connected). > > With these patches the driver automatically runtime suspends the host > controller after being idle for 15s. The connected Thunderbolt devices (if > any) need to support RTD3 mode as well. Typically all 3rd generation > devices (Alpine Ridge, Titan Ridge) support this. > > However, while this provides some power savings, there is more work to do > in order to allow powering down the PCIe root port leading to the > Thunderbolt PCIe hierarchy. This work is still in progress. > > Mika Westerberg (5): > thunderbolt: Use 64-bit DMA mask if supported by the platform > thunderbolt: Do not unnecessarily call ICM get route > thunderbolt: No need to take tb->lock in domain suspend/complete > thunderbolt: Use correct ICM commands in system suspend > thunderbolt: Add support for runtime PM
All applied to thunderbolt.git/next.