Although minimizing the clock rate is the best for most scenarios, as
stated in commit 4d85abb0fb8e ("clk: bcm: rpi: Enable minimize for all
firmware clocks"), when it comes to the GPU, it's ideal to have the
maximum rate allowed.

Add an option to maximize a firmware clock's rate when the clock is
enabled and set this option for V3D.

Signed-off-by: Maíra Canal <mca...@igalia.com>
---
 drivers/clk/bcm/clk-raspberrypi.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/bcm/clk-raspberrypi.c 
b/drivers/clk/bcm/clk-raspberrypi.c
index 
70acfa68827d84670c645bedd17bf0e181aadfbb..1a9162f0ae31e330c46f6eafdd00350599b0eede
 100644
--- a/drivers/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
@@ -68,6 +68,7 @@ struct raspberrypi_clk_variant {
        char            *clkdev;
        unsigned long   min_rate;
        bool            minimize;
+       bool            maximize;
        u32             flags;
 };
 
@@ -135,7 +136,7 @@ raspberrypi_clk_variants[RPI_FIRMWARE_NUM_CLK_ID] = {
        },
        [RPI_FIRMWARE_V3D_CLK_ID] = {
                .export = true,
-               .minimize = true,
+               .maximize = true,
        },
        [RPI_FIRMWARE_PIXEL_CLK_ID] = {
                .export = true,
@@ -386,6 +387,9 @@ 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.50.0

Reply via email to