[PATCH v1 1/4] powercap: dtpm: Remove duplicate RK3399 CPU hierarchy nodes
From: Daniel Lezcano
Date: Wed Aug 19 2026 - 12:56:49 EST
The DTPM CPU backend registers one powercap zone per cpufreq policy,
not per CPU. On RK3399, CPUs sharing the same cpufreq policy therefore
map to the same DTPM zone.
Remove the redundant CPU nodes from the RK3399 hierarchy and keep only
one CPU node per cpufreq policy. This avoids registering the same DTPM
CPU zone multiple times while preserving the two CPU clusters and the
GPU in the hierarchy.
Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxxxxxxxx>
---
drivers/soc/rockchip/dtpm.c | 18 +++---------------
1 file changed, 3 insertions(+), 15 deletions(-)
diff --git a/drivers/soc/rockchip/dtpm.c b/drivers/soc/rockchip/dtpm.c
index b36d4f752c30..e6a0c607334b 100644
--- a/drivers/soc/rockchip/dtpm.c
+++ b/drivers/soc/rockchip/dtpm.c
@@ -20,25 +20,13 @@ static struct dtpm_node __initdata rk3399_hierarchy[] = {
[2] = { .name = "/cpus/cpu@0",
.type = DTPM_NODE_DT,
.parent = &rk3399_hierarchy[1] },
- [3] = { .name = "/cpus/cpu@1",
+ [3] = { .name = "/cpus/cpu@100",
.type = DTPM_NODE_DT,
.parent = &rk3399_hierarchy[1] },
- [4] = { .name = "/cpus/cpu@2",
+ [4] = { .name = "/gpu@ff9a0000",
.type = DTPM_NODE_DT,
.parent = &rk3399_hierarchy[1] },
- [5] = { .name = "/cpus/cpu@3",
- .type = DTPM_NODE_DT,
- .parent = &rk3399_hierarchy[1] },
- [6] = { .name = "/cpus/cpu@100",
- .type = DTPM_NODE_DT,
- .parent = &rk3399_hierarchy[1] },
- [7] = { .name = "/cpus/cpu@101",
- .type = DTPM_NODE_DT,
- .parent = &rk3399_hierarchy[1] },
- [8] = { .name = "/gpu@ff9a0000",
- .type = DTPM_NODE_DT,
- .parent = &rk3399_hierarchy[1] },
- [9] = { /* sentinel */ }
+ [5] = { /* sentinel */ }
};
static struct of_device_id __initdata rockchip_dtpm_match_table[] = {
--
2.43.0