mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
ma35d1_clk_pll_determine_rate() called ma35d1_pll_find_closest()
unconditionally before the switch statement, and then every case
branch overwrote pll_freq by reading the current hardware registers.
For CAPLL and DDRPLL this means find_closest() ran unnecessarily
(and incorrectly, since those PLLs are read-only) and its result
was silently discarded.
Fix by moving the find_closest() call inside the APLL/EPLL/VPLL
branch where it belongs. Group CAPLL and DDRPLL together as
read-only PLLs that simply report their current rate; handle them
with an explicit if/else to keep the CAPLL (SMIC design) and DDRPLL
(standard design) paths distinct.
Fixes:
|
||
|---|---|---|
| .. | ||
| clk-ma35d1-divider.c | ||
| clk-ma35d1-pll.c | ||
| clk-ma35d1.c | ||
| clk-ma35d1.h | ||
| Kconfig | ||
| Makefile | ||