On Wed, 2022-04-13 at 01:36 -0600, Vishal Verma wrote: > Changes since v5[1]: > - Collect an reviewed-by tags from Rafael, Adam, and David > - Fix a couple of missed s/CXL/extended/ in acpi_bus.h (Rafael) Rafael, or Bjorn, Dan has offered to take this through cxl.git. Any objections to that - would you prefer it to go through either the PCI or ACPI trees instead? > > Add support for using the CXL definition of _OSC where applicable, and > negotiating CXL specific support and control bits. > > Patch 1 is a preliminary cleanup that replaces open-coded pointer > arithmetic to retrieve the Control DWORD with an inline helper. > > Patch 2 adds the new CXL _OSC UUID, and uses it instead of the PCI UUID > when a root port is CXL enabled. It provides a fallback method for > CXL-1.1 platforms that may not implement the CXL-2.0 _OSC. > > Patch 3 performs negotiation for the CXL specific _OSC support and > control bits. > > I've tested these against a custom qemu[2], which adds the CXL _OSC (in > addition to other CXL support). Specifically, _OSC support is added > here[3]. > > [1]: https://lore.kernel.org/linux-cxl/20220406023746.2807328-1-vishal.l.verma@xxxxxxxxx > [2]: https://gitlab.com/jic23/qemu/-/tree/cxl-v8-draft > [3]: https://gitlab.com/jic23/qemu/-/commit/1d67df6b6e3716c27462873f3451956f5c0673a3 > > Dan Williams (1): > PCI/ACPI: Prefer CXL _OSC instead of PCIe _OSC for CXL host bridges > > Vishal Verma (2): > PCI/ACPI: add a helper for retrieving _OSC Control DWORDs > PCI/ACPI: negotiate CXL _OSC > > include/linux/acpi.h | 42 ++++++- > include/acpi/acpi_bus.h | 12 +- > drivers/acpi/bus.c | 2 +- > drivers/acpi/pci_root.c | 240 +++++++++++++++++++++++++++++++++++----- > 4 files changed, 262 insertions(+), 34 deletions(-) > > > base-commit: 05e815539f3f161585c13a9ab023341bade2c52f