|
|
Log in / Subscribe / Register

Add support for drivers to decide bridge D3 policy

From:  Mario Limonciello <mario.limonciello-AT-amd.com>
To:  Bjorn Helgaas <bhelgaas-AT-google.com>, Hans de Goede <hdegoede-AT-redhat.com>, Ilpo Järvinen <ilpo.jarvinen-AT-linux.intel.com>
Subject:  [PATCH 0/4] Add support for drivers to decide bridge D3 policy
Date:  Tue, 24 Oct 2023 21:05:42 -0500
Message-ID:  <20231025020546.504-1-mario.limonciello@amd.com>
Cc:  "Rafael J . Wysocki" <rjw-AT-rjwysocki.net>, Shyam Sundar S K <Shyam-sundar.S-k-AT-amd.com>, "open list:PCI SUBSYSTEM" <linux-pci-AT-vger.kernel.org>, "open list:X86 PLATFORM DRIVERS" <platform-driver-x86-AT-vger.kernel.org>, Lukas Wunner <lukas-AT-wunner.de>, Kai-Heng Feng <kai.heng.feng-AT-canonical.com>, Mario Limonciello <mario.limonciello-AT-amd.com>
Archive-link:  Article

The policy for whether PCI bridges are allowed to select D3 is dictated
by empirical results that are enumerated into pci_bridge_d3_possible().

In Windows this behaves differently in that Windows internal policy is
not used for devices when a power engine plugin driver provided by the
SOC vendor is installed.  This driver is used to decide the policy in
those cases.

This series implements a system that lets drivers register such a policy
control as well. It isn't activated for any SOCs by default.

This is heavily leveraged from the work in [1]

[1] https://lore.kernel.org/platform-driver-x86/2023090618435...

RFC v1->PATCH v1
 * Simplify the logic, use pci_d3cold_enable()/pci_d3cold_disable() functions
 * Roll https://lore.kernel.org/linux-pci/20231004144731.158342-1... into series
 * Updates for some typos
 * Re-order series.  Patches 1 and 2 can potentially apply to PCI tree, 3 and 4 to platform-x86 tree.

Mario Limonciello (4):
  PCI: Make d3cold_allowed sysfs attribute read only
  PCI: Refresh root ports in pci_bridge_d3_update()
  ACPI: x86: s2idle: Export symbol for fetching constraints for module
    use
  platform/x86/amd: pmc: Add support for using constraints to decide D3
    policy

 Documentation/ABI/testing/sysfs-bus-pci |  4 +-
 drivers/acpi/x86/s2idle.c               |  1 +
 drivers/pci/pci-acpi.c                  |  2 +-
 drivers/pci/pci-sysfs.c                 | 14 +-----
 drivers/pci/pci.c                       | 12 ++++--
 drivers/platform/x86/amd/pmc/pmc.c      | 57 +++++++++++++++++++++++++
 include/linux/pci.h                     |  1 -
 7 files changed, 72 insertions(+), 19 deletions(-)

-- 
2.34.1



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds