WSL2-Linux-Kernel/drivers/clk/sunxi-ng
Jernej Skrabec f1fa9a9816 clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change
[ Upstream commit 7e91ed763dc07437777bd012af7a2bd4493731ff ]

While PLL CPUX clock rate change when CPU is running from it works in
vast majority of cases, now and then it causes instability. This leads
to system crashes and other undefined behaviour. After a lot of testing
(30+ hours) while also doing a lot of frequency switches, we can't
observe any instability issues anymore when doing reparenting to stable
clock like 24 MHz oscillator.

Fixes: 524353ea48 ("clk: sunxi-ng: add support for the Allwinner H6 CCU")
Reported-by: Chad Wagner <wagnerch42@gmail.com>
Link: https://forum.libreelec.tv/thread/27295-orange-pi-3-lts-freezes/
Tested-by: Chad Wagner <wagnerch42@gmail.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20231013181712.2128037-1-jernej.skrabec@gmail.com
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-05-17 11:50:51 +02:00
..
Kconfig clk: sunxi-ng: Add support for the Allwinner H616 CCU 2021-01-28 11:14:35 +01:00
Makefile clk: sunxi-ng: Add support for the Allwinner H616 CCU 2021-01-28 11:14:35 +01:00
ccu-sun4i-a10.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun4i-a10.h
ccu-sun5i.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun5i.h
ccu-sun6i-a31.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun6i-a31.h
ccu-sun8i-a23-a33.h
ccu-sun8i-a23.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-a33.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-a83t.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-a83t.h
ccu-sun8i-de2.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-de2.h
ccu-sun8i-h3.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-h3.h
ccu-sun8i-r.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-r.h
ccu-sun8i-r40.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-r40.h
ccu-sun8i-v3s.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun8i-v3s.h
ccu-sun9i-a80-de.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun9i-a80-de.h
ccu-sun9i-a80-usb.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun9i-a80-usb.h
ccu-sun9i-a80.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun9i-a80.h
ccu-sun50i-a64.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun50i-a64.h
ccu-sun50i-a100-r.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun50i-a100-r.h clk: sunxi-ng: add support for the Allwinner A100 CCU 2020-08-25 10:52:18 +02:00
ccu-sun50i-a100.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun50i-a100.h clk: sunxi-ng: add support for the Allwinner A100 CCU 2020-08-25 10:52:18 +02:00
ccu-sun50i-h6-r.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun50i-h6-r.h clk: sunxi-ng: h6-r: Add R_APB2_RSB clock and reset 2021-01-06 19:34:29 +08:00
ccu-sun50i-h6.c clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change 2024-05-17 11:50:51 +02:00
ccu-sun50i-h6.h
ccu-sun50i-h616.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-sun50i-h616.h clk: sunxi-ng: Add support for the Allwinner H616 CCU 2021-01-28 11:14:35 +01:00
ccu-suniv-f1c100s.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu-suniv-f1c100s.h
ccu_common.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu_common.h clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-11-25 09:48:23 +01:00
ccu_div.c
ccu_div.h
ccu_frac.c
ccu_frac.h
ccu_gate.c
ccu_gate.h
ccu_mmc_timing.c clk: sunxi-ng: Modify mismatched function name 2023-09-19 12:22:40 +02:00
ccu_mp.c clk: sunxi-ng: mp: fix parent rate change flag check 2021-02-11 19:02:24 -08:00
ccu_mp.h
ccu_mult.c
ccu_mult.h
ccu_mux.c
ccu_mux.h
ccu_nk.c
ccu_nk.h
ccu_nkm.c
ccu_nkm.h
ccu_nkmp.c
ccu_nkmp.h
ccu_nm.c
ccu_nm.h
ccu_phase.c
ccu_phase.h
ccu_reset.c
ccu_reset.h
ccu_sdm.c
ccu_sdm.h