lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <PAXPR04MB84594531A13411940EDE6D2F88862@PAXPR04MB8459.eurprd04.prod.outlook.com>
Date: Tue, 13 Aug 2024 00:26:40 +0000
From: Peng Fan <peng.fan@....com>
To: "Peng Fan (OSS)" <peng.fan@....nxp.com>, "sudeep.holla@....com"
	<sudeep.holla@....com>, "cristian.marussi@....com"
	<cristian.marussi@....com>, "saravanak@...gle.com" <saravanak@...gle.com>
CC: "linux-arm-kernel@...ts.infradead.org"
	<linux-arm-kernel@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>, "arm-scmi@...r.kernel.org"
	<arm-scmi@...r.kernel.org>
Subject: RE: [PATCH V2] firmware: arm_scmi: bus: bypass set fwnode for scmi
 cpufreq

> Subject: [PATCH V2] firmware: arm_scmi: bus: bypass set fwnode for
> scmi cpufreq

Any comments?

Thanks,
Peng.
> 
> From: Peng Fan <peng.fan@....com>
> 
> Two drivers scmi_cpufreq.c and scmi_perf_domain.c both use
> SCMI_PROTCOL_PERF protocol, but with different name, so two scmi
> devices will be created. But the fwnode->dev could only point to one
> device.
> 
> If scmi cpufreq device created earlier, the fwnode->dev will point to the
> scmi cpufreq device. Then the fw_devlink will link performance domain
> user device(consumer) to the scmi cpufreq device(supplier).
> But actually the performance domain user device, such as GPU, should
> use the scmi perf device as supplier. Also if 'cpufreq.off=1' in bootargs,
> the GPU driver will defer probe always, because of the scmi cpufreq
> device not ready.
> 
> Because for cpufreq, no need use fw_devlink. So bypass setting fwnode
> for scmi cpufreq device.
> 
> Fixes: 96da4a99ce50 ("firmware: arm_scmi: Set fwnode for the
> scmi_device")
> Signed-off-by: Peng Fan <peng.fan@....com>
> ---
> 
> V2:
>  Use A!=B to replace !(A == B)
>  Add fixes tag
>  This might be a workaround, but since this is a fix, it is simple for
> backporting.
> 
> V1:
>  https://lore.kernel.org/all/20240717093515.327647-1-
> peng.fan@....nxp.com/
> 
>  drivers/firmware/arm_scmi/bus.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/firmware/arm_scmi/bus.c
> b/drivers/firmware/arm_scmi/bus.c index
> 96b2e5f9a8ef..be91a82e0cda 100644
> --- a/drivers/firmware/arm_scmi/bus.c
> +++ b/drivers/firmware/arm_scmi/bus.c
> @@ -395,7 +395,8 @@ __scmi_device_create(struct device_node *np,
> struct device *parent,
>  	scmi_dev->id = id;
>  	scmi_dev->protocol_id = protocol;
>  	scmi_dev->dev.parent = parent;
> -	device_set_node(&scmi_dev->dev, of_fwnode_handle(np));
> +	if ((protocol != SCMI_PROTOCOL_PERF) || strcmp(name,
> "cpufreq"))
> +		device_set_node(&scmi_dev->dev,
> of_fwnode_handle(np));
>  	scmi_dev->dev.bus = &scmi_bus_type;
>  	scmi_dev->dev.release = scmi_device_release;
>  	dev_set_name(&scmi_dev->dev, "scmi_dev.%d", id);
> --
> 2.37.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