On 16/01/2026 17:19, Maíra Canal wrote:
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.
Acked-by: Melissa Wen <[email protected]>
Fixes: 6526402b9bac ("clk: bcm: rpi: Maximize V3D clock") Signed-off-by: Maíra Canal <[email protected]> --- 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;
