You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/bcm27xx/patches-4.19/950-0771-fixup-clk-raspberr...

55 lines
1.8 KiB
Diff

From afb2cfe3056fc643cee8ae25991f4b9c22d48bef Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 7 Nov 2019 14:23:38 +0000
Subject: [PATCH] fixup! clk-raspberrypi: Also support v3d clock
---
drivers/clk/bcm/clk-raspberrypi.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
--- a/drivers/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
@@ -208,6 +208,9 @@ static int raspberrypi_determine_rate(st
u32 clock_id, const char *name, unsigned long min_rate, unsigned long max_rate,
struct clk_rate_request *req)
{
+#if 1
+ req->rate = clamp(req->rate, min_rate, max_rate);
+#else
u64 div, final_rate;
u32 ndiv, fdiv;
@@ -225,6 +228,7 @@ static int raspberrypi_determine_rate(st
req->rate = final_rate >> A2W_PLL_FRAC_BITS;
+#endif
return 0;
}
@@ -351,21 +355,21 @@ static const struct clk_ops raspberrypi_
.is_prepared = raspberrypi_fw_pll_is_on,
.recalc_rate = raspberrypi_fw_pll_get_rate,
.set_rate = raspberrypi_fw_pll_set_rate,
- //.determine_rate = raspberrypi_pll_determine_rate,
+ .determine_rate = raspberrypi_pll_determine_rate,
};
static const struct clk_ops raspberrypi_firmware_pll_divider_clk_ops = {
.is_prepared = raspberrypi_fw_pll_div_is_on,
.recalc_rate = raspberrypi_fw_pll_div_get_rate,
.set_rate = raspberrypi_fw_pll_div_set_rate,
- //.determine_rate = raspberrypi_pll_div_determine_rate,
+ .determine_rate = raspberrypi_pll_div_determine_rate,
};
static const struct clk_ops raspberrypi_firmware_clk_ops = {
.is_prepared = raspberrypi_fw_clock_is_on,
.recalc_rate = raspberrypi_fw_clock_get_rate,
.set_rate = raspberrypi_fw_clock_set_rate,
- //.determine_rate = raspberrypi_clock_determine_rate,
+ .determine_rate = raspberrypi_clock_determine_rate,
};