From nobody Mon Feb 9 11:46:53 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70EC6376472; Wed, 28 Jan 2026 20:28:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769632091; cv=none; b=pOGb2gH3okGTOpoMhHSqr5O5eSvDalFuBiczeYvkx61Gd3Dz/sEFHa+QtYm2aSIxssdxNh9Xl5JAdoCfNSzXXNJshm3YeyndY5bia/Q+T4vOpjbIFfblWgFdqqt5rGxUqEUNZbn91TWWexEjds0JjAM3VBh+JvIReucpC/Vkjz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769632091; c=relaxed/simple; bh=jn4odfUh7D9q/BnIUXd595ocfV3eTkf4xm4P7+F2KGs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=M2wOOAYZf63eAW5KheZJDh9c/sP1/uULHO8XzYV+Wy5HZ+PX3+XfNeMqI2BEb42czYIPpDBBERJn+ggT+6bIuOUpSxzl1+G3Ocfzef6fS/3tp+gXpqapaKjfcJhPhYEPfTxeMlNrc11/mfFes+TjkeAyhKN2aDx6fOcFr2b1QgY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MDwDdAd9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MDwDdAd9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A2FFAC16AAE; Wed, 28 Jan 2026 20:28:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769632091; bh=jn4odfUh7D9q/BnIUXd595ocfV3eTkf4xm4P7+F2KGs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=MDwDdAd9XRRNE3fXT1SsP2N74mIyBQurX5zlQpUC8Uwy5AxUyQrSaVBKvEKbod00f 3hInkZQcy1YLatEB3rGECMP/1IUZQsPXikMMnz8mqBG/N4WS0dCQJ/ncBfBhARqLkK v993QwZbPlgeVFVHoLdS+YkInKWyqZru//r+yWQruQdzLUZppye1iEQoeUBJpei/r8 l8yDTPtdKEuywf61SCIRW85jAbXeJUxY+Y+yycda8PnEqfQvOWN6SYz0cA/51FeRWf TTW453sP2DeaNW4ElCPILZLVN4riIItZH/nbq2wBlp8P4qsNwoKEJ5YV2lfrua3Cw7 7FuCBahkxxcow== From: Drew Fustini Date: Wed, 28 Jan 2026 12:27:35 -0800 Subject: [PATCH RFC v2 14/17] include: acpi: actbl2: Add structs for RQSC table Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260128-ssqosid-cbqri-v2-14-dca586b091b9@kernel.org> References: <20260128-ssqosid-cbqri-v2-0-dca586b091b9@kernel.org> In-Reply-To: <20260128-ssqosid-cbqri-v2-0-dca586b091b9@kernel.org> To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= , Samuel Holland , Adrien Ricciardi , Nicolas Pitre , =?utf-8?q?Kornel_Dul=C4=99ba?= , Atish Patra , Atish Kumar Patra , Vasudevan Srinivasan , Ved Shanbhogue , yunhui cui , Chen Pei , Liu Zhiwei , Weiwei Li , guo.wenjia23@zte.com.cn, liu.qingtao2@zte.com.cn, Reinette Chatre , Tony Luck , Babu Moger , Peter Newman , Fenghua Yu , James Morse , Ben Horgan , Dave Martin , Drew Fustini , linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, x86@kernel.org, Rob Herring , "Rafael J. Wysocki" , Len Brown , Robert Moore , Sunil V L , Krzysztof Kozlowski , Conor Dooley Cc: Paul Walmsley , linux-acpi@vger.kernel.org, acpica-devel@lists.linux.dev, devicetree@vger.kernel.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3784; i=fustini@kernel.org; h=from:subject:message-id; bh=jn4odfUh7D9q/BnIUXd595ocfV3eTkf4xm4P7+F2KGs=; b=owGbwMvMwCV2+43O4ZsaG3kYT6slMWRWFQYuf+rF9cdUp/OLUNZB9dDmGU1v8/a8TDT4kd770 Fs8T2hKRykLgxgXg6yYIsumD3kXlniFfl0w/8U2mDmsTCBDGLg4BWAiF7Yx/E/VP/jo2DT+dXOC L1V5Le1/cSEtaInd38bvD4/9YGFy+JTMyHB+ZtysU13nM+xZDl1pKptxhLP42asagWTH7GXyDe8 murAAAA== X-Developer-Key: i=fustini@kernel.org; a=openpgp; fpr=1B6F948213EA489734F3997035D5CD577C1E6010 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. 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.ad= oc Signed-off-by: Drew Fustini --- include/acpi/actbl2.h | 92 +++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 92 insertions(+) diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index f726bce3eb84..7367990349ee 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h @@ -53,6 +53,7 @@ #define ACPI_SIG_RGRT "RGRT" /* Regulatory Graphics Resource Tab= le */ #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 RISC-V Quality of Service= Controller */ #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Tabl= e */ #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Int= erface Table */ #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ @@ -3165,6 +3166,97 @@ enum acpi_rgrt_image_type { ACPI_RGRT_TYPE_RESERVED =3D 2 /* 2 and greater are reserved */ }; =20 +/*************************************************************************= ****** + * + * RQSC - RISC-V Quality of Service Controller + * Version 1 + * + *************************************************************************= *****/ + +struct acpi_table_rqsc_fields_res { + u8 type; // 1 + u8 resv; // 1 + u16 length; // 2 + u16 flags; // 2 + u8 resv2; // 1 + u8 id_type; // 1 + u64 id1; // 8 + u32 id2; // 4 +}; + +struct acpi_table_rqsc_fields { + u8 type; // 1 + u8 resv; // 1 + u16 length; // 2 + u32 reg[3]; // 12 + u32 rcid; // 4 + u32 mcid; // 4 + u16 flags; // 2 + u16 nres; // 2 + struct acpi_table_rqsc_fields_res res; // 20 +}; + +struct acpi_table_rqsc { + struct acpi_table_header header; /* Common ACPI table header */ + u32 num; + struct acpi_table_rqsc_fields f[6]; +}; + +/* RQSC Flags */ +#define ACPI_RQSC_TIMER_CANNOT_WAKEUP_CPU (1) + +/* + * RQSC subtables + */ +struct acpi_rqsc_node_header { + u16 type; + u16 length; + u16 revision; +}; + +/* Values for RQSC subtable Type above */ +enum acpi_rqsc_node_type { + ACPI_RQSC_NODE_TYPE_ISA_STRING =3D 0x0000, + ACPI_RQSC_NODE_TYPE_CMO =3D 0x0001, + ACPI_RQSC_NODE_TYPE_MMU =3D 0x0002, + ACPI_RQSC_NODE_TYPE_RESERVED =3D 0x0003, + ACPI_RQSC_NODE_TYPE_HART_INFO =3D 0xFFFF, +}; + +/* + * RQSC node specific subtables + */ + +/* ISA string node structure */ +struct acpi_rqsc_isa_string { + u16 isa_length; + char isa[]; +}; + +struct acpi_rqsc_cmo_node { + u8 reserved; /* Must be zero */ + u8 cbom_size; /* CBOM size in powerof 2 */ + u8 cbop_size; /* CBOP size in powerof 2 */ + u8 cboz_size; /* CBOZ size in powerof 2 */ +}; + +struct acpi_rqsc_mmu_node { + u8 reserved; /* Must be zero */ + u8 mmu_type; /* Virtual Address Scheme */ +}; + +enum acpi_rqsc_mmu_type { + ACPI_RQSC_MMU_TYPE_SV39 =3D 0, + ACPI_RQSC_MMU_TYPE_SV48 =3D 1, + ACPI__MMU_TYPE_SV57 =3D 2 +}; + +/* Hart Info node structure */ +struct acpi_rqsc_hart_info { + u16 num_offsets; + u32 uid; /* ACPI processor UID */ +}; + /*************************************************************************= ****** * * RHCT - RISC-V Hart Capabilities Table --=20 2.43.0