[PATCH v3 1/4] clk: bcm: rpi: Let V3D consumers manage clock rate
Maíra Canal
mcanal at igalia.com
Fri Jan 16 12:19:22 PST 2026
Remove the `maximize` infrastructure and don't set `minimize` for the
V3D clock, giving consumers full control over its rate.
On some firmware versions, RPI_FIRMWARE_SET_CLOCK_STATE doesn't
actually power off the clock. To achieve meaningful power consumption
reduction, consumers need to set the clock rate to minimum before
disabling it. Forcing the clock to maximum rate in the clock framework
prevents this, as consumers don't have any flexibility over the clock
rate.
This change enables the v3d driver to control the clock rate directly
in its suspend/resume callbacks.
Fixes: 6526402b9bac ("clk: bcm: rpi: Maximize V3D clock")
Signed-off-by: Maíra Canal <mcanal at igalia.com>
---
drivers/clk/bcm/clk-raspberrypi.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/clk/bcm/clk-raspberrypi.c b/drivers/clk/bcm/clk-raspberrypi.c
index 1a9162f0ae31e330c46f6eafdd00350599b0eede..9783385d5859836898683209e320fcc928dfdc71 100644
--- a/drivers/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
@@ -68,7 +68,6 @@ struct raspberrypi_clk_variant {
char *clkdev;
unsigned long min_rate;
bool minimize;
- bool maximize;
u32 flags;
};
@@ -136,7 +135,6 @@ raspberrypi_clk_variants[RPI_FIRMWARE_NUM_CLK_ID] = {
},
[RPI_FIRMWARE_V3D_CLK_ID] = {
.export = true,
- .maximize = true,
},
[RPI_FIRMWARE_PIXEL_CLK_ID] = {
.export = true,
@@ -387,9 +385,6 @@ static struct clk_hw *raspberrypi_clk_register(struct raspberrypi_clk *rpi,
}
}
- if (variant->maximize)
- variant->min_rate = max_rate;
-
if (variant->min_rate) {
unsigned long rate;
--
2.52.0
More information about the linux-arm-kernel
mailing list