mbox series

[RFC,0/2] acpi: add support for CXL _OSC

Message ID 20220317002704.1835870-1-vishal.l.verma@intel.com (mailing list archive)
Headers show
Series acpi: add support for CXL _OSC | expand

Message

Verma, Vishal L March 17, 2022, 12:27 a.m. UTC
Add support for using the CXL definition of _OSC where applicable, and
negotiating CXL specific support and control bits.

Patch 1 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 devices that may not implement the CXL-2.0 _OSC.

Patch 2 performs negotiation for the CXL specific _OSC support and
control bits.

I've tested these against a custom qemu[1], which adds the CXL _OSC (in
addition to other CXL support). Specifically, _OSC support is added
here[2].

[1]: https://gitlab.com/jic23/qemu/-/tree/cxl-v7-draft-2-for-test
[2]: https://gitlab.com/jic23/qemu/-/commit/31c85054b84645dfbd9e9bb14aa35286141c14cf

Dan Williams (1):
  PCI/ACPI: Use CXL _OSC instead of PCIe _OSC

Vishal Verma (1):
  acpi/pci_root: negotiate CXL _OSC

 include/linux/acpi.h    |  11 +++
 include/acpi/acpi_bus.h |   7 +-
 drivers/acpi/pci_root.c | 201 ++++++++++++++++++++++++++++++++++------
 3 files changed, 187 insertions(+), 32 deletions(-)


base-commit: 74be98774dfbc5b8b795db726bd772e735d2edd4

Comments

Jonathan Cameron March 17, 2022, 3:19 p.m. UTC | #1
On Wed, 16 Mar 2022 18:27:02 -0600
Vishal Verma <vishal.l.verma@intel.com> wrote:

> Add support for using the CXL definition of _OSC where applicable, and
> negotiating CXL specific support and control bits.
> 
> Patch 1 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 devices that may not implement the CXL-2.0 _OSC.

_OSC is implemented by the firmware of a host not the device so perhaps
rephrase this.

> 
> Patch 2 performs negotiation for the CXL specific _OSC support and
> control bits.
> 
> I've tested these against a custom qemu[1], which adds the CXL _OSC (in
> addition to other CXL support). Specifically, _OSC support is added
> here[2].
> 
> [1]: https://gitlab.com/jic23/qemu/-/tree/cxl-v7-draft-2-for-test
> [2]: https://gitlab.com/jic23/qemu/-/commit/31c85054b84645dfbd9e9bb14aa35286141c14cf

Glad that worked :) I was wondering if it was correct.
There are some issues with that code raised in a recent review, so good
to have this to test against it going forwards.

Thanks,

Jonathan

> 
> Dan Williams (1):
>   PCI/ACPI: Use CXL _OSC instead of PCIe _OSC
> 
> Vishal Verma (1):
>   acpi/pci_root: negotiate CXL _OSC
> 
>  include/linux/acpi.h    |  11 +++
>  include/acpi/acpi_bus.h |   7 +-
>  drivers/acpi/pci_root.c | 201 ++++++++++++++++++++++++++++++++++------
>  3 files changed, 187 insertions(+), 32 deletions(-)
> 
> 
> base-commit: 74be98774dfbc5b8b795db726bd772e735d2edd4
Verma, Vishal L March 18, 2022, 7:52 p.m. UTC | #2
On Thu, 2022-03-17 at 15:19 +0000, Jonathan Cameron wrote:
> On Wed, 16 Mar 2022 18:27:02 -0600
> Vishal Verma <vishal.l.verma@intel.com> wrote:
> 
> > Add support for using the CXL definition of _OSC where applicable, and
> > negotiating CXL specific support and control bits.
> > 
> > Patch 1 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 devices that may not implement the CXL-2.0 _OSC.
> 
> _OSC is implemented by the firmware of a host not the device so perhaps
> rephrase this.

Yes good point - I'll reword to say "CXL-1.1 platforms"

> 
> > 
> > Patch 2 performs negotiation for the CXL specific _OSC support and
> > control bits.
> > 
> > I've tested these against a custom qemu[1], which adds the CXL _OSC (in
> > addition to other CXL support). Specifically, _OSC support is added
> > here[2].
> > 
> > [1]: https://gitlab.com/jic23/qemu/-/tree/cxl-v7-draft-2-for-test
> > [2]: https://gitlab.com/jic23/qemu/-/commit/31c85054b84645dfbd9e9bb14aa35286141c14cf
> 
> Glad that worked :) I was wondering if it was correct.
> There are some issues with that code raised in a recent review, so good
> to have this to test against it going forwards.

Thanks for taking a look and moving the qemu series forward!

> 
> Thanks,
> 
> Jonathan
> 
> > 
> > Dan Williams (1):
> >   PCI/ACPI: Use CXL _OSC instead of PCIe _OSC
> > 
> > Vishal Verma (1):
> >   acpi/pci_root: negotiate CXL _OSC
> > 
> >  include/linux/acpi.h    |  11 +++
> >  include/acpi/acpi_bus.h |   7 +-
> >  drivers/acpi/pci_root.c | 201 ++++++++++++++++++++++++++++++++++------
> >  3 files changed, 187 insertions(+), 32 deletions(-)
> > 
> > 
> > base-commit: 74be98774dfbc5b8b795db726bd772e735d2edd4
>