On Sat, Jan 28, 2017 at 11:09 PM, Bjorn Helgaas <helg...@kernel.org> wrote: > On Sun, Jan 15, 2017 at 09:03:45PM +0100, Lukas Wunner wrote: >> Currently PCIe ports are only allowed to go to D3 if the BIOS is dated >> 2015 or newer to avoid potential issues with old chipsets. However for >> Thunderbolt we know that even the oldest controller, Light Ridge (2010), >> is able to suspend its ports to D3 just fine. >> >> We're about to add runtime PM for Thunderbolt on the Mac. Apple has >> released two EFI security updates in 2015 which encompass all machines >> with Thunderbolt, but the achieved power saving should be made available >> to users even if they haven't updated their BIOS. To this end, >> special-case Thunderbolt in pci_bridge_d3_possible(). > > I think this whole paragraph is unnecessary detail. I first thought > you had some connection with a firmware security issue, but now I see > the only point is that if you have pre-2015 firmware, you could update > it since newer firmware is available. > >> This allows the Thunderbolt controller to power down but the root port >> to which the Thunderbolt controller is attached remains in D0 unless >> the EFI update is installed. Users can pass pcie_port_pm=force on the >> kernel command line if they cannot install the EFI update but still want >> to benefit from the additional power saving of putting the root port >> into D3. In practice, root ports can be suspended to D3 without issues >> at least on 2012 Ivy Bridge machines. > > I'm not sure I like advertising pcie_port_pm=force. That just means a > few leet folks will use this parameter and run in a subtly different > configuration than everybody else, and possibly trip over subtly > different issues. The audience (users who read kernel change logs and > are willing to use special boot parameters, but who can't install an > EFI update) seems small.
That basically is for somebody who has a product and knows that the feature works there, but doesn't want or simply can't patch the kernel (which is shipped by a distro or similar). Thanks, Rafael