[PATCH RFC v3 09/11] DO NOT MERGE: include: acpi: actbl2: Add structs for RQSC table

Drew Fustini
2026-04-15T01:56:58Z

Add structs for the RQSC table which describes the properties of the
RISC-V QoS controllers (CBQRI) in the system. The table also describes
the topological arrangement of the QoS controllers and resources in the
system. The topology is expressed in terms of the location of the
resources within the system and the relation between the QoS Controller
and the resource it manages.

Note: This is a placeholder for RFC review purposes. The actbl2.h
change must go through upstream ACPICA first and will be replaced by
the auto-generated ACPICA commit once the RQSC spec is ratified.

Link: https://github.com/riscv-non-isa/riscv-cbqri/releases/tag/v1.0
Link: https://github.com/riscv-non-isa/riscv-rqsc/blob/main/src/chapter2.adoc
Signed-off-by: Drew Fustini <fustini@kernel.org>
---
include/acpi/actbl2.h | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 5c0b55e7b3e4..d6f272e848fa 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -55,6 +55,7 @@
#define ACPI_SIG_RGRT "RGRT" /* Regulatory Graphics Resource Table */
#define ACPI_SIG_RHCT "RHCT" /* RISC-V Hart Capabilities Table */
#define ACPI_SIG_RIMT "RIMT" /* RISC-V IO Mapping Table */
+#define ACPI_SIG_RQSC "RQSC" /* RISC-V Quality of Service Controller */
#define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */
#define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */
#define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */
@@ -3351,6 +3352,41 @@ enum acpi_rgrt_image_type {
ACPI_RGRT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
};

+/*******************************************************************************
+ *
+ * RQSC - RISC-V Quality of Service Controller
+ * Version 1
+ *
+ ******************************************************************************/
+
+struct acpi_table_rqsc_fields_res {
+ u8 type;
+ u8 resv;
+ u16 length;
+ u16 flags;
+ u8 resv2;
+ u8 id_type;
+ u64 id1;
+ u32 id2;
+};
+
+struct acpi_table_rqsc_fields {
+ u8 type;
+ u8 resv;
+ u16 length;
+ u32 reg[3];
+ u16 rcid;
+ u16 mcid;
+ u16 flags;
+ u16 nres;
+ struct acpi_table_rqsc_fields_res res[];
+};
+
+struct acpi_table_rqsc {
+ struct acpi_table_header header; /* Common ACPI table header */
+ u32 num;
+};
+
/*******************************************************************************
*
* RHCT - RISC-V Hart Capabilities Table

--
2.43.0