[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9AdICiyaCmzKh-N@bogus>
Date: Tue, 11 Mar 2025 11:23:12 +0000
From: Sudeep Holla <sudeep.holla@....com>
To: Peng Fan <peng.fan@....com>
Cc: "Peng Fan (OSS)" <peng.fan@....nxp.com>,
Cristian Marussi <cristian.marussi@....com>,
Sudeep Holla <sudeep.holla@....com>,
Saravana Kannan <saravanak@...gle.com>,
"Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
Linus Walleij <linus.walleij@...aro.org>,
Aisheng Dong <aisheng.dong@....com>,
"Fabio Estevam" <festevam@...il.com>,
Shawn Guo <shawnguo@...nel.org>, Jacky Bai <ping.bai@....com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
"Sascha Hauer" <s.hauer@...gutronix.de>,
"arm-scmi@...r.kernel.org" <arm-scmi@...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>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"imx@...ts.linux.dev" <imx@...ts.linux.dev>
Subject: Re: [PATCH 1/4] firmware: arm_scmi: bus: Bypass setting fwnode for
scmi cpufreq
On Tue, Mar 11, 2025 at 11:12:45AM +0000, Peng Fan wrote:
> Based on linux-next, I added below node:
>
> +
> + test@...00000 {
> + compatible = "fsl,imx-test";
> + power-domains = <&scmi_devpd IMX95_PD_VPU>, <&scmi_perf IMX95_PERF_VPU>;
> + power-domain-names = "vpumix", "vpuperf";
> + };
>
> I not write a driver for it, so just check devlink information from sysfs interface.
>
> From below sys directory, this test device takes scmi_dev.4 and scmi_dev.3 as supplier.
> root@...95evk:/sys/bus/platform/devices/soc:test@...00000# ls
> driver_override of_node subsystem supplier:scmi_protocol:scmi_dev.4 waiting_for_supplier
> modalias power supplier:scmi_protocol:scmi_dev.3 uevent
>
> Checking scmi_dev.4 below, it is scmi cpufreq, not the scmi perf device.
> scmi_dev.3 is correct, it is genpd.
>
> root@...95evk:/sys/bus/platform/devices/soc:test@...00000# cat /sys/bus/scmi_protocol/devices/scmi_dev.4/modalias
> scmi_dev.4:13:cpufreq
> root@...95evk:/sys/bus/platform/devices/soc:test@...00000# cat /sys/bus/scmi_protocol/devices/scmi_dev.3/modalias
> scmi_dev.3:11:genpd
> root@...95evk:/sys/bus/platform/devices/soc:test@...00000#
>
>
> So it is clear that wrong fw_devlink is created, it is because scmi cpufreq device is
> created earlier and when device_add, the below logic makes the fwnode pointer points
> to scmi cpufreq device.
> if (dev->fwnode && !dev->fwnode->dev) {
> dev->fwnode->dev = dev;
> fw_devlink_link_device(dev);
> }
>
Thanks, looks like simple way to reproduce the issue. I will give it a try.
--
Regards,
Sudeep
Powered by blists - more mailing lists