Re: [PATCH v1 03/11] arm_mpam: Set mpam_feat_msmon_mbwu_31counter when there are bandwidth counters
From: Ben Horgan
Date: Thu Jul 16 2026 - 05:26:52 EST
Hi Gavin,
On 7/16/26 05:18, Gavin Shan wrote:
> On 7/10/26 9:55 PM, Ben Horgan wrote:
>> If there are memory bandwidth counters then there are 31 bit counters even
>> if there are also 44 bit counters or 63 bit counters.
>>
>> Set the 31 bit bandwidth counter feature bit whenever there are bandwidth
>> counters.
>>
>> Fixes: fdc29a141d63 ("arm_mpam: Probe for long/lwd mbwu counters")
>> Signed-off-by: Ben Horgan <ben.horgan@xxxxxxx>
>> ---
>> drivers/resctrl/mpam_devices.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>
> It might be worthwhile to put some context in the commit log helping readers
> to correlate to the specification. What I found is something like below in
> section 8.2.1.2 Long MBWU counter and capture of ARM IHI 0099A.a:
>
> In MSMON_MBWU, the VALUE field is always 31 bits. If MSMON_MBWU_L is implemented,
> the length of the VALUE field is either 63 or 44 bits as set by MPAMF_MBWUMON_IDR.LWD.
How about?
When MPAMF_MSMON_IDR.MSMON_MBWU is 1, MSMON_MBWU is present and has a VALUE field of 31 bits. If
additionally, MPAMF_MBWUMON_IDR.HAS_LONG is 1, then MSMON_MBWU_L is also present and has a VALUE
field of 44 or 63 bits as indicated by MPAMF_MBWUMON_IDR.LWD.
Thanks,
Ben
>
>> diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c
>> index acfa9a4dc2fc..11b10c3bc334 100644
>> --- a/drivers/resctrl/mpam_devices.c
>> +++ b/drivers/resctrl/mpam_devices.c
>> @@ -930,9 +930,9 @@ static void mpam_ris_hw_probe(struct mpam_msc_ris *ris)
>> mpam_set_feature(mpam_feat_msmon_mbwu_63counter, props);
>> else
>> mpam_set_feature(mpam_feat_msmon_mbwu_44counter, props);
>> - } else {
>> - mpam_set_feature(mpam_feat_msmon_mbwu_31counter, props);
>> }
>> +
>> + mpam_set_feature(mpam_feat_msmon_mbwu_31counter, props);
>> }
>> }
>> }
>
> Thanks,
> Gavin
>