[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<OSZPR01MB8798D32C112B7A05B97C12C88BCCA@OSZPR01MB8798.jpnprd01.prod.outlook.com>
Date: Wed, 12 Nov 2025 08:03:26 +0000
From: "Shaopeng Tan (Fujitsu)" <tan.shaopeng@...itsu.com>
To: 'Ben Horgan' <ben.horgan@....com>, "james.morse@....com"
<james.morse@....com>
CC: "amitsinght@...vell.com" <amitsinght@...vell.com>,
"baisheng.gao@...soc.com" <baisheng.gao@...soc.com>,
"baolin.wang@...ux.alibaba.com" <baolin.wang@...ux.alibaba.com>,
"bobo.shaobowang@...wei.com" <bobo.shaobowang@...wei.com>,
"carl@...amperecomputing.com" <carl@...amperecomputing.com>,
"catalin.marinas@....com" <catalin.marinas@....com>, "dakr@...nel.org"
<dakr@...nel.org>, "dave.martin@....com" <dave.martin@....com>,
"david@...hat.com" <david@...hat.com>, "dfustini@...libre.com"
<dfustini@...libre.com>, "fenghuay@...dia.com" <fenghuay@...dia.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>, "gshan@...hat.com"
<gshan@...hat.com>, "guohanjun@...wei.com" <guohanjun@...wei.com>,
"jeremy.linton@....com" <jeremy.linton@....com>,
"jonathan.cameron@...wei.com" <jonathan.cameron@...wei.com>,
"kobak@...dia.com" <kobak@...dia.com>, "lcherian@...vell.com"
<lcherian@...vell.com>, "lenb@...nel.org" <lenb@...nel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "lpieralisi@...nel.org"
<lpieralisi@...nel.org>, "peternewman@...gle.com" <peternewman@...gle.com>,
"quic_jiles@...cinc.com" <quic_jiles@...cinc.com>, "rafael@...nel.org"
<rafael@...nel.org>, "robh@...nel.org" <robh@...nel.org>,
"rohit.mathew@....com" <rohit.mathew@....com>, "scott@...amperecomputing.com"
<scott@...amperecomputing.com>, "sdonthineni@...dia.com"
<sdonthineni@...dia.com>, "sudeep.holla@....com" <sudeep.holla@....com>,
"will@...nel.org" <will@...nel.org>, "xhao@...ux.alibaba.com"
<xhao@...ux.alibaba.com>
Subject: RE: [PATCH 15/33] arm_mpam: Add helpers for managing the locking
around the mon_sel registers
> From: James Morse <james.morse@....com>
>
> The MSC MON_SEL register needs to be accessed from hardirq for the overflow
> interrupt, and when taking an IPI to access these registers on platforms where
> MSC are not accessible from every CPU. This makes an irqsave spinlock the
> obvious lock to protect these registers. On systems with SCMI or PCC
> mailboxes it must be able to sleep, meaning a mutex must be used.
> The SCMI or PCC platforms can't support an overflow interrupt, and can't
> access the registers from hardirq context.
>
> Clearly these two can't exist for one MSC at the same time.
>
> Add helpers for the MON_SEL locking. For now, use a irqsave spinlock and only
> support 'real' MMIO platforms.
>
> In the future this lock will be split in two allowing SCMI/PCC platforms to take
> a mutex. Because there are contexts where the SCMI/PCC platforms can't
> make an access, mpam_mon_sel_lock() needs to be able to fail. Do this now,
> so that all the error handling on these paths is present. This allows the relevant
> paths to fail if they are needed on a platform where this isn't possible, instead
> of having to make explicit checks of the interface type.
>
> Tested-by: Fenghua Yu <fenghuay@...dia.com>
> Reviewed-by: Jonathan Cameron <jonathan.cameron@...wei.com>
> Tested-by: Shaopeng Tan <tan.shaopeng@...fujitsu.com>
> Tested-by: Peter Newman <peternewman@...gle.com>
> Signed-off-by: James Morse <james.morse@....com>
> Signed-off-by: Ben Horgan <ben.horgan@....com>
> ---
Reviewed-by: Shaopeng Tan <tan.shaopeng@...fujitsu.com>
Powered by blists - more mailing lists