From: Yin Li <yin.li@oss.qualcomm.com>
To: James Morse <james.morse@arm.com>, Rob Herring <robh@kernel.org>,
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>
Cc: "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 RFC v2 07/10] arm_mpam: Fix mpam_dt_create_foundling_msc() to create MSC platform devices
Date: Wed, 23 Sep 2026 10:59:19 +0800 [thread overview]
Message-ID: <272abb48-8f13-4fe8-a7ab-bfa353f1f8ec@oss.qualcomm.com> (raw)
In-Reply-To: <20260914-mpam-resctrl-dt-knp-support-v2-7-bf6645bb2f65@oss.qualcomm.com>
On 9/14/2026 5:37 PM, Yin Li wrote:
> The original code created a platform device for the cache node itself
> rather than for the MSC, so the MSC was never created. Instead, walk
> the cache's children using for_each_child_of_node_scoped() and create
> the platform device for the MSC child node, skipping cache parents
> that firmware has marked disabled.
>
> 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>
> ---
> drivers/resctrl/mpam_devices.c | 27 ++++++++++++---------------
> 1 file changed, 12 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c
> index 480e38cfa86d..7ef3ed55b066 100644
> --- a/drivers/resctrl/mpam_devices.c
> +++ b/drivers/resctrl/mpam_devices.c
> @@ -2366,23 +2366,20 @@ static struct platform_driver mpam_msc_driver = {
> */
> static void mpam_dt_create_foundling_msc(void)
> {
> - struct platform_device *pdev;
> - struct device_node *cache;
> -
> - for_each_compatible_node(cache, NULL, "cache") {
> - struct device_node *cache_device;
> -
> - if (of_node_check_flag(cache, OF_POPULATED))
> - continue;
> -
> - cache_device = of_find_matching_node_and_match(cache, mpam_of_match, NULL);
> - if (!cache_device)
> + for_each_compatible_node_scoped(cache, NULL, "cache") {
> + if (!of_device_is_available(cache))
> continue;
Hi,
As sashiko-bot said:Checking of_device_is_available(cache) here
introduces a mismatch with mpam_dt_count_msc(), which only checks
whether the MSC node itself is available, not its parent cache. And in
practice, cache nodes are rarely if ever marked as disabled in the
device tree, so this check adds unnecessary inconsistency without a real
benefit.
I'll remove the cache availability check in the next version to keep the
two consistent.
Thanks,
Yin
> - of_node_put(cache_device);
>
> - pdev = of_platform_device_create(cache, "cache", NULL);
> - if (!pdev)
> - pr_err_once("Failed to create MSC devices under caches\n");
> + for_each_child_of_node_scoped(cache, child) {
> + if (!of_match_node(mpam_of_match, child))
> + continue;
> + if (!of_device_is_available(child))
> + continue;
> + if (of_node_check_flag(child, OF_POPULATED))
> + continue;
> + if (!of_platform_device_create(child, NULL, NULL))
> + pr_err("Failed to create MSC device for %pOF\n", child);
> + }
> }
> }
>
>
--
Thx and BRs,
Yin
next prev parent reply other threads:[~2026-09-23 2:59 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-14 9:37 [PATCH RFC v2 00/10] arm-mpam: Add basic device tree support for resctrl Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 01/10] arm_mpam: Fix the RIS index range check in mpam_ris_create_locked Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 02/10] arm_mpam: Fix MSC MMIO window size off-by-one with resource_size() Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 03/10] dt-bindings: arm: Add MPAM MSC binding Yin Li
2026-09-14 14:41 ` Andre Przywara
2026-09-14 14:50 ` Andre Przywara
2026-09-15 2:49 ` Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 04/10] cacheinfo: Expose the code to generate a cache-id from a device_node Yin Li
2026-09-14 12:26 ` Andre Przywara
2026-09-15 6:49 ` Yin Li
2026-09-15 7:59 ` Andre Przywara
2026-09-16 2:29 ` Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 05/10] arm_mpam: Add device tree support for MSC probing Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 06/10] arm_mpam: Add support for memory controller MSC on DT platforms Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 07/10] arm_mpam: Fix mpam_dt_create_foundling_msc() to create MSC platform devices Yin Li
2026-09-23 2:59 ` Yin Li [this message]
2026-09-14 9:37 ` [PATCH RFC v2 08/10] dt-bindings: arm: Fix MPAM MSC binding schema and examples Yin Li
2026-09-14 9:37 ` [PATCH RFC v2 09/10] arm_mpam: Support MSC accessibility derivation from RIS nodes Yin Li
2026-09-14 9:37 ` [PATCH DNM RFC v2 10/10] arm64: dts: qcom: kaanapali: Add MPAM MSC nodes for the L2 caches Yin Li
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=272abb48-8f13-4fe8-a7ab-bfa353f1f8ec@oss.qualcomm.com \
--to=yin.li@oss.qualcomm.com \
--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=robh@kernel.org \
--cc=sdonthineni@nvidia.com \
--cc=srivathsa.rao@oss.qualcomm.com \
--cc=tan.shaopeng@jp.fujitsu.com \
--cc=trilok.soni@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®