clk: ti: fix flag space conflict with clkctrl clocks
Subsystems (2)
PATCH 1/1 clk: ti: fix flag space conflict with clkctrl clocks
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.
--- drivers/clk/ti/clock.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
drivers/clk/ti/clock.h +5 -4
@@ -76,6 +76,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 = { \
@@ -185,10 +190,6 @@ struct omap_clkctrl_data {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,
Signature · 4 lines
1.9.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
PATCH 1/1 clk: ti: fix flag space conflict with clkctrl clocks
Quoted 7 lines · Tero Kristo
The introduction of support for
CLK_SET_RATE_PARENTflag for clkctrl clocks used a generic clock flag, which causes a conflict with the rest of the clkctrl flags, namely theNO_IDLESTflag. 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.
Quoted 5 lines
Fix this by moving all the clkctrl specific flags to their own bit-range.
Signed-off-by Tero Kristo <[email protected]>Fixes 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag")Reported-by Christophe Lyon <[email protected]>
I boot tested this on am437x-idk and bbb with multi_v7_defconfig, so:
PATCH 1/1 clk: ti: fix flag space conflict with clkctrl clocks
In reply to Tero KristoQuoted 7 lines · Tero Kristo
The introduction of support for
CLK_SET_RATE_PARENTflag for clkctrl clocks used a generic clock flag, which causes a conflict with the rest of the clkctrl flags, namely theNO_IDLESTflag. 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.
Quoted 5 lines
Fix this by moving all the clkctrl specific flags to their own bit-range.
Signed-off-by Tero Kristo <[email protected]>Fixes 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag")Reported-by Christophe Lyon <[email protected]>
Stephen, can you pick this up as a late fix?
-Tero
Quoted 22 lines
--- drivers/clk/ti/clock.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)drivers/clk/ti/clock.h +5
-0@@ -76,6 +76,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 = { \
drivers/clk/ti/clock.h struct omap_clkctrl_data { · line 195
Quoted 10 lines
drivers/clk/ti/clock.h +0
-4@@ -185,10 +190,6 @@ struct omap_clkctrl_data {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,
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Stephen Boyd
maintainerPATCH 1/1 clk: ti: fix flag space conflict with clkctrl clocks
Quoting Tero Kristo (2018-03-29 11:25:07)
Quoted 8 lines · Tero Kristo
Quoted 7 lines
The introduction of support for
CLK_SET_RATE_PARENTflag for clkctrl clocks used a generic clock flag, which causes a conflict with the rest of the clkctrl flags, namely theNO_IDLESTflag. 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.
Quoted 8 lines
Quoted 5 lines
Fix this by moving all the clkctrl specific flags to their own bit-range.
Signed-off-by Tero Kristo <[email protected]>Fixes 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag")Reported-by Christophe Lyon <[email protected]>Stephen, can you pick this up as a late fix?
Sorry I was traveling for a week. I'll pick this up for this merge window and then stable can get it.