Re: [PATCH v4 2/8] PCI: Allow runtime PM on Thunderbolt ports

From: Mika Westerberg
Date: Wed Jan 11 2017 - 04:57:27 EST


On Sun, Jan 08, 2017 at 09:41:45AM +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().
>
> 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.
>
> If the BIOS cut-off date is ever lowered to 2010, the Thunderbolt
> special case can be removed.
>
> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>

Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>