aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch b/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch
new file mode 100644
index 0000000000..05cbc7afae
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch
@@ -0,0 +1,28 @@
+From 8f26362634435209e4f849ce2efcb2b4f48c8f5b Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime@cerno.tech>
+Date: Wed, 5 May 2021 15:35:34 +0200
+Subject: [PATCH] clk: Always clamp the rounded rate
+
+The current core while setting the min and max rate properly in the
+clk_request structure will not make sure that the requested rate is
+within these boundaries, leaving it to each and every driver to make
+sure it is.
+
+Add a clamp call to make sure it's always done.
+
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ drivers/clk/clk.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/clk/clk.c
++++ b/drivers/clk/clk.c
+@@ -1316,6 +1316,8 @@ static int clk_core_determine_round_nolo
+ if (!core)
+ return 0;
+
++ req->rate = clamp(req->rate, req->min_rate, req->max_rate);
++
+ /*
+ * At this point, core protection will be disabled if
+ * - if the provider is not protected at all