Skip to content

ACPI / PCI / PCIe: Rework _OSC handling (v3)

Rafael J. Wysocki linux-acpi linux-pm 1 version Applied

Status from this message: Applied this series to my for-linus branch, thanks.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 14 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/10ACPI / PCI: Introduce function for querying PCI root _OSCdrivers/acpi/pci_root.c include/linux/acpi.h+67 -110 replies
1/10ACPI / PCI: Introduce function for querying PCI root _OSCdrivers/acpi/pci_root.c include/linux/acpi.h+67 -110 replies
1/10PCI / PCIe/ AER: Introduce pci_aer_available()drivers/pci/pci.h drivers/pci/pcie/aer/aerdrv.c+8 -30 replies
1/10PCI / PCIe/ AER: Introduce pci_aer_available()drivers/pci/pci.h drivers/pci/pcie/aer/aerdrv.c+8 -32 replies
2/10PCI / PCIe/ AER: Introduce pci_aer_available()drivers/pci/pci.h drivers/pci/pcie/aer/aerdrv.c+8 -30 replies
2/10PCI / PCIe/ AER: Introduce pci_aer_available()drivers/pci/pci.h drivers/pci/pcie/aer/aerdrv.c+8 -30 replies
2/10PCI / PCIe: Introduce commad line switch for disabling port servicesDocumentation/kernel-parameters.txt drivers/pci/pcie/portdrv.h drivers/pci/pcie/portdrv_core.c +1 more+24 -00 replies
2/10PCI / PCIe: Introduce commad line switch for disabling port servicesDocumentation/kernel-parameters.txt drivers/pci/pcie/portdrv.h drivers/pci/pcie/portdrv_core.c +1 more+24 -00 replies
3/10PCI / PCIe: Introduce commad line switch for disabling port servicesDocumentation/kernel-parameters.txt drivers/pci/pcie/portdrv.h drivers/pci/pcie/portdrv_core.c +1 more+24 -00 replies
3/10PCI / PCIe: Introduce commad line switch for disabling port servicesDocumentation/kernel-parameters.txt drivers/pci/pcie/portdrv.h drivers/pci/pcie/portdrv_core.c +1 more+24 -00 replies
3/10ACPI / PCI: Reorder checks in acpi_pci_osc_control_set()drivers/acpi/pci_root.c+4 -40 replies
3/10ACPI / PCI: Reorder checks in acpi_pci_osc_control_set()drivers/acpi/pci_root.c+4 -40 replies
4/10PCI / PCIe: Ask BIOS for control of all native services at once (v6)Documentation/kernel-parameters.txt drivers/pci/hotplug/acpi_pcihp.c drivers/pci/hotplug/pciehp.h +13 more+160 -2300 replies
4/10PCI / PCIe: Ask BIOS for control of all native services at once (v6)Documentation/kernel-parameters.txt drivers/pci/hotplug/acpi_pcihp.c drivers/pci/hotplug/pciehp.h +13 more+160 -2300 replies
4/10ACPI / PCI: Make acpi_pci_query_osc() return control bitsdrivers/acpi/pci_root.c+24 -110 replies
4/10ACPI / PCI: Make acpi_pci_query_osc() return control bitsdrivers/acpi/pci_root.c+24 -110 replies
5/10PCI / PCIe: Disable PCIe port services during port initializationdrivers/pci/pcie/portdrv_core.c+26 -30 replies
5/10PCI / PCIe: Disable PCIe port services during port initializationdrivers/pci/pcie/portdrv_core.c+26 -30 replies
5/10ACPI / PCI: Do not preserve _OSC control bits returned by a query (v4)drivers/acpi/pci_root.c include/acpi/acpi_bus.h+7 -160 replies
5/10ACPI / PCI: Do not preserve _OSC control bits returned by a query (v4)drivers/acpi/pci_root.c include/acpi/acpi_bus.h+7 -160 replies
5/10ACPI / PCI: Do not preserve _OSC control bits returned by a query (v4)drivers/acpi/pci_root.c include/acpi/acpi_bus.h+7 -160 replies
5/10ACPI / PCI: Do not preserve _OSC control bits returned by a query (v4)drivers/acpi/pci_root.c include/acpi/acpi_bus.h+7 -160 replies
6/10PCI / PCIe: Remove the port driver module exit routinedrivers/pci/pcie/portdrv_pci.c+0 -70 replies
6/10PCI / PCIe: Remove the port driver module exit routinedrivers/pci/pcie/portdrv_pci.c+0 -70 replies
6/10ACPI / PCI: Negotiate _OSC control bits before requesting themdrivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c drivers/pci/pcie/aer/aerdrv_acpi.c +2 more+46 -300 replies
6/10ACPI / PCI: Negotiate _OSC control bits before requesting themdrivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c drivers/pci/pcie/aer/aerdrv_acpi.c +2 more+46 -300 replies
6/10ACPI / PCI: Negotiate _OSC control bits before requesting them (v2)drivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c drivers/pci/pcie/aer/aerdrv_acpi.c +2 more+49 -300 replies
6/10ACPI / PCI: Negotiate _OSC control bits before requesting them (v2)drivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c drivers/pci/pcie/aer/aerdrv_acpi.c +2 more+49 -300 replies
7/10PCI / Hot-plug: Query _OSC before requesting controlsdrivers/pci/hotplug/acpi_pcihp.c+4 -20 replies
7/10PCI / Hot-plug: Query _OSC before requesting controlsdrivers/pci/hotplug/acpi_pcihp.c+4 -26 replies
7/10PCI / PCIe: Ask BIOS for control of all native services at once (v7)Documentation/kernel-parameters.txt drivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c +14 more+155 -2372 replies
7/10PCI / PCIe: Ask BIOS for control of all native services at once (v7)Documentation/kernel-parameters.txt drivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c +14 more+155 -2370 replies
8/10ACPI / PCI: Do not preserve _OSC control bits returned by a query (v2)drivers/acpi/pci_root.c include/acpi/acpi_bus.h+1 -210 replies
8/10ACPI / PCI: Do not preserve _OSC control bits returned by a query (v2)drivers/acpi/pci_root.c include/acpi/acpi_bus.h+1 -210 replies
8/10PCI / PCIe: Disable PCIe port services during port initializationdrivers/pci/pcie/portdrv_core.c+26 -30 replies
8/10PCI / PCIe: Disable PCIe port services during port initializationdrivers/pci/pcie/portdrv_core.c+26 -30 replies
9/10ACPI / PCI: Reorder checks in acpi_pci_osc_control_set()drivers/acpi/pci_root.c+4 -40 replies
9/10ACPI / PCI: Reorder checks in acpi_pci_osc_control_set()drivers/acpi/pci_root.c+4 -40 replies
9/10PCI / PCIe: Move PCIe PME code to the pcie directorydrivers/pci/pcie/Makefile drivers/pci/pcie/pme.c drivers/pci/pcie/pme/Makefile +1 more+463 -4680 replies
9/10PCI / PCIe: Move PCIe PME code to the pcie directorydrivers/pci/pcie/Makefile drivers/pci/pcie/pme.c drivers/pci/pcie/pme/Makefile +1 more+463 -4680 replies
10/10ACPI / PCI: Merge acpi_pci_osc_control_{query|set}()drivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c drivers/pci/pcie/portdrv_acpi.c +1 more+36 -680 replies
10/10ACPI / PCI: Merge acpi_pci_osc_control_{query|set}()drivers/acpi/pci_root.c drivers/pci/hotplug/acpi_pcihp.c drivers/pci/pcie/portdrv_acpi.c +1 more+36 -680 replies
10/10PCI / PCIe: Remove the port driver module exit routinedrivers/pci/pcie/portdrv_pci.c+0 -70 replies
10/10PCI / PCIe: Remove the port driver module exit routinedrivers/pci/pcie/portdrv_pci.c+0 -70 replies

