Hi Rockchip/kernel folks, 

I am bringing up an RK3576 board on a 7.1.x based kernel and I see the 
following early boot errors from

fw_devlink/device-links: [ 0.260388] rockchip-pm-domain
27380000.power-management:power-controller: Failed to create device link
(0x180) with supplier soc for
/soc/power-management@27380000/power-controller/power-domain@0/power-domain@1
[ 0.262168] rockchip-pm-domain
27380000.power-management:power-controller: Failed to create device link
(0x180) with supplier soc for
/soc/power-management@27380000/power-controller/power-domain@0/power-domain@1/power-domain@2
... [ 0.285927] rockchip-pm-domain
27380000.power-management:power-controller: Failed to create device link
(0x180) with supplier soc for
/soc/power-management@27380000/power-controller/power-domain@18/power-domain@17

The board otherwise boots and the affected domains appear functional. 
PCIe/NVMe, HDMI, Ethernet, etc. are working. The RK3576 power-controller node 
has nested power-domain children. 
These child domain nodes contain properties such as `clocks` and `pm_qos`, 
similar to RK3588/RK3568, and `#power-domain-cells` is present as required by 
`rockchip,power-controller.yaml`. 
My current understanding is that the Rockchip PM domain driver consumes these 
child nodes internally and registers the provider from the top-level 
`power-controller` via `of_genpd_add_provider_onecell()`.
However, fw_devlink recurses into the child fwnodes and tries to create proxy 
supplier links for dependencies such as `clocks`. 
Since the child power-domain nodes are not normal devices, this ends up as 
failed links from `rockchip-pm-domain` to supplier `soc`. 
Is this expected noise for nested Rockchip power-domain nodes, or is RK3576 
missing a DT/driver annotation to prevent fw_devlink from trying to create 
device links for these internal child nodes? 
I compared with RK3588/RK3568 and did not find an obvious missing property in 
RK3576. I also do not want to use `fw_devlink=off`, 
since that hides the issue globally. Could you advise whether the right fix 
should be: 

1. a DT change for RK3576 power-domain nodes, 
2. a Rockchip PM-domain driver change to mark child fwnodes as internal/not 
devices for fw_devlink, or 
3. an OF/fw_devlink change to avoid creating proxy links from generic 
power-domain child nodes? 


Thanks, Subair

Reply via email to