mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 05:36:47 +00:00
linux (Rockchip): update patches for 5.14.6
This commit is contained in:
parent
492da7c951
commit
4f8d4d9aa6
@ -295,50 +295,6 @@ index 000000000000..72b286a1beba
|
||||
+ #reset-cells = <1>;
|
||||
+ };
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Geis <pgwipeout@gmail.com>
|
||||
Date: Wed, 28 Jul 2021 14:00:28 -0400
|
||||
Subject: [PATCH] clk: rockchip: drop GRF dependency for rk3328/rk3036 pll
|
||||
types
|
||||
|
||||
The rk3036/rk3328 pll types were converted to checking the lock status
|
||||
via the internal register in january 2020, so don't need the grf
|
||||
reference since then.
|
||||
|
||||
But it was forgotten to remove grf check when deciding between the
|
||||
pll rate ops (read-only vs. read-write), so a clock driver without
|
||||
the needed grf reference might've been put into the read-only mode
|
||||
just because the grf reference was missing.
|
||||
|
||||
This affected the rk356x that needs to reclock certain plls at boot.
|
||||
|
||||
Fix this by removing the check for the grf for selecting the utilized
|
||||
operations.
|
||||
|
||||
Suggested-by: Heiko Stuebner <heiko@sntech.de>
|
||||
Fixes: 7f6ffbb885d1 ("clk: rockchip: convert rk3036 pll type to use internal lock status")
|
||||
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
|
||||
[adjusted the commit message, adjusted the fixes tag]
|
||||
Link: https://lore.kernel.org/r/20210728180034.717953-3-pgwipeout@gmail.com
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
drivers/clk/rockchip/clk-pll.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/clk/rockchip/clk-pll.c b/drivers/clk/rockchip/clk-pll.c
|
||||
index fe937bcdb487..f7827b3b7fc1 100644
|
||||
--- a/drivers/clk/rockchip/clk-pll.c
|
||||
+++ b/drivers/clk/rockchip/clk-pll.c
|
||||
@@ -940,7 +940,7 @@ struct clk *rockchip_clk_register_pll(struct rockchip_clk_provider *ctx,
|
||||
switch (pll_type) {
|
||||
case pll_rk3036:
|
||||
case pll_rk3328:
|
||||
- if (!pll->rate_table || IS_ERR(ctx->grf))
|
||||
+ if (!pll->rate_table)
|
||||
init.ops = &rockchip_rk3036_pll_clk_norate_ops;
|
||||
else
|
||||
init.ops = &rockchip_rk3036_pll_clk_ops;
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Yunhao Tian <t123yh@outlook.com>
|
||||
Date: Wed, 21 Jul 2021 20:48:16 +0800
|
||||
|
@ -1,96 +1,3 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
Date: Mon, 19 Jul 2021 22:52:33 +0200
|
||||
Subject: [PATCH] media: hantro: vp8: Move noisy WARN_ON to vpu_debug
|
||||
|
||||
When the VP8 decoders can't find a reference frame,
|
||||
the driver falls back to the current output frame.
|
||||
|
||||
This will probably produce some undesirable results,
|
||||
leading to frame corruption, but shouldn't cause
|
||||
noisy warnings.
|
||||
|
||||
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
Acked-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||
Tested-by: Alex Bee <knaerzche@gmail.com>
|
||||
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
||||
---
|
||||
drivers/staging/media/hantro/hantro_g1_vp8_dec.c | 13 ++++++++++---
|
||||
.../staging/media/hantro/rockchip_vpu2_hw_vp8_dec.c | 13 ++++++++++---
|
||||
2 files changed, 20 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/hantro/hantro_g1_vp8_dec.c b/drivers/staging/media/hantro/hantro_g1_vp8_dec.c
|
||||
index 96622a7f8279..2afd5996d75f 100644
|
||||
--- a/drivers/staging/media/hantro/hantro_g1_vp8_dec.c
|
||||
+++ b/drivers/staging/media/hantro/hantro_g1_vp8_dec.c
|
||||
@@ -376,12 +376,17 @@ static void cfg_ref(struct hantro_ctx *ctx,
|
||||
vb2_dst = hantro_get_dst_buf(ctx);
|
||||
|
||||
ref = hantro_get_ref(ctx, hdr->last_frame_ts);
|
||||
- if (!ref)
|
||||
+ if (!ref) {
|
||||
+ vpu_debug(0, "failed to find last frame ts=%llu\n",
|
||||
+ hdr->last_frame_ts);
|
||||
ref = vb2_dma_contig_plane_dma_addr(&vb2_dst->vb2_buf, 0);
|
||||
+ }
|
||||
vdpu_write_relaxed(vpu, ref, G1_REG_ADDR_REF(0));
|
||||
|
||||
ref = hantro_get_ref(ctx, hdr->golden_frame_ts);
|
||||
- WARN_ON(!ref && hdr->golden_frame_ts);
|
||||
+ if (!ref && hdr->golden_frame_ts)
|
||||
+ vpu_debug(0, "failed to find golden frame ts=%llu\n",
|
||||
+ hdr->golden_frame_ts);
|
||||
if (!ref)
|
||||
ref = vb2_dma_contig_plane_dma_addr(&vb2_dst->vb2_buf, 0);
|
||||
if (hdr->flags & V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN)
|
||||
@@ -389,7 +394,9 @@ static void cfg_ref(struct hantro_ctx *ctx,
|
||||
vdpu_write_relaxed(vpu, ref, G1_REG_ADDR_REF(4));
|
||||
|
||||
ref = hantro_get_ref(ctx, hdr->alt_frame_ts);
|
||||
- WARN_ON(!ref && hdr->alt_frame_ts);
|
||||
+ if (!ref && hdr->alt_frame_ts)
|
||||
+ vpu_debug(0, "failed to find alt frame ts=%llu\n",
|
||||
+ hdr->alt_frame_ts);
|
||||
if (!ref)
|
||||
ref = vb2_dma_contig_plane_dma_addr(&vb2_dst->vb2_buf, 0);
|
||||
if (hdr->flags & V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT)
|
||||
diff --git a/drivers/staging/media/hantro/rockchip_vpu2_hw_vp8_dec.c b/drivers/staging/media/hantro/rockchip_vpu2_hw_vp8_dec.c
|
||||
index 951b55f58a61..704607511b57 100644
|
||||
--- a/drivers/staging/media/hantro/rockchip_vpu2_hw_vp8_dec.c
|
||||
+++ b/drivers/staging/media/hantro/rockchip_vpu2_hw_vp8_dec.c
|
||||
@@ -453,12 +453,17 @@ static void cfg_ref(struct hantro_ctx *ctx,
|
||||
vb2_dst = hantro_get_dst_buf(ctx);
|
||||
|
||||
ref = hantro_get_ref(ctx, hdr->last_frame_ts);
|
||||
- if (!ref)
|
||||
+ if (!ref) {
|
||||
+ vpu_debug(0, "failed to find last frame ts=%llu\n",
|
||||
+ hdr->last_frame_ts);
|
||||
ref = vb2_dma_contig_plane_dma_addr(&vb2_dst->vb2_buf, 0);
|
||||
+ }
|
||||
vdpu_write_relaxed(vpu, ref, VDPU_REG_VP8_ADDR_REF0);
|
||||
|
||||
ref = hantro_get_ref(ctx, hdr->golden_frame_ts);
|
||||
- WARN_ON(!ref && hdr->golden_frame_ts);
|
||||
+ if (!ref && hdr->golden_frame_ts)
|
||||
+ vpu_debug(0, "failed to find golden frame ts=%llu\n",
|
||||
+ hdr->golden_frame_ts);
|
||||
if (!ref)
|
||||
ref = vb2_dma_contig_plane_dma_addr(&vb2_dst->vb2_buf, 0);
|
||||
if (hdr->flags & V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN)
|
||||
@@ -466,7 +471,9 @@ static void cfg_ref(struct hantro_ctx *ctx,
|
||||
vdpu_write_relaxed(vpu, ref, VDPU_REG_VP8_ADDR_REF2_5(2));
|
||||
|
||||
ref = hantro_get_ref(ctx, hdr->alt_frame_ts);
|
||||
- WARN_ON(!ref && hdr->alt_frame_ts);
|
||||
+ if (!ref && hdr->alt_frame_ts)
|
||||
+ vpu_debug(0, "failed to find alt frame ts=%llu\n",
|
||||
+ hdr->alt_frame_ts);
|
||||
if (!ref)
|
||||
ref = vb2_dma_contig_plane_dma_addr(&vb2_dst->vb2_buf, 0);
|
||||
if (hdr->flags & V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT)
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
Date: Mon, 19 Jul 2021 22:52:34 +0200
|
||||
|
Loading…
x
Reference in New Issue
Block a user