linux/drivers/clk
Russell King 73c950da6e clk: si5351: fix PLL reset
Changing the audio sample rate on the SolidRun Cubox disrupts the video
output.  The Si5351 provides both the video clock (using PLLA on output
0) and the audio clock (using PLLB on output 2).

When the rate of clock output 2 is changed, it reconfigures PLLB, which
results in both PLLA and PLLB being reset.  The reset of PLLA causes
clock output 0 to be disrupted, thereby causing a loss of sync by the
attached display device.

Hence, each time the audio sample rate changes (eg, when a video player
starts up, or when starting to play music) the video display momentarily
blanks while the Si5351 settles down.  Prior to the commit below, this
behaviour did not happen.

Fix this by only resetting only the PLL which has been changed.

Fixes: 6dc669a22c ("clk: si5351: Add PLL soft reset")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-09-01 16:00:54 -07:00
..
at91 clk: at91: clk-generated: make gclk determine audio_pll rate 2017-09-01 15:46:54 -07:00
axis clk: axis: Use new macro CLK_OF_DECLARE_DRIVER 2016-08-12 18:00:37 -07:00
axs10x clk: axs10x: introduce AXS10X pll driver 2017-07-17 11:50:59 -07:00
bcm clk: iproc: Remove __init marking on iproc_pll_clk_setup() 2017-06-21 09:12:57 -07:00
berlin clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
h8300 clk: h8300: Migrate to clk_hw based registration APIs 2016-08-24 17:37:10 -07:00
hisilicon clk: hi6220: change watchdog clock source 2017-08-31 18:32:43 -07:00
imgtec clk: boston: Add a driver for MIPS Boston board clocks 2017-07-11 14:13:06 +02:00
imx clk: imx51: propagate rate across ipu_di*_sel 2017-08-31 11:30:47 -07:00
ingenic clk: ingenic: Allow divider value to be divided 2016-05-12 14:48:25 -07:00
keystone clk: keystone: sci-clk: Fix sci_clk_get 2017-08-02 18:37:26 -07:00
loongson1 CLK: Add Loongson1C clock support 2016-09-23 14:49:21 -07:00
mediatek clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
meson Amlogic clock driver updates for 4.14 2017-08-23 15:28:52 -07:00
microchip clk: microchip: Initialize SOSC clock rate for PIC32MZDA. 2016-08-24 16:05:24 -07:00
mmp clk: mmp: Drop unnecessary static 2017-07-17 18:31:06 -07:00
mvebu clk: mvebu: cp110: Minor cleanups 2017-06-19 17:14:11 -07:00
mxs clk: mxs: Remove CLK_IS_ROOT 2016-03-02 17:44:59 -08:00
nxp clk: nxp: clk-lpc32xx: rename clk_gate_is_enabled() 2017-08-31 18:35:44 -07:00
pistachio
pxa ARM: SoC platform updates for v4.10 2016-12-15 15:39:02 -08:00
qcom clk: msm8996-gcc: add missing smmu clks 2017-08-23 16:07:18 -07:00
renesas clk: renesas: Updates for v4.14 2017-08-23 15:39:58 -07:00
rockchip clk: rockchip: Mark rockchip_fractional_approximation static 2017-08-23 15:35:41 -07:00
samsung clk/samsung updates for 4.14 2017-08-23 15:30:29 -07:00
sirf clk: sirf: Remove CLK_IS_ROOT 2016-04-15 16:50:04 -07:00
socfpga clk: socfpga: Fix the smplsel on Arria10 and Stratix10 2017-06-19 17:01:55 -07:00
spear clk: spear: fix ADC clock definition on SPEAr600 2017-04-19 09:27:52 -07:00
st clk: st: clk-flexgen: Unmap region obtained by of_iomap 2016-12-08 16:35:22 -08:00
sunxi clk: sunxi: fix uninitialized access 2017-08-30 22:39:49 -07:00
sunxi-ng Allwinner clock changes for 4.14, part 3 2017-08-31 10:57:34 -07:00
tegra clk: tegra: Fix Tegra210 PLLU initialization 2017-08-23 16:00:42 -07:00
ti clk: ti: check for null return in strrchr to avoid null dereferencing 2017-08-31 18:44:13 -07:00
uniphier clk: uniphier: add video input subsystem clock 2017-08-31 18:41:14 -07:00
ux500 clk: ux500: prcc: constify clk_ops. 2017-08-30 22:27:49 -07:00
versatile clk: versatile: make clk_ops const 2017-08-30 22:38:59 -07:00
x86 clk: x86: Do not gate clocks enabled by the firmware 2017-07-18 16:23:13 -07:00
zte clk: zte: constify clk_div_table 2017-08-30 22:30:30 -07:00
zynq clk: zynq: Remove CLK_IS_ROOT 2016-03-02 17:48:26 -08:00
clk-asm9260.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-axi-clkgen.c clk: axi-clkgen: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:10:31 -07:00
clk-axm5516.c clk: axm5516: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:11:07 -07:00
clk-bulk.c clk: add clk_bulk_get accessories 2017-06-02 15:37:45 -07:00
clk-cdce706.c clk: cdce: Migrate to clk_hw based OF and registration APIs 2016-08-24 16:12:38 -07:00
clk-cdce925.c clk: cdce925: add support for CDCE913, CDCE937, and CDCE949 2017-01-09 16:38:30 -08:00
clk-clps711x.c clk: clps711x: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:19:26 -07:00
clk-composite.c Merge branch 'clk-hw-register' (early part) into clk-next 2016-04-21 14:47:18 -07:00
clk-conf.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-cs2000-cp.c clk: cs2000: Add cs2000_set_saved_rate 2017-08-31 11:32:32 -07:00
clk-devres.c clk: add managed version of clk_bulk_get 2017-06-02 15:37:49 -07:00
clk-divider.c clk: Don't write error code into divider register 2017-08-31 18:43:38 -07:00
clk-efm32gg.c clk: efm32gg: Pass correct type to hw provider registration 2016-11-16 11:08:55 -08:00
clk-fixed-factor.c clk: fixed-factor: Remove export symbol on setup function 2016-08-15 15:08:03 -07:00
clk-fixed-rate.c clk: fixed-rate: Remove export symbol on setup function 2016-08-15 15:08:06 -07:00
clk-fractional-divider.c clk: fractional-divider: allow overriding of approximation 2017-08-08 17:39:48 +02:00
clk-gate.c clk: gate: expose clk_gate_ops::is_enabled 2017-08-31 18:35:45 -07:00
clk-gemini.c clk: gemini: hands off PCI OE bit 2017-08-30 22:29:11 -07:00
clk-gpio.c clk: gpio: Add hw based registration APIs 2016-04-19 16:56:28 -07:00
clk-hi655x.c clk: hi6220: Add the hi655x's pmic clock 2017-04-21 19:18:53 -07:00
clk-highbank.c clk: highbank: Migrate to clk_hw based registration and OF APIs 2016-06-30 12:25:28 -07:00
clk-hsdk-pll.c ARC: clk: introduce HSDK pll driver 2017-08-30 22:36:05 -07:00
clk-max77686.c clk: max77686: fix number of clocks setup for clk_hw based registration 2016-10-17 15:31:59 -07:00
clk-moxart.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-multiplier.c clk: multiplier: Prevent the multiplier from under / over flowing 2016-06-20 13:00:00 -07:00
clk-mux.c clk: mux: Add hw based registration APIs 2016-04-19 16:55:01 -07:00
clk-nomadik.c clk: nomadik: Delete error messages for a failed memory allocation in two functions 2017-04-21 19:47:14 -07:00
clk-nspire.c clk: nspire: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:21 -07:00
clk-oxnas.c clk: oxnas: Add OX820 Gate clocks 2016-10-23 10:18:45 -07:00
clk-palmas.c clk: palmas: undo preparation of a clock source. 2017-06-02 10:51:34 -07:00
clk-pwm.c clk: pwm: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:23:27 -07:00
clk-qoriq.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-rk808.c clk: rk808: Pass the right pointer as the get_hw context 2016-09-09 11:07:07 -07:00
clk-s2mps11.c clk: s2mps11: Migrate to clk_hw based OF and registration APIs 2016-06-30 12:29:14 -07:00
clk-scpi.c clk: scpi: error when clock fails to register 2017-06-29 18:47:35 -07:00
clk-si514.c clk: si514: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:29:59 -07:00
clk-si570.c clk: si570: Migrate to clk_hw based OF and registration APIs 2016-08-24 17:30:01 -07:00
clk-si5351.c clk: si5351: fix PLL reset 2017-09-01 16:00:54 -07:00
clk-si5351.h
clk-stm32f4.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-stm32h7.c clk: stm32h7: Add stm32h743 clock driver 2017-08-31 18:35:47 -07:00
clk-tango4.c clk: tango4: improve clkgen driver 2016-04-15 17:16:06 -07:00
clk-twl6040.c clk: twl6040: Migrate to clk_hw based registration APIs 2016-08-24 17:34:11 -07:00
clk-u300.c clk: u300: Migrate to clk_hw based registration APIs 2016-06-30 12:26:18 -07:00
clk-versaclock5.c clk: vc5: Add support for IDT VersaClock 5P49V5925 2017-07-17 11:51:00 -07:00
clk-vt8500.c clk: vt8500: Migrate to clk_hw based registration APIs 2016-08-24 17:35:48 -07:00
clk-wm831x.c clk: wm831x: fix usleep_range with bad range 2017-01-09 16:06:41 -08:00
clk-xgene.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk.h
clkdev.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
Kconfig clk: Kconfig: Name RK805 in Kconfig for COMMON_CLK_RK808 2017-08-31 16:20:12 -07:00
Makefile clk: mb86s7x: Drop non-building driver 2017-09-01 13:31:24 -07:00