[PATCH] clk: rockchip: only enter pll slow-mode directly before reboots on rk3288
Doug Anderson
dianders at chromium.org
Fri Dec 18 14:40:21 PST 2015
Heiko,
On Fri, Dec 18, 2015 at 10:33 AM, Heiko Stübner
<heiko.stuebner at collabora.com> wrote:
> As commit 1d33929e2a2b ("clk: rockchip: switch PLLs to slow mode before
> reboot for rk3288") states, switching the PLLs to slow-mode is only
> necessary when rebooting using the soft-reset done through the CRU.
>
> The dwc2 controllers used create really big number of interrupts in
> special constellations involving usb-hubs and their number is so high,
> it can even overwhelm the interrupt handler if the cpu-speed os to low.
>
> Right now the PLLs are put into slow-mode in a shutdown syscore_ops
> callback which means it happens on all reboots (not only the soft-reset
> ones) and even on poweroff actions.
>
> This can result in the system not powering off and getting stuck instead,
> so we should move the slow-mode change nearer to the actual reboot action.
>
> For this we introduce the possiblity to also set a callback that gets
> called from the restart-handler directly prior to restarting the system
> and move the shutdown-callback to this new option.
>
> With this the slow-mode switch is done only on the necessary reboots
> and also has a smaller possibility of causing artifacts.
>
> Fixes: 1d33929e2a2b ("clk: rockchip: switch PLLs to slow mode before reboot for rk3288")
> Signed-off-by: Heiko Stuebner <heiko.stuebner at collabora.com>
> ---
> drivers/clk/rockchip/clk-rk3036.c | 2 +-
> drivers/clk/rockchip/clk-rk3188.c | 2 +-
> drivers/clk/rockchip/clk-rk3228.c | 2 +-
> drivers/clk/rockchip/clk-rk3288.c | 4 ++--
> drivers/clk/rockchip/clk-rk3368.c | 2 +-
> drivers/clk/rockchip/clk.c | 7 ++++++-
> drivers/clk/rockchip/clk.h | 2 +-
> 7 files changed, 13 insertions(+), 8 deletions(-)
Reviewed-by: Douglas Anderson <dianders at chromium.org>
More information about the Linux-rockchip
mailing list