mbox series

[v2,0/4] acpi: Add CDAT parsing support to ACPI tables code

Message ID 168443445827.2966470.16511867875780059322.stgit@djiang5-mobl3
Headers show
Series acpi: Add CDAT parsing support to ACPI tables code | expand

Message

Dave Jiang May 18, 2023, 6:32 p.m. UTC
v2:
- Split out with CONFIG_ACPI_TABLES_LIB to be independent
- Fixed 0-day issues
- Change CDAT releveant names to prefix with cdat/CDAT instead of
  acpi/ACPI. (Jonathan)
- Make table_header a union with cdat table header instead of
  'acpi_table_header'. (Jonathan)
- Removed ACPI_SIG_CDAT, already defined.

Hi Rafael,
Please consider these for 6.5 merge window.

I've broken out the "cxl: Add support for QTG ID retrieval for CXL subsystem" [1]
series in order to make it more manageable. Here's the first part of the ACPI
changes. These changes are added to allow reuse of ACPI tables code to parse
the CDAT tables. While CDAT is not part of ACPI, the table structures are similar
to ACPI layouts that the code can be reused with some small modifications.

However, in order to be properly utilized by CXL users, the tables code needs
to be refactored out to be independent of ACPI. For example, a PPC BE host may
have CXL and does not have ACPI support. But it will have CDAT to read from
devices and switches. I have created CONFIG_ACPI_TABLES_LIB in order to allow
the common code to be independent. 0-day seems to be happy now for all the
different configs and archs.

1/4: Split out the common code from drivers/acpi/tables.c
2/4: Add CDAT support
3,4/4: These two are minor patches that has ACPICA impact. Has been merged into
       the ACPICA git repo [3].

The whole series is at [2] for convenience.

[1]: https://lore.kernel.org/linux-cxl/168193556660.1178687.15477509915255912089.stgit@djiang5-mobl3/T/#t                                                                                               
[2]: https://git.kernel.org/pub/scm/linux/kernel/git/djiang/linux.git/log/?h=cxl-qtg
[3]: https://github.com/acpica/acpica/pull/874

---

Dave Jiang (4):
      acpi: Move common tables helper functions to common lib
      acpi: tables: Add CDAT table parsing support
      acpi: fix misnamed define for CDAT DSMAS
      acpi: Add defines for CDAT SSLBIS


 drivers/Makefile          |   2 +-
 drivers/acpi/Kconfig      |   4 +
 drivers/acpi/Makefile     |   3 +
 drivers/acpi/tables.c     | 178 +---------------------------
 drivers/acpi/tables_lib.c | 240 ++++++++++++++++++++++++++++++++++++++
 include/acpi/actbl1.h     |   5 +-
 include/linux/acpi.h      |  81 +++++++++----
 7 files changed, 312 insertions(+), 201 deletions(-)
 create mode 100644 drivers/acpi/tables_lib.c

--