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>
Thu, 9 Mar 2017 17:52:30 +0000 (17:52 +0000)
commitc966aee30d85c527713cc84f6b59ce1d786a97d4
tree1835259083fad8269d554f148debe98ba848f14a
parent5f28a0d7bb1b8330fae2421334c9fb17b35fe93e
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