linux-uconsole/drivers/clk/ti
Tony Lindgren 28f3429444 clk: ti: clkctrl: Fix failed to enable error with double udelay timeout
[ Upstream commit 81a41901ff ]

Commit 3d8598fb9c ("clk: ti: clkctrl: use fallback udelay approach if
timekeeping is suspended") added handling for cases when timekeeping is
suspended. But looks like we can still get occasional "failed to enable"
errors on the PM runtime resume path with udelay() returning faster than
expected.

With ti-sysc interconnect target module driver this leads into device
failure with PM runtime failing with "failed to enable" clkctrl error.

Let's fix the issue with a delay of two times the desired delay as in
often done for udelay() to account for the inaccuracy.

Fixes: 3d8598fb9c ("clk: ti: clkctrl: use fallback udelay approach if timekeeping is suspended")
Cc: Keerthy <j-keerthy@ti.com>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lkml.kernel.org/r/20190930154001.46581-1-tony@atomide.com
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-05 09:19:40 +01:00
..
adpll.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
apll.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
autoidle.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clk-2xxx.c Merge branch 'cleanup-clk-h-includes' into clk-next 2015-07-28 11:59:09 -07:00
clk-3xxx.c clk: ti: omap3: cleanup unnecessary clock aliases 2017-12-01 15:17:17 +02:00
clk-7xx.c clk: ti: dra7: Add clkctrl clock data for the mcan clocks 2018-07-09 22:30:48 -07:00
clk-33xx.c clk: ti: am33xx: add set-rate-parent support for display clkctrl clock 2018-03-08 12:14:43 +02:00
clk-43xx.c clk: ti: am43xx: add set-rate-parent support for display clkctrl clock 2018-03-08 12:14:44 +02:00
clk-44xx.c clk: ti: omap4: clkctrl data fixes for opt-clocks 2017-12-01 15:18:08 +02:00
clk-54xx.c clk: ti: omap5: add clkctrl clock data 2017-12-01 15:17:18 +02:00
clk-814x.c clk: ti: dm814: add clkctrl clock data 2017-12-01 15:18:01 +02:00
clk-816x.c clk: ti: dm816: add clkctrl clock data 2017-12-01 15:18:06 +02:00
clk-dra7-atl.c clk: ti: dra7-atl-clock: Remove ti_clk_add_alias call 2019-12-05 09:19:40 +01:00
clk.c clk: ti: fix OF child-node lookup 2018-11-27 16:13:01 +01:00
clkctrl.c clk: ti: clkctrl: Fix failed to enable error with double udelay timeout 2019-12-05 09:19:40 +01:00
clkt_dflt.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clkt_dpll.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clkt_iclk.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clock.h Merge branches 'clk-davinci', 'clk-si544', 'clk-rockchip', 'clk-uniphier' and 'clk-ti-flag-fix' into clk-next 2018-04-06 13:22:06 -07:00
clockdomain.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
composite.c clk: ti: Drop legacy clk-3xxx-legacy code 2017-12-14 08:32:06 -08:00
divider.c clk: ti: Fix error handling in ti_clk_parse_divider_data() 2019-03-13 14:02:27 -07:00
dpll.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
dpll3xxx.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
dpll44xx.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
fapll.c clk: ti: make clk_ops const 2017-08-23 15:53:25 -07:00
fixed-factor.c clk: ti: use automatic clock alias generation framework 2017-03-08 12:58:18 +02:00
gate.c clk: ti: Drop legacy clk-3xxx-legacy code 2017-12-14 08:32:06 -08:00
interface.c clk: ti: Drop legacy clk-3xxx-legacy code 2017-12-14 08:32:06 -08:00
Kconfig clk: ti: Add support for dm814x ADPLL 2016-03-01 16:21:25 -08:00
Makefile clk: ti: Drop legacy clk-3xxx-legacy code 2017-12-14 08:32:06 -08:00
mux.c clk: ti: add support for clock latching to mux clocks 2018-03-08 11:42:05 +02:00