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

From: Mika Westerberg
Date: Fri Aug 04 2023 - 02:07:44 EST


On Thu, Aug 03, 2023 at 10:18:07AM -0500, Mario Limonciello wrote:
> 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:
> > > > Hi,
> > > >
> > > > 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?

Some of them, at least the Apollo Lake ones were used in IVI systems
that did not run Windows IIRC.

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

It is possible that the quirk list ends up being rather big (or not) so
it may be considered something that is painful to maintain.