From: Rob Herring <robh@kernel.org>
To: Yin Li <yin.li@oss.qualcomm.com>
Cc: "James Morse" <james.morse@arm.com>,
"Shanker Donthineni" <sdonthineni@nvidia.com>,
"Ben Horgan" <ben.horgan@arm.com>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Danilo Krummrich" <dakr@kernel.org>,
"Reinette Chatre" <reinette.chatre@intel.com>,
"Fenghua Yu" <fenghuay@nvidia.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Gavin Shan" <gshan@redhat.com>,
"Andre Przywara" <andre.przywara@arm.com>,
"Drew Fustini" <fustini@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Shaopeng Tan" <tan.shaopeng@jp.fujitsu.com>,
trilok.soni@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com,
ganapatrao.kulkarni@oss.qualcomm.com,
"Srivathsa L Rao" <srivathsa.rao@oss.qualcomm.com>,
"Huang Yiwei" <huang.yiwei@oss.qualcomm.com>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
driver-core@lists.linux.dev, devicetree@vger.kernel.org
Subject: Re: [PATCH DNM v3 8/8] arm64: dts: qcom: kaanapali: Add MPAM MSC nodes for the L2 caches
Date: Thu, 8 Oct 2026 16:00:04 -0500 [thread overview]
Message-ID: <20261008210004.GA1318789-robh@kernel.org> (raw)
In-Reply-To: <20261008-mpam-resctrl-dt-knp-support-v3-8-35196c2b43bf@oss.qualcomm.com>
On Thu, Oct 08, 2026 at 02:41:17PM +0800, Yin Li wrote:
> Add an MPAM MSC device node for each L2 cache. Each MSC is nested
> directly under its L2 cache node so that the cache node is the MSC's
> parent device and its CPU affinity is derived from that cache.
>
> The L2 cache nodes are placed directly under the root node. The root is
> the root of the physical address space, so each cache node only needs an
> identity 'ranges' property for its nested MSC's 'reg' to be resolved to
> a physical address. The two caches use distinct node names (l2-cache-0
> and l2-cache-1) since a cache node has no MMIO unit-address of its own.
>
> The nodes are disabled by default. Production firmware does not expose
> MSC register access to the OS, so these nodes can only be enabled on a
> local test setup where firmware permits direct MMIO access to the MSCs.
> This DTS is therefore only an example for other platform DT authors and
> is not intended to be merged.
>
> Co-developed-by: Huang Yiwei <huang.yiwei@oss.qualcomm.com>
> Signed-off-by: Huang Yiwei <huang.yiwei@oss.qualcomm.com>
> Signed-off-by: Yin Li <yin.li@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 50 +++++++++++++++++++++++++--------
> 1 file changed, 38 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index 131fd2a16c54..b1dcb1e9c570 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -48,12 +48,6 @@ cpu0: cpu@0 {
> power-domains = <&cpu_pd0>, <&scmi_perf 0>;
> power-domain-names = "psci", "perf";
> #cooling-cells = <2>;
> -
> - l2_0: l2-cache {
> - compatible = "cache";
> - cache-level = <2>;
> - cache-unified;
> - };
> };
>
> cpu1: cpu@100 {
> @@ -120,12 +114,6 @@ cpu6: cpu@10000 {
> power-domains = <&cpu_pd6>, <&scmi_perf 1>;
> power-domain-names = "psci", "perf";
> #cooling-cells = <2>;
> -
> - l2_1: l2-cache {
> - compatible = "cache";
> - cache-level = <2>;
> - cache-unified;
> - };
> };
>
> cpu7: cpu@10100 {
> @@ -531,6 +519,44 @@ soccp_smp2p_in: slave-kernel {
> };
> };
>
> + l2_0: l2-cache-0 {
cache@19870000
> + compatible = "cache";
You need a specific compatible here for your implementation.
> + cache-level = <2>;
> + cache-unified;
> + cache-size = <0xc00000>;
> + ranges;
Are there any other registers for the cache other than the MSC? If not,
then:
ranges = <0x0 0x19870000 0x10000>;
If there are, you need 'reg' here.
> +
> + #address-cells = <2>;
> + #size-cells = <2>;
You don't need 64 bits of address and size here.
> +
> + msc@19870000 {
> + compatible = "arm,mpam-msc";
> + reg = <0x0 0x19870000 0x0 0x10000>;
The MPAM register length is 0x321C.
Rob
next prev parent reply other threads:[~2026-10-08 21:00 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-08 6:41 [PATCH v3 0/8] arm-mpam: Add basic device tree support for resctrl Yin Li
2026-10-08 6:41 ` [PATCH v3 1/8] arm_mpam: Fix the RIS index range check in mpam_ris_create_locked Yin Li
2026-10-08 6:41 ` [PATCH v3 2/8] arm_mpam: Fix MSC MMIO window size off-by-one with resource_size() Yin Li
2026-10-08 6:41 ` [PATCH v3 3/8] dt-bindings: arm: Add MPAM MSC binding Yin Li
2026-10-08 21:27 ` Rob Herring
2026-10-12 7:05 ` Yin Li
2026-10-12 10:24 ` Yin Li
2026-10-08 6:41 ` [PATCH v3 4/8] cacheinfo: Expose the code to generate a cache-id from a device_node Yin Li
2026-10-08 6:55 ` sashiko-bot
2026-10-08 6:41 ` [PATCH v3 5/8] arm_mpam: Add device tree support for MSC probing Yin Li
2026-10-08 6:57 ` sashiko-bot
2026-10-08 6:41 ` [PATCH v3 6/8] arm_mpam: Add support for memory controller MSC on DT platforms Yin Li
2026-10-08 7:00 ` sashiko-bot
2026-10-08 21:29 ` Rob Herring
2026-10-12 10:11 ` Yin Li
2026-10-08 6:41 ` [PATCH v3 7/8] arm_mpam: Support MSC accessibility derivation from RIS nodes Yin Li
2026-10-08 6:59 ` sashiko-bot
2026-10-08 6:41 ` [PATCH DNM v3 8/8] arm64: dts: qcom: kaanapali: Add MPAM MSC nodes for the L2 caches Yin Li
2026-10-08 6:55 ` sashiko-bot
2026-10-08 21:00 ` Rob Herring [this message]
2026-10-12 10:48 ` Yin Li
2026-10-12 11:27 ` Ben Horgan
2026-10-13 10:13 ` Yin Li
2026-10-13 10:37 ` Ben Horgan
2026-10-13 10:54 ` Konrad Dybcio
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=20261008210004.GA1318789-robh@kernel.org \
--to=robh@kernel.org \
--cc=aiqun.yu@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=andre.przywara@arm.com \
--cc=ben.horgan@arm.com \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=dakr@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=driver-core@lists.linux.dev \
--cc=fenghuay@nvidia.com \
--cc=fustini@kernel.org \
--cc=ganapatrao.kulkarni@oss.qualcomm.com \
--cc=gregkh@linuxfoundation.org \
--cc=gshan@redhat.com \
--cc=huang.yiwei@oss.qualcomm.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=james.morse@arm.com \
--cc=jic23@kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=reinette.chatre@intel.com \
--cc=sdonthineni@nvidia.com \
--cc=srivathsa.rao@oss.qualcomm.com \
--cc=tan.shaopeng@jp.fujitsu.com \
--cc=trilok.soni@oss.qualcomm.com \
--cc=yin.li@oss.qualcomm.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.