[PATCH 09/33] ACPI / MPAM: Parse the MPAM table
Ben Horgan
ben.horgan at arm.com
Wed Nov 12 06:55:47 PST 2025
Hi Shaopeng,
On 11/12/25 07:01, Shaopeng Tan (Fujitsu) wrote:
> Hello Ben,
>
>> From: James Morse <james.morse at arm.com>
>>
>> Add code to parse the arm64 specific MPAM table, looking up the cache level
>> from the PPTT and feeding the end result into the MPAM driver.
>>
>> This happens in two stages. Platform devices are created first for the MSC
>> devices. Once the driver probes it calls acpi_mpam_parse_resources() to
>> discover the RIS entries the MSC contains.
>>
>> For now the MPAM hook mpam_ris_create() is stubbed out, but will update the
>> MPAM driver with optional discovered data about the RIS entries.
>>
>> CC: Carl Worth <carl at os.amperecomputing.com>
>> Link: https://developer.arm.com/documentation/den0065/3-0bet/?lang=en
>> Reviewed-by: Lorenzo Pieralisi <lpieralisi at kernel.org>
>> Tested-by: Fenghua Yu <fenghuay at nvidia.com>
>> Tested-by: Shaopeng Tan <tan.shaopeng at jp.fujitsu.com>
>> Tested-by: Peter Newman <peternewman at google.com>
>> Signed-off-by: James Morse <james.morse at arm.com>
>> Signed-off-by: Ben Horgan <ben.horgan at arm.com>
>> +static struct platform_device * __init acpi_mpam_parse_msc(struct
>> +acpi_mpam_msc_node *tbl_msc) {
>> + struct platform_device *pdev __free(platform_device_put) =
>> + platform_device_alloc("mpam_msc", tbl_msc->identifier);
>> + int next_res = 0, next_prop = 0, err;
>> + /* pcc, nrdy, affinity and a sentinel */
>> + struct property_entry props[4] = { 0 };
>> + /* mmio, 2xirq, no sentinel. */
>> + struct resource res[3] = { 0 };
>> + struct acpi_device *companion;
>> + enum mpam_msc_iface iface;
>> + char uid[16];
>> + u32 acpi_id;
>> +
>> + if (!pdev)
>> + return ERR_PTR(-ENOMEM);
>> +
>> + /* Some power management is described in the namespace: */
>> + err = snprintf(uid, sizeof(uid), "%u", tbl_msc->identifier);
>
> It's a bit strange to store the uid length in the variable err.
A little, yes. The value is only used for error checking and it's not
that uncommon so I'll leave it as is.
linux$ git grep 'err = snprintf' | wc -l
17
> Reviewed-by: Shaopeng Tan <tan.shaopeng at jp.fujitsu.com>
>
Thanks!
Thanks,
Ben
More information about the linux-arm-kernel
mailing list