mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 21:56:42 +00:00
linux (Rockchip): drop upstreamed patches in 6.1.57
This commit is contained in:
parent
3c43828c23
commit
3801910666
@ -1,78 +1,3 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
Date: Sat, 10 Oct 2020 15:32:18 +0000
|
|
||||||
Subject: [PATCH] phy/rockchip: inno-hdmi: use correct vco_div_5 macro on
|
|
||||||
rk3328
|
|
||||||
|
|
||||||
inno_hdmi_phy_rk3328_clk_set_rate() is using the RK3228 macro
|
|
||||||
when configuring vco_div_5 on RK3328.
|
|
||||||
|
|
||||||
Fix this by using correct vco_div_5 macro for RK3328.
|
|
||||||
|
|
||||||
Fixes: 53706a116863 ("phy: add Rockchip Innosilicon hdmi phy")
|
|
||||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
---
|
|
||||||
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
index 80acca4e9e14..15339338aae3 100644
|
|
||||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
@@ -790,8 +790,8 @@ static int inno_hdmi_phy_rk3328_clk_set_rate(struct clk_hw *hw,
|
|
||||||
RK3328_PRE_PLL_POWER_DOWN);
|
|
||||||
|
|
||||||
/* Configure pre-pll */
|
|
||||||
- inno_update_bits(inno, 0xa0, RK3228_PCLK_VCO_DIV_5_MASK,
|
|
||||||
- RK3228_PCLK_VCO_DIV_5(cfg->vco_div_5_en));
|
|
||||||
+ inno_update_bits(inno, 0xa0, RK3328_PCLK_VCO_DIV_5_MASK,
|
|
||||||
+ RK3328_PCLK_VCO_DIV_5(cfg->vco_div_5_en));
|
|
||||||
inno_write(inno, 0xa1, RK3328_PRE_PLL_PRE_DIV(cfg->prediv));
|
|
||||||
|
|
||||||
val = RK3328_SPREAD_SPECTRUM_MOD_DISABLE;
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Zheng Yang <zhengyang@rock-chips.com>
|
|
||||||
Date: Sat, 10 Oct 2020 15:32:18 +0000
|
|
||||||
Subject: [PATCH] phy/rockchip: inno-hdmi: round fractal pixclock in rk3328
|
|
||||||
recalc_rate
|
|
||||||
|
|
||||||
inno_hdmi_phy_rk3328_clk_recalc_rate() is returning a rate not found
|
|
||||||
in the pre pll config table when the fractal divider is used.
|
|
||||||
This can prevent proper power_on because a tmdsclock for the new rate
|
|
||||||
is not found in the pre pll config table.
|
|
||||||
|
|
||||||
Fix this by saving and returning a rounded pixel rate that exist
|
|
||||||
in the pre pll config table.
|
|
||||||
|
|
||||||
Fixes: 53706a116863 ("phy: add Rockchip Innosilicon hdmi phy")
|
|
||||||
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
|
|
||||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
---
|
|
||||||
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 8 +++++---
|
|
||||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
index 15339338aae3..15a008a1ac7b 100644
|
|
||||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
@@ -745,10 +745,12 @@ unsigned long inno_hdmi_phy_rk3328_clk_recalc_rate(struct clk_hw *hw,
|
|
||||||
do_div(vco, (nd * (no_a == 1 ? no_b : no_a) * no_d * 2));
|
|
||||||
}
|
|
||||||
|
|
||||||
- inno->pixclock = vco;
|
|
||||||
- dev_dbg(inno->dev, "%s rate %lu\n", __func__, inno->pixclock);
|
|
||||||
+ inno->pixclock = DIV_ROUND_CLOSEST((unsigned long)vco, 1000) * 1000;
|
|
||||||
|
|
||||||
- return vco;
|
|
||||||
+ dev_dbg(inno->dev, "%s rate %lu vco %llu\n",
|
|
||||||
+ __func__, inno->pixclock, vco);
|
|
||||||
+
|
|
||||||
+ return inno->pixclock;
|
|
||||||
}
|
|
||||||
|
|
||||||
static long inno_hdmi_phy_rk3328_clk_round_rate(struct clk_hw *hw,
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
From: Jonas Karlman <jonas@kwiboo.se>
|
||||||
Date: Sat, 10 Oct 2020 15:32:19 +0000
|
Date: Sat, 10 Oct 2020 15:32:19 +0000
|
||||||
@ -110,53 +35,6 @@ index 15a008a1ac7b..4b936ca19920 100644
|
|||||||
|
|
||||||
do_div(vco, (nd * (no_a == 1 ? no_b : no_a) * no_d * 2));
|
do_div(vco, (nd * (no_a == 1 ? no_b : no_a) * no_d * 2));
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
Date: Sat, 10 Oct 2020 15:32:19 +0000
|
|
||||||
Subject: [PATCH] phy/rockchip: inno-hdmi: do not power on rk3328 post pll on
|
|
||||||
reg write
|
|
||||||
|
|
||||||
inno_write is used to configure 0xaa reg, that also hold the
|
|
||||||
POST_PLL_POWER_DOWN bit.
|
|
||||||
When POST_PLL_REFCLK_SEL_TMDS is configured the power down bit is not
|
|
||||||
taken into consideration.
|
|
||||||
|
|
||||||
Fix this by keeping the power down bit until configuration is complete.
|
|
||||||
Also reorder the reg write order for consistency.
|
|
||||||
|
|
||||||
Fixes: 53706a116863 ("phy: add Rockchip Innosilicon hdmi phy")
|
|
||||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
---
|
|
||||||
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 6 ++++--
|
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
index 4b936ca19920..620961fcfc1d 100644
|
|
||||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
|
|
||||||
@@ -1020,9 +1020,10 @@ inno_hdmi_phy_rk3328_power_on(struct inno_hdmi_phy *inno,
|
|
||||||
|
|
||||||
inno_write(inno, 0xac, RK3328_POST_PLL_FB_DIV_7_0(cfg->fbdiv));
|
|
||||||
if (cfg->postdiv == 1) {
|
|
||||||
- inno_write(inno, 0xaa, RK3328_POST_PLL_REFCLK_SEL_TMDS);
|
|
||||||
inno_write(inno, 0xab, RK3328_POST_PLL_FB_DIV_8(cfg->fbdiv) |
|
|
||||||
RK3328_POST_PLL_PRE_DIV(cfg->prediv));
|
|
||||||
+ inno_write(inno, 0xaa, RK3328_POST_PLL_REFCLK_SEL_TMDS |
|
|
||||||
+ RK3328_POST_PLL_POWER_DOWN);
|
|
||||||
} else {
|
|
||||||
v = (cfg->postdiv / 2) - 1;
|
|
||||||
v &= RK3328_POST_PLL_POST_DIV_MASK;
|
|
||||||
@@ -1030,7 +1031,8 @@ inno_hdmi_phy_rk3328_power_on(struct inno_hdmi_phy *inno,
|
|
||||||
inno_write(inno, 0xab, RK3328_POST_PLL_FB_DIV_8(cfg->fbdiv) |
|
|
||||||
RK3328_POST_PLL_PRE_DIV(cfg->prediv));
|
|
||||||
inno_write(inno, 0xaa, RK3328_POST_PLL_POST_DIV_ENABLE |
|
|
||||||
- RK3328_POST_PLL_REFCLK_SEL_TMDS);
|
|
||||||
+ RK3328_POST_PLL_REFCLK_SEL_TMDS |
|
|
||||||
+ RK3328_POST_PLL_POWER_DOWN);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (v = 0; v < 14; v++)
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Huicong Xu <xhc@rock-chips.com>
|
From: Huicong Xu <xhc@rock-chips.com>
|
||||||
Date: Sat, 10 Oct 2020 15:32:20 +0000
|
Date: Sat, 10 Oct 2020 15:32:20 +0000
|
||||||
|
Loading…
x
Reference in New Issue
Block a user