[PATCH v3] ACPICA: Add SoundWire File Table (SWFT) signature

Maciej Strozek posted 1 patch 1 month, 3 weeks ago
drivers/acpi/tables.c |  2 +-
include/acpi/actbl2.h | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
[PATCH v3] ACPICA: Add SoundWire File Table (SWFT) signature
Posted by Maciej Strozek 1 month, 3 weeks ago
The File Download (FDL) process of SoundWire Class Audio (SDCA) driver,
which provides code/data which may be required by an SDCA device,
utilizes SWFT to obtain that code/data. There is a single SWFT for the
system, and SWFT can contain multiple files (information about the file
as well as its binary contents). The SWFT has a standard ACPI Descriptor
Table Header, followed by SoundWire File definitions as described in
Discovery and Configuration (DisCo) Specification for SoundWire®

Link: https://github.com/acpica/acpica/commit/18c96022
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
---
v3: Added link to ACPICA commit
v2: Removed Change-Id line
---
 drivers/acpi/tables.c |  2 +-
 include/acpi/actbl2.h | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index fa9bb8c8ce953..57fc8bc56166b 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -408,7 +408,7 @@ static const char table_sigs[][ACPI_NAMESEG_SIZE] __nonstring_array __initconst
 	ACPI_SIG_PSDT, ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT,
 	ACPI_SIG_IORT, ACPI_SIG_NFIT, ACPI_SIG_HMAT, ACPI_SIG_PPTT,
 	ACPI_SIG_NHLT, ACPI_SIG_AEST, ACPI_SIG_CEDT, ACPI_SIG_AGDI,
-	ACPI_SIG_NBFT };
+	ACPI_SIG_NBFT, ACPI_SIG_SWFT};

 #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header)

diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 048f5f47f8b88..f726bce3eb849 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -57,6 +57,7 @@
 #define ACPI_SIG_SDEI           "SDEI"	/* Software Delegated Exception Interface Table */
 #define ACPI_SIG_SDEV           "SDEV"	/* Secure Devices table */
 #define ACPI_SIG_SVKL           "SVKL"	/* Storage Volume Key Location Table */
+#define ACPI_SIG_SWFT           "SWFT"	/* SoundWire File Table */
 #define ACPI_SIG_TDEL           "TDEL"	/* TD Event Log Table */

 /*
@@ -3478,6 +3479,26 @@ enum acpi_svkl_format {
 	ACPI_SVKL_FORMAT_RESERVED = 1	/* 1 and greater are reserved */
 };

+/*******************************************************************************
+ * SWFT - SoundWire File Table
+ *
+ * Conforms to "Discovery and Configuration (DisCo) Specification for SoundWire"
+ * Version 2.1, 2 October 2023
+ *
+ ******************************************************************************/
+struct acpi_sw_file {
+	u16 vendor_id;
+	u32 file_id;
+	u16 file_version;
+	u32 file_length;
+	u8 data[];
+};
+
+struct acpi_table_swft {
+	struct acpi_table_header header;
+	struct acpi_sw_file files[];
+};
+
 /*******************************************************************************
  *
  * TDEL - TD-Event Log
--
2.39.5

Re: [PATCH v3] ACPICA: Add SoundWire File Table (SWFT) signature
Posted by Charles Keepax 1 month, 1 week ago
On Mon, Aug 11, 2025 at 02:45:05PM +0100, Maciej Strozek wrote:
> The File Download (FDL) process of SoundWire Class Audio (SDCA) driver,
> which provides code/data which may be required by an SDCA device,
> utilizes SWFT to obtain that code/data. There is a single SWFT for the
> system, and SWFT can contain multiple files (information about the file
> as well as its binary contents). The SWFT has a standard ACPI Descriptor
> Table Header, followed by SoundWire File definitions as described in
> Discovery and Configuration (DisCo) Specification for SoundWire®
> 
> Link: https://github.com/acpica/acpica/commit/18c96022
> Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
> ---

Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>

Thanks,
Charles
Re: [PATCH v3] ACPICA: Add SoundWire File Table (SWFT) signature
Posted by Rafael J. Wysocki 1 month, 1 week ago
On Mon, Aug 25, 2025 at 11:40 AM Charles Keepax
<ckeepax@opensource.cirrus.com> wrote:
>
> On Mon, Aug 11, 2025 at 02:45:05PM +0100, Maciej Strozek wrote:
> > The File Download (FDL) process of SoundWire Class Audio (SDCA) driver,
> > which provides code/data which may be required by an SDCA device,
> > utilizes SWFT to obtain that code/data. There is a single SWFT for the
> > system, and SWFT can contain multiple files (information about the file
> > as well as its binary contents). The SWFT has a standard ACPI Descriptor
> > Table Header, followed by SoundWire File definitions as described in
> > Discovery and Configuration (DisCo) Specification for SoundWire®
> >
> > Link: https://github.com/acpica/acpica/commit/18c96022
> > Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
> > ---
>
> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>

Applied as 6.18 material, thanks!