]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.16-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 May 2018 10:48:41 +0000 (12:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 May 2018 10:48:41 +0000 (12:48 +0200)
added patches:
clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch

queue-4.16/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch [new file with mode: 0644]
queue-4.16/series

diff --git a/queue-4.16/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch b/queue-4.16/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch
new file mode 100644 (file)
index 0000000..acac6b5
--- /dev/null
@@ -0,0 +1,55 @@
+From 269bd202bc0fd04e841cb123867fd3f49e04ace9 Mon Sep 17 00:00:00 2001
+From: Tero Kristo <t-kristo@ti.com>
+Date: Tue, 27 Mar 2018 20:47:04 +0300
+Subject: clk: ti: fix flag space conflict with clkctrl clocks
+
+From: Tero Kristo <t-kristo@ti.com>
+
+commit 269bd202bc0fd04e841cb123867fd3f49e04ace9 upstream.
+
+The introduction of support for CLK_SET_RATE_PARENT flag for clkctrl
+clocks used a generic clock flag, which causes a conflict with the
+rest of the clkctrl flags, namely the NO_IDLEST flag. This can cause
+boot failures on certain platforms where this flag is introduced, by
+omitting the wait for the clockctrl module to be fully enabled before
+proceeding with rest of the code.
+
+Fix this by moving all the clkctrl specific flags to their own bit-range.
+
+Signed-off-by: Tero Kristo <t-kristo@ti.com>
+Fixes: 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag")
+Reported-by: Christophe Lyon <christophe.lyon@linaro.org>
+Tested-by: Tony Lindgren <tony@atomide.com
+Signed-off-by: Stephen Boyd <sboyd@kernel.org>
+Cc: Sam Protsenko <semen.protsenko@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/clk/ti/clock.h |    9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/drivers/clk/ti/clock.h
++++ b/drivers/clk/ti/clock.h
+@@ -74,6 +74,11 @@ enum {
+ #define CLKF_CORE                     (1 << 9)
+ #define CLKF_J_TYPE                   (1 << 10)
++/* CLKCTRL flags */
++#define CLKF_SW_SUP                   BIT(5)
++#define CLKF_HW_SUP                   BIT(6)
++#define CLKF_NO_IDLEST                        BIT(7)
++
+ #define CLK(dev, con, ck)             \
+       {                               \
+               .lk = {                 \
+@@ -183,10 +188,6 @@ extern const struct omap_clkctrl_data am
+ extern const struct omap_clkctrl_data dm814_clkctrl_data[];
+ extern const struct omap_clkctrl_data dm816_clkctrl_data[];
+-#define CLKF_SW_SUP   BIT(0)
+-#define CLKF_HW_SUP   BIT(1)
+-#define CLKF_NO_IDLEST        BIT(2)
+-
+ typedef void (*ti_of_clk_init_cb_t)(void *, struct device_node *);
+ struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw,
index 32599c3b21d5d5a6f656398d12660acb542f077b..82641d490336782da413a23050c0050c5d5c1062 100644 (file)
@@ -1,2 +1,3 @@
 ipvs-fix-rtnl_lock-lockups-caused-by-start_sync_thread.patch
 netfilter-ebtables-don-t-attempt-to-allocate-0-sized-compat-array.patch
+clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch