clk: bcm2835: Don't rate change PLLs on behalf of DSI PLL dividers.
authorEric Anholt <eric@anholt.net>
Tue, 17 Jan 2017 20:31:55 +0000 (07:31 +1100)
committerRaspbian kernel package updater <root@raspbian.org>
Sat, 31 Mar 2018 14:45:24 +0000 (15:45 +0100)
commitca87e43ac40f4b42a1d05b96e8e9a66f73fff911
tree1463d3eaf4ca36b8d587d716f59a9a93598682c2
parent44e944a53694c7936325dd9aa10c60605a8f1047
clk: bcm2835: Don't rate change PLLs on behalf of DSI PLL dividers.

Our core PLLs are intended to be configured once and left alone.  With
the SET_RATE_PARENT, asking to set the PLLD_DSI1 clock rate would
change PLLD just to get closer to the requested DSI clock, thus
changing PLLD_PER, the UART and ethernet PHY clock rates downstream of
it, and breaking ethernet.

We *do* want PLLH to change so that PLLH_AUX can be exactly the value
we want, though.  Thus, we need to have a per-divider policy of
whether to pass rate changes up.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit 55486091bd1e1c5ed28c43c0d6b3392468a9adb5)
drivers/clk/bcm/clk-bcm2835.c