clk: aspeed: Treat a gate in reset as disabled
authorBenjamin Herrenschmidt <benh@linux.vnet.ibm.com>
Tue, 3 Jul 2018 07:24:47 +0000 (17:24 +1000)
committerStephen Boyd <sboyd@kernel.org>
Fri, 6 Jul 2018 17:53:20 +0000 (10:53 -0700)
commitedc6f7e9b11d4ab54f80890dedf58a914cae61e4
tree865bf30319c76585a09c638830b63b858928053a
parent40dd71c75e395d9b0343f1e646de7ab5312540cc
clk: aspeed: Treat a gate in reset as disabled

On some systems, we come out of the bootloader with some
gates set with the clock "enabled" but the reset also
asserted.

Since 8a53fc511c5e "clk: aspeed: Prevent reset if clock is enabled"
we check that enabled bit in aspeed_clk_enabled(), and do
nothing if already set.

This breaks when the above scenario occurs, as the clock
is enabled, but the reset still needs to be lifted.

This patch fixes it by also checking the reset bit (if any)
and treating a gate in "reset" as being disabled.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Fixes: 8a53fc511c5e "clk: aspeed: Prevent reset if clock is enabled"
Cc: Eddie James <eajames@linux.vnet.ibm.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-aspeed.c