linux-stable/drivers/clk/sunxi-ng
Frank Oltmanns bf8eb12f52 clk: sunxi-ng: a64: select closest rate for pll-video0
Selecting the closest rate for pll-video0 instead of the closest rate
that is less than the requested rate has no downside for this clock,
while allowing for selecting a more suitable rate, e.g. for the
connected panels.

Furthermore, the algorithm that sets an NKM clock's parent benefits from
the closest rate. Without it, the NKM clock's rate might drift away from
the requested rate in the multiple successive calls to
ccu_nkm_determine_rate that the clk framework performs when setting a
clock rate.

Therefore, configure pll-video0 and, in consequence, all of its
descendents to select the closest rate.

Acked-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
Link: https://lore.kernel.org/r/20230807-pll-mipi_set_rate_parent-v6-10-f173239a4b59@oltmanns.dev
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2023-08-09 23:41:44 +08:00
..
ccu_common.c clk: sunxi-ng: Add helper function to find closest rate 2023-08-09 23:33:58 +08:00
ccu_common.h clk: sunxi-ng: Add helper function to find closest rate 2023-08-09 23:33:58 +08:00
ccu_div.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_div.h clk: sunxi-ng: div: Support finding closest rate 2023-08-09 23:33:59 +08:00
ccu_frac.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_frac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_gate.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_gate.h clk: sunxi-ng: gate: Add macros for gates with fixed dividers 2021-11-23 10:29:05 +01:00
ccu_mmc_timing.c clk: sunxi-ng: Modify mismatched function name 2023-07-31 00:52:36 +02:00
ccu_mp.c clk: sunxi-ng: Avoid computing the rate twice 2023-01-08 21:55:17 +01:00
ccu_mp.h clk: sunxi-ng: mp: Add macros using clk_parent_data and clk_hw 2021-11-23 10:29:05 +01:00
ccu_mult.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_mult.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ccu_mux.c clk: sunxi-ng: mux: Support finding closest rate 2023-08-09 23:33:59 +08:00
ccu_mux.h clk: sunxi-ng: mux: Support finding closest rate 2023-08-09 23:33:59 +08:00
ccu_nk.c clk: sunxi-ng: Avoid computing the rate twice 2023-01-08 21:55:17 +01:00
ccu_nk.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_nkm.c clk: sunxi-ng: nkm: Support finding closest rate 2023-08-09 23:33:58 +08:00
ccu_nkm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_nkmp.c clk: sunxi-ng: Avoid computing the rate twice 2023-01-08 21:55:17 +01:00
ccu_nkmp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_nm.c clk: sunxi-ng: nm: Support finding closest rate 2023-08-09 23:33:58 +08:00
ccu_nm.h clk: sunxi-ng: nm: Support finding closest rate 2023-08-09 23:33:58 +08:00
ccu_phase.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_phase.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_reset.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_reset.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu_sdm.c clk: sunxi-ng: Export symbols used by CCU drivers 2021-11-22 10:02:21 +01:00
ccu_sdm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ccu-sun4i-a10.c clk: sunxi-ng: Convert early providers to platform drivers 2021-11-23 10:29:05 +01:00
ccu-sun4i-a10.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun5i.c clk: sunxi-ng: Unregister clocks/resets when unbinding 2021-09-13 09:03:20 +02:00
ccu-sun5i.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun6i-a31.c clk: sunxi-ng: Convert early providers to platform drivers 2021-11-23 10:29:05 +01:00
ccu-sun6i-a31.h clk: sunxi: a31: Export the MIPI PLL 2020-01-04 09:45:09 +01:00
ccu-sun6i-rtc.c Revert "clk: sunxi-ng: sun6i-rtc: Add support for H6" 2022-05-17 00:25:57 -07:00
ccu-sun6i-rtc.h clk: sunxi-ng: Add support for the sun6i RTC clocks 2022-03-23 19:58:38 +01:00
ccu-sun8i-a23-a33.h clk: sunxi: a23/a33: Export the MIPI PLL 2020-01-04 09:45:19 +01:00
ccu-sun8i-a23.c clk: sunxi-ng: Convert early providers to platform drivers 2021-11-23 10:29:05 +01:00
ccu-sun8i-a33.c clk: sunxi-ng: Convert early providers to platform drivers 2021-11-23 10:29:05 +01:00
ccu-sun8i-a83t.c clk: sunxi-ng: Allow drivers to be built as modules 2021-11-22 10:02:21 +01:00
ccu-sun8i-a83t.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun8i-de2.c clk: sunxi-ng: sun8i-de2: Use dev_err_probe() helper 2022-09-08 21:59:01 +02:00
ccu-sun8i-de2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun8i-h3.c clk: sunxi-ng: h3/h5: Model H3 CLK_DRAM as a fixed clock 2023-01-08 21:54:09 +01:00
ccu-sun8i-h3.h dt-bindings: clock: sunxi: Export CLK_DRAM for devfreq 2021-11-23 11:29:35 +01:00
ccu-sun8i-r40.c clk: sunxi-ng: Allow drivers to be built as modules 2021-11-22 10:02:21 +01:00
ccu-sun8i-r40.h clk: sunxi-ng: r40: Export MBUS clock 2020-01-03 10:37:14 +01:00
ccu-sun8i-r.c clk: sunxi-ng: Deduplicate ccu_clks arrays 2022-06-06 23:13:28 +02:00
ccu-sun8i-r.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun8i-v3s.c clk: sunxi-ng: Deduplicate ccu_clks arrays 2022-06-06 23:13:28 +02:00
ccu-sun8i-v3s.h clk: sunxi-ng: v3s: Correct the header guard of ccu-sun8i-v3s.h 2022-11-16 19:45:53 +01:00
ccu-sun9i-a80-de.c clk: sunxi-ng: ccu-sun9i-a80-de: Use dev_err_probe() helper 2022-09-08 21:59:01 +02:00
ccu-sun9i-a80-de.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun9i-a80-usb.c clk: sunxi-ng: ccu-sun9i-a80-usb: Use dev_err_probe() helper 2022-09-08 21:59:01 +02:00
ccu-sun9i-a80-usb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun9i-a80.c clk: sunxi-ng: Allow drivers to be built as modules 2021-11-22 10:02:21 +01:00
ccu-sun9i-a80.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ccu-sun20i-d1-r.c clk: sunxi-ng: Add support for the D1 SoC clocks 2021-11-23 10:29:05 +01:00
ccu-sun20i-d1-r.h clk: sunxi-ng: Add support for the D1 SoC clocks 2021-11-23 10:29:05 +01:00
ccu-sun20i-d1.c clk: sunxi-ng: d1: Add CAN bus gates and resets 2023-01-08 22:06:10 +01:00
ccu-sun20i-d1.h clk: sunxi-ng: d1: Add CAN bus gates and resets 2023-01-08 22:06:10 +01:00
ccu-sun50i-a64.c clk: sunxi-ng: a64: select closest rate for pll-video0 2023-08-09 23:41:44 +08:00
ccu-sun50i-a64.h dt-bindings: clock: sunxi: Export CLK_DRAM for devfreq 2021-11-23 11:29:35 +01:00
ccu-sun50i-a100-r.c clk: sunxi-ng: Allow drivers to be built as modules 2021-11-22 10:02:21 +01:00
ccu-sun50i-a100-r.h clk: sunxi-ng: add support for the Allwinner A100 CCU 2020-08-25 10:52:18 +02:00
ccu-sun50i-a100.c clk: sunxi-ng: Allow drivers to be built as modules 2021-11-22 10:02:21 +01:00
ccu-sun50i-a100.h clk: sunxi-ng: add support for the Allwinner A100 CCU 2020-08-25 10:52:18 +02:00
ccu-sun50i-h6-r.c clk: sunxi-ng: Deduplicate ccu_clks arrays 2022-06-06 23:13:28 +02:00
ccu-sun50i-h6-r.h clk: sunxi-ng: h6-r: Add RTC gate clock 2022-05-06 18:02:40 +02:00
ccu-sun50i-h6.c clk: sunxi-ng: h6: Fix default PLL GPU rate 2022-09-28 16:42:51 -07:00
ccu-sun50i-h6.h clk: sunxi-ng: Use the correct style for SPDX License Identifier 2019-05-01 13:01:26 -07:00
ccu-sun50i-h616.c clk: sunxi-ng: h616: Add PLL derived 32KHz clock 2022-05-06 18:03:52 +02:00
ccu-sun50i-h616.h clk: sunxi-ng: h616: Add PLL derived 32KHz clock 2022-05-06 18:03:52 +02:00
ccu-suniv-f1c100s.c clk: sunxi-ng: f1c100s: Add IR mod clock 2022-11-16 19:49:18 +01:00
ccu-suniv-f1c100s.h clk: sunxi-ng: f1c100s: Add IR mod clock 2022-11-16 19:49:18 +01:00
Kconfig clk: sunxi-ng: d1: Allow building for R528/T113 2023-01-08 22:06:10 +01:00
Makefile clk: sunxi-ng: Add support for the sun6i RTC clocks 2022-03-23 19:58:38 +01:00