Reviews trailers per patch

28 of 44 patches have a Reviewed-by or Acked-by.

PatchHidetoshi Seto
1/10
1/10
1/10
1/10
2/10
2/10
2/10
2/10
3/10R-b R-b
3/10R-b R-b
3/10R-b R-b
3/10R-b R-b
4/10
4/10
4/10
4/10
5/10R-b R-b
5/10R-b R-b
5/10R-b R-b
5/10R-b R-b
5/10R-b R-b
5/10R-b R-b
6/10R-b R-b
6/10R-b R-b
6/10R-b R-b
6/10R-b R-b
6/10R-b R-b
6/10R-b R-b
7/10
7/10
7/10
7/10
8/10R-b R-b
8/10R-b R-b
8/10R-b R-b
8/10R-b R-b
9/10R-b R-b
9/10R-b R-b
9/10R-b R-b
9/10R-b R-b
10/10R-b R-b
10/10R-b R-b
10/10R-b R-b
10/10R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/10] ACPI / PCI / PCIe: Rework _OSC handling (v3)

Hi,

This is the 3rd iteration of the patchset based on
https://patchwork.kernel.org/patch/114917/ and the comments I received on that patch and the previous two iterations of this patchset.

The patches below do not make the intermediate step to put an unconditional _OSC query into acpi_pci_osc_control_set(), but the final result is quite similar to the 2nd iteration with https://patchwork.kernel.org/patch/116976/
applied on top.

[1/10] - Introduce acpi_pci_osc_control_query() allowing the caller to get a
mask of _OSC control bits the BIOS allows the kernel to control for a given PCI root bridge. This version repeats _OSC queries until the BIOS doesn't mask any requested bits.

[2/10] - Introduce pci_aer_available() allowing the caller to check if the
AER service driver should be enabled.

[3/10] - Introduce kernel command line switch pcie_ports=.

[4/10] - Rework the PCIe port driver to request _OSC control for all serives at
once.

[5/10] - Disable PCIe port services (that might be enabled by the BIOS) during
initialization.

[6/10] - Remove the PCIe port driver modules exit function.

[7/10] - Make PCI hotplug code query _OSC before requesting control of _OSC
features.

[8/10] - Rework acpi_pci_osc_control_set() so that it doesn't use cached
result of a query and remove the fields of struct acpi_pci_root that aren't used any more.

[9/10] - Reorder checks in acpi_pci_osc_control_set().

[10/10] - Merge acpi_pci_osc_control_set() with acpi_pci_osc_control_query().

Comments welcome.

Thanks,
Rafael