diff mbox series

Patch: Make ACPI subsystem provide CEDT table

Message ID 198c0ae2-efdf-7f47-11c7-27e9a87b3f32@boldcoder.com
State Superseded
Headers show
Series Patch: Make ACPI subsystem provide CEDT table | expand

Commit Message

Robert Kiraly Jan. 12, 2022, 11:07 p.m. UTC
This is a simple ACPI patch. I'm submitting a revised version to 
linux-acpi as opposed to linux-pm at Rafael Wysocki's suggestion.

The patch adds ACPI_SIG_CEDT to table_sigs[] in "drivers/acpi/tables.c".

The change will probably be made by upstream later regardless. But I've 
reviewed cxl-next and it doesn't seem to be present there yet.

Presently, CXL code isn't able to make use of the CEDT table. Subsequent 
to the change, the CEDT table can be used.

If a developer plans to use the CEDT table to program the CXL ports, 
this change is needed. Otherwise, it isn't expected to make a difference.
Subject: Make ACPI subsystem provide CEDT table
Author: Robert Kiraly <me@boldcoder.com>

This is a simple patch to the ACPI subsystem.

The patch  adds  ACPI_SIG_CEDT to table_sigs[] in  "drivers/acpi/
tables.c".

Presently, CXL  code  isn't able to make use of the  CEDT  table.
Subsequent to the change, the CEDT table can be used.

If  a developer  plans to use the CEDT table to  program  the CXL
ports,  this change is needed.  Otherwise,  it isn't  expected to
make a difference.

==== end of patch ====

Comments

Rafael J. Wysocki Jan. 13, 2022, 11:38 a.m. UTC | #1
Hi Dan,

On Thu, Jan 13, 2022 at 12:16 AM Robert Kiraly <me@boldcoder.com> wrote:
>
> This is a simple ACPI patch. I'm submitting a revised version to
> linux-acpi as opposed to linux-pm at Rafael Wysocki's suggestion.
>
> The patch adds ACPI_SIG_CEDT to table_sigs[] in "drivers/acpi/tables.c".
>
> The change will probably be made by upstream later regardless. But I've
> reviewed cxl-next and it doesn't seem to be present there yet.
>
> Presently, CXL code isn't able to make use of the CEDT table. Subsequent
> to the change, the CEDT table can be used.
>
> If a developer plans to use the CEDT table to program the CXL ports,
> this change is needed. Otherwise, it isn't expected to make a difference.

What do you think about this?
Rafael J. Wysocki Jan. 20, 2022, 6:49 p.m. UTC | #2
On Thu, Jan 13, 2022 at 12:16 AM Robert Kiraly <me@boldcoder.com> wrote:
>
> This is a simple ACPI patch. I'm submitting a revised version to
> linux-acpi as opposed to linux-pm at Rafael Wysocki's suggestion.
>
> The patch adds ACPI_SIG_CEDT to table_sigs[] in "drivers/acpi/tables.c".

This can be done, but please send a patch in the message body (not as
an attachment) and provide a Signed-off-by tag for it.

Also I'm not sure why the #ifdef is needed.
Dan Williams Jan. 20, 2022, 7:06 p.m. UTC | #3
[ add linux-cxl ]


On Thu, Jan 20, 2022 at 10:49 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Thu, Jan 13, 2022 at 12:16 AM Robert Kiraly <me@boldcoder.com> wrote:
> >
> > This is a simple ACPI patch. I'm submitting a revised version to
> > linux-acpi as opposed to linux-pm at Rafael Wysocki's suggestion.
> >
> > The patch adds ACPI_SIG_CEDT to table_sigs[] in "drivers/acpi/tables.c".
>
> This can be done, but please send a patch in the message body (not as
> an attachment) and provide a Signed-off-by tag for it.

Yes, although I don't see much incremental benefit to developers
publishing a root only raw table given it needs to be parsed along
with all the other cxl information in the system. So, not opposed to
the patch, but I want to direct you to the sysfs representation of the
CEDT and CFMWS in /sys/bus/cxl/devices is what the cxl tool and libcxl
library [1] will be using instead of the raw table. Platform firmware
CXL details are modeled as "CXL root" objects in the /sys/bus/cxl
device model.

[1]: https://github.com/pmem/ndctl/tree/main/cxl
diff mbox series

Patch

--- linux-5.16.old/drivers/acpi/tables.c
+++ linux-5.16/drivers/acpi/tables.c
@@ -500,6 +500,9 @@ 
 	ACPI_SIG_WDDT, ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT,
 	ACPI_SIG_PSDT, ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT,
 	ACPI_SIG_IORT, ACPI_SIG_NFIT, ACPI_SIG_HMAT, ACPI_SIG_PPTT,
+#ifdef ACPI_SIG_CEDT
+       ACPI_SIG_CEDT,
+#endif
 	ACPI_SIG_NHLT };
 
 #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header)