Re: [PATCH 5/5] arm_mpam: detect and enable MPAM-Fb PCC support
From: Andre Przywara
Date: Thu Apr 30 2026 - 05:21:07 EST
Hi Sudeep,
thanks for having a look!
On 4/30/26 10:35, Sudeep Holla wrote:
On Wed, Apr 29, 2026 at 04:13:39PM +0200, Andre Przywara wrote:
The Arm MPAM-Fb specification [1] describes a protocol to access MSC
registers through a firmware interface. This requires a shared memory
region to hold the message, and a mailbox to trigger the access.
For ACPI this is wrapped as a PCC channel, described using existing
ACPI abstractions.
Add code to parse those PCC table descriptions associated with an MSC,
and store the parsed information in the MSC struct.
This will be used by the MPAM-Fb access wrapper code.
[1] https://developer.arm.com/documentation/den0144/latest
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
---
drivers/acpi/arm64/mpam.c | 2 ++
drivers/resctrl/mpam_devices.c | 46 +++++++++++++++++++++++++++++++---
2 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/drivers/acpi/arm64/mpam.c b/drivers/acpi/arm64/mpam.c
index 99c2bdbb3314..edb4d10e8dc3 100644
--- a/drivers/acpi/arm64/mpam.c
+++ b/drivers/acpi/arm64/mpam.c
@@ -341,6 +341,8 @@ static struct platform_device * __init acpi_mpam_parse_msc(struct acpi_mpam_msc_
} else if (iface == MPAM_IFACE_PCC) {
props[next_prop++] = PROPERTY_ENTRY_U32("pcc-channel",
tbl_msc->base_address);
+ props[next_prop++] = PROPERTY_ENTRY_U32("msc-id",
+ tbl_msc->identifier);
I may be looking at the wrong documents, but neither DEN0065 nor DEN0144 carry
any definitions of pcc-channel and msc-id for the device with HID
"“ARMHAA5C". Since "pcc-channel" is already merged, I think I am looking at
wrong documents, please point me to the right one.
Please excuse my ignorance, but I was under the assumption that the strings used here are just unique identifiers that need to match the property_get calls in the MPAM code. Is there any requirement to match those property_entry.name fields with the names given in some spec? And those strings are kernel-internal only, right? But for DT would match exactly the property names?
Those properties correspond to fields in table 4 in DEN0065, as also described in struct acpi_mpam_msc_node in include/acpi/actbl2.h:
- There is "Identifier", that uses distinct IDs for PCC and native MSCs. I named it msc-id, because I'd assume that to be a good name for any (yet to be defined) DT property.
- Then there is "Base address", which doubles as the "subspace ID of the PCC channel", when MPAM-Fb is used. As you mentioned, this is already in, and the original spec name would be very misleading, I think.
So shall those strings be renamed to match the struct names? Or shall I keep the more readable names as of now, and add comments linking them to the spec/struct?
Cheers,
Andre