RK3576: rockchip-pm-domain fw_devlink device-link failures for nested power-domain nodes
Muhammed Subair
msubair at hotmail.com
Tue Aug 11 22:44:40 PDT 2026
|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 at 27380000/power-controller/power-domain at 0/power-domain at 1
[ 0.262168] rockchip-pm-domain
27380000.power-management:power-controller: Failed to create device link
(0x180) with supplier soc for
/soc/power-management at 27380000/power-controller/power-domain at 0/power-domain at 1/power-domain at 2
... [ 0.285927] rockchip-pm-domain
27380000.power-management:power-controller: Failed to create device link
(0x180) with supplier soc for
/soc/power-management at 27380000/power-controller/power-domain at 18/power-domain at 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|
More information about the linux-arm-kernel
mailing list