Re: [PATCH v8 2/2] PCI/ACPI: Use device constraints instead of dates to opt devices into D3

From: Mario Limonciello
Date: Thu Aug 03 2023 - 11:18:21 EST

On 8/3/2023 10:14, Mika Westerberg wrote:
On Thu, Aug 03, 2023 at 06:38:45AM -0500, Mario Limonciello wrote:
On 8/3/23 00:01, Mika Westerberg wrote:

On Wed, Aug 02, 2023 at 03:10:13PM -0500, Mario Limonciello wrote:
@@ -3036,11 +3044,8 @@ bool pci_bridge_d3_possible(struct pci_dev *bridge)
if (dmi_check_system(bridge_d3_blacklist))
return false;
- /*
- * It should be safe to put PCIe ports from 2015 or newer
- * to D3.
- */
- if (dmi_get_bios_year() >= 2015)
+ /* the platform indicates in a device constraint that D3 is needed */
+ if (platform_constraint_d3(bridge))

This for sure causes some sort of power regression on the Intel
platforms made after 2015. Why not check for the constraint and:

Are you sure? I saw it as an explanation of how Windows could put the
systems into D3 when there is no other PM related ACPI objects.

I'm concerned if there are no PEP constraints on some of the affected
systems this now leaves root ports into D0 then, no?

Do you have any idea if any of the affected systems were something that didn't ship with Windows? Like an Apple system or a Chromebook?

If so; I'd think it's better to treat those as "quirks" rather than make a blanket policy from the timing.