All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Horgan <ben.horgan@arm.com>
To: James Morse <james.morse@arm.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, zengheng4@huawei.com
Cc: wangkefeng.wang@huawei.com, xry111@xry111.site,
	catalin.marinas@arm.com, yang@os.amperecomputing.com,
	reinette.chatre@intel.com, will@kernel.org, thuth@redhat.com,
	mrigendra.chaubey@gmail.com, fenghuay@nvidia.com,
	ahmed.genidi@arm.com
Subject: Re: [PATCH v3 4/4] arm_mpam: Update architecture version check for MPAM MSC
Date: Fri, 8 May 2026 17:35:21 +0100	[thread overview]
Message-ID: <f3cdc225-110d-497b-9ff9-ebe6c13faf9f@arm.com> (raw)
In-Reply-To: <20260508162341.3762549-5-james.morse@arm.com>

Hi James,

On 5/8/26 17:23, James Morse wrote:
> From: Zeng Heng <zengheng4@huawei.com>
> 
> In addition to updating the CPU MPAM version check, the MPAM MSC version
> check also need to be updated. mpam_msc_check_aidr() is added to check
> the MSC AIDR register, ensuring that both the major and minor version
> numbers fall within the supported range of the MPAM architecture version.
> 
> Signed-off-by: Zeng Heng <zengheng4@huawei.com>
> [ morse: changed mpam_msc_check_aidr() to accept versions like v1.2 ]
> Signed-off-by: James Morse <james.morse@arm.com>
> ---
>  drivers/resctrl/mpam_devices.c | 23 ++++++++++++++++++++---
>  1 file changed, 20 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c
> index 916d8fd45ed5..1771e9712ca2 100644
> --- a/drivers/resctrl/mpam_devices.c
> +++ b/drivers/resctrl/mpam_devices.c
> @@ -224,6 +224,24 @@ static inline void _mpam_write_monsel_reg(struct mpam_msc *msc, u16 reg, u32 val
>  
>  #define mpam_write_monsel_reg(msc, reg, val)   _mpam_write_monsel_reg(msc, MSMON_##reg, val)
>  
> +static bool mpam_msc_check_aidr(struct mpam_msc *msc)
> +{
> +	u32 aidr = __mpam_read_reg(msc, MPAMF_AIDR);
> +	u32 major = FIELD_GET(MPAMF_AIDR_ARCH_MAJOR_REV, aidr);
> +	u32 minor = FIELD_GET(MPAMF_AIDR_ARCH_MINOR_REV, aidr);
> +
> +	/*
> +	 * v0.0 and >v2.x aren't supported, but anything else should be backward
> +	 * compatible to v0.1 or v1.0.
> +	 */
> +	if (!major && !minor)
> +		return false;
> +	if (major > 1)
> +		return false;
> +
> +	return true;
> +}
> +
>  static u64 mpam_msc_read_idr(struct mpam_msc *msc)
>  {
>  	u64 idr_high = 0, idr_low;
> @@ -951,9 +969,8 @@ static int mpam_msc_hw_probe(struct mpam_msc *msc)
>  
>  	lockdep_assert_held(&msc->probe_lock);
>  
> -	idr = __mpam_read_reg(msc, MPAMF_AIDR);
> -	if ((idr & MPAMF_AIDR_ARCH_MAJOR_REV) != MPAM_ARCHITECTURE_V1) {

nit: MPAM_ARCHITECTURE_V1 is now unused.

Reviewed-by: Ben Horgan <ben.horgan@arm.com>

Thanks,

Ben

> -		dev_err_once(dev, "MSC does not match MPAM architecture v1.x\n");
> +	if (!mpam_msc_check_aidr(msc)) {
> +		dev_err_once(dev, "MSC does not match architecture v1.x\n");
>  		return -EIO;
>  	}
>  



  reply	other threads:[~2026-05-08 16:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-08 16:23 [PATCH v3 0/4] arm_mpam: Add support for the MPAM v0.1 architecture version James Morse
2026-05-08 16:23 ` [PATCH v3 1/4] arm_mpam: Fix false positive assert failure during mpam_disable() James Morse
2026-05-11 11:19   ` Ben Horgan
2026-05-08 16:23 ` [PATCH v3 2/4] arm_mpam: Check whether the config array is allocated before destroying it James Morse
2026-05-11 11:23   ` Ben Horgan
2026-05-08 16:23 ` [PATCH v3 3/4] arm64: cpufeature: Add support for the MPAM v0.1 architecture version James Morse
2026-05-14 14:22   ` Catalin Marinas
2026-05-08 16:23 ` [PATCH v3 4/4] arm_mpam: Update architecture version check for MPAM MSC James Morse
2026-05-08 16:35   ` Ben Horgan [this message]
2026-05-09  6:26     ` Zeng Heng
2026-05-14 14:08 ` (subset) [PATCH v3 0/4] arm_mpam: Add support for the MPAM v0.1 architecture version Catalin Marinas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f3cdc225-110d-497b-9ff9-ebe6c13faf9f@arm.com \
    --to=ben.horgan@arm.com \
    --cc=ahmed.genidi@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=fenghuay@nvidia.com \
    --cc=james.morse@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mrigendra.chaubey@gmail.com \
    --cc=reinette.chatre@intel.com \
    --cc=thuth@redhat.com \
    --cc=wangkefeng.wang@huawei.com \
    --cc=will@kernel.org \
    --cc=xry111@xry111.site \
    --cc=yang@os.amperecomputing.com \
    --cc=zengheng4@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.