Re: [PATCH v13 12/12] PCI: ACPI: Limit the Intel specific opt-in to D3 to 2024

From: Rafael J. Wysocki
Date: Fri Aug 18 2023 - 12:11:02 EST


On Fri, Aug 18, 2023 at 7:15 AM Mario Limonciello
<mario.limonciello@xxxxxxx> wrote:
>
> Intel systems that need to have PCIe ports in D3 for low power idle
> specify this by constraints on the ACPI PNP0D80 device. As this information
> is queried, limit the DMI BIOS year check to stop at 2024. This will
> allow future systems to rely on the constraints check to set up policy
> like non-Intel systems do.
>
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> ---
> v12->v13:
> * New patch
> ---
> drivers/pci/pci.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 0fc8d35154f97..5b9e11e254f34 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -3049,10 +3049,11 @@ bool pci_bridge_d3_possible(struct pci_dev *bridge)
> return true;
>
> /*
> - * It is safe to put Intel PCIe ports from 2015 or newer
> + * It is safe to put Intel PCIe ports from 2015 to 2024
> * to D3.
> */
> if (bridge->vendor == PCI_VENDOR_ID_INTEL &&
> + dmi_get_bios_year() <= 2024 &&
> dmi_get_bios_year() >= 2015)

A minor nit: The above would be somewhat easier to follow if it is
written in a reverse order, that is

dmi_get_bios_year() >= 2015 && dmi_get_bios_year() <= 2024

and maybe call dmi_get_bios_year() once to avoid the redundant string parsing?

> return true;
> break;
> --