]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ACPICA: Add SoundWire File Table (SWFT) signature
authorMaciej Strozek <mstrozek@opensource.cirrus.com>
Mon, 11 Aug 2025 13:45:05 +0000 (14:45 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 25 Aug 2025 14:44:36 +0000 (16:44 +0200)
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>
Link: https://patch.msgid.link/20250811134505.1162661-1-mstrozek@opensource.cirrus.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/tables.c
include/acpi/actbl2.h

index fa9bb8c8ce9534b2c2bcfc761ca785ac15e5c41a..57fc8bc56166b6e2170a939e7f22252186844ae6 100644 (file)
@@ -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)
 
index 048f5f47f8b88c87afc883a55e3cb34fbc3cf7ea..f726bce3eb8494f4d18406f5d24b601b7463f598 100644 (file)
@@ -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