[PATCH RFC v2 17/17] acpi: riscv: Add support for RISC-V Quality of Service Controller (RQSC)

Drew Fustini fustini at kernel.org
Wed Jan 28 12:27:38 PST 2026


Enable support for the RQSC table which describes the capacity and
bandwidth QoS (CBQRI) controllers in a system.

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/
Signed-off-by: Drew Fustini <fustini at kernel.org>
---
 drivers/acpi/riscv/init.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/acpi/riscv/init.c b/drivers/acpi/riscv/init.c
index 7c00f7995e86..784fa0c56516 100644
--- a/drivers/acpi/riscv/init.c
+++ b/drivers/acpi/riscv/init.c
@@ -6,10 +6,29 @@
 
 #include <linux/acpi.h>
 #include "init.h"
+#include <linux/riscv_qos.h>
 
 void __init acpi_arch_init(void)
 {
+	struct acpi_table_header *rqsc;
+	acpi_status status;
+	int rc;
+
 	riscv_acpi_init_gsi_mapping();
+
 	if (IS_ENABLED(CONFIG_ACPI_RIMT))
 		riscv_acpi_rimt_init();
+
+	if (!acpi_disabled) {
+		status = acpi_get_table(ACPI_SIG_RQSC, 0, &rqsc);
+		if (ACPI_FAILURE(status)) {
+			pr_err("%s(): failed to find ACPI RQSC table: %d", __func__,
+			       ACPI_FAILURE(status));
+		} else {
+			rc = acpi_parse_rqsc(rqsc);
+			if (rc < 0)
+				pr_err("%s(): failed to parse ACPI RQSC table: %d", __func__, rc);
+		}
+		acpi_put_table((struct acpi_table_header *)rqsc);
+	}
 }

-- 
2.43.0




More information about the linux-riscv mailing list