aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0869-drm-vc4-kms-Warn-if-clk_set_min_rate-fails.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0869-drm-vc4-kms-Warn-if-clk_set_min_rate-fails.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0869-drm-vc4-kms-Warn-if-clk_set_min_rate-fails.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0869-drm-vc4-kms-Warn-if-clk_set_min_rate-fails.patch b/target/linux/bcm27xx/patches-5.15/950-0869-drm-vc4-kms-Warn-if-clk_set_min_rate-fails.patch
new file mode 100644
index 0000000000..2331ce14cc
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.15/950-0869-drm-vc4-kms-Warn-if-clk_set_min_rate-fails.patch
@@ -0,0 +1,36 @@
+From 067cebf5a6624a8613ac407efc72f80060ab4efb Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime@cerno.tech>
+Date: Fri, 25 Mar 2022 15:48:48 +0100
+Subject: [PATCH] drm/vc4: kms: Warn if clk_set_min_rate fails
+
+We currently ignore the clk_set_min_rate return code assuming it would
+succeed. However, it can fail if we ask for a rate higher than the
+current maximum for example.
+
+Since we can't fail in atomic_commit, at least warn on failure.
+
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ drivers/gpu/drm/vc4/vc4_kms.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_kms.c
+@@ -400,7 +400,7 @@ static void vc4_atomic_commit_tail(struc
+ unsigned long core_rate = max_t(unsigned long,
+ 500000000, state_rate);
+
+- clk_set_min_rate(hvs->core_clk, core_rate);
++ WARN_ON(clk_set_min_rate(hvs->core_clk, core_rate));
+ }
+
+ drm_atomic_helper_commit_modeset_disables(dev, state);
+@@ -430,7 +430,7 @@ static void vc4_atomic_commit_tail(struc
+ drm_dbg(dev, "Running the core clock at %lu Hz\n",
+ new_hvs_state->core_clock_rate);
+
+- clk_set_min_rate(hvs->core_clk, new_hvs_state->core_clock_rate);
++ WARN_ON(clk_set_min_rate(hvs->core_clk, new_hvs_state->core_clock_rate));
+
+ drm_dbg(dev, "Core clock actual rate: %lu Hz\n",
+ clk_get_rate(hvs->core_clk));