mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-31 14:37:59 +00:00
linux (Rockchip): patches upstreamed in 5.15.3
This commit is contained in:
parent
7ef32419bf
commit
71e5fb0dc8
@ -289,37 +289,6 @@ index 95fedcf56e4a..38e75b275bb6 100644
|
|||||||
|
|
||||||
host->ios.clock = 0;
|
host->ios.clock = 0;
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Bee <knaerzche@gmail.com>
|
|
||||||
Date: Wed, 23 Jun 2021 13:59:26 +0200
|
|
||||||
Subject: [PATCH] arm64: dts: rockchip: Fix GPU register width for RK3328
|
|
||||||
|
|
||||||
As can be seen in RK3328's TRM the register range for the GPU is
|
|
||||||
0xff300000 to 0xff330000.
|
|
||||||
It would (and does in vendor kernel) overlap with the registers of
|
|
||||||
the HEVC encoder (node/driver do not exist yet in upstream kernel).
|
|
||||||
See already existing h265e_mmu node.
|
|
||||||
|
|
||||||
Fixes: 752fbc0c8da7 ("arm64: dts: rockchip: add rk3328 mali gpu node")
|
|
||||||
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
|
||||||
---
|
|
||||||
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
index becc1c61b182..5b2020590f53 100644
|
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
@@ -599,7 +599,7 @@ saradc: adc@ff280000 {
|
|
||||||
|
|
||||||
gpu: gpu@ff300000 {
|
|
||||||
compatible = "rockchip,rk3328-mali", "arm,mali-450";
|
|
||||||
- reg = <0x0 0xff300000 0x0 0x40000>;
|
|
||||||
+ reg = <0x0 0xff300000 0x0 0x30000>;
|
|
||||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
|
|
||||||
<GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
|
|
||||||
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Alex Bee <knaerzche@gmail.com>
|
From: Alex Bee <knaerzche@gmail.com>
|
||||||
Date: Wed, 23 Jun 2021 16:59:18 +0200
|
Date: Wed, 23 Jun 2021 16:59:18 +0200
|
||||||
|
@ -161,40 +161,6 @@ index 9852c3519f56..f3ff3e709169 100644
|
|||||||
WRITE_PPS(sps->log2_max_frame_num_minus4, LOG2_MAX_FRAME_NUM_MINUS4);
|
WRITE_PPS(sps->log2_max_frame_num_minus4, LOG2_MAX_FRAME_NUM_MINUS4);
|
||||||
WRITE_PPS(sps->max_num_ref_frames, MAX_NUM_REF_FRAMES);
|
WRITE_PPS(sps->max_num_ref_frames, MAX_NUM_REF_FRAMES);
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
Date: Mon, 6 Jul 2020 21:54:35 +0000
|
|
||||||
Subject: [PATCH] media: rkvdec: h264: Do not override output buffer sizeimage
|
|
||||||
|
|
||||||
The output buffer sizeimage is currently forced to 2 bytes per pixel, this
|
|
||||||
can lead to high memory usage for 4K content when multiple output buffers
|
|
||||||
is created by userspace.
|
|
||||||
|
|
||||||
Do not override output buffer sizeimage and let userspace have control of
|
|
||||||
output buffer sizeimage by only setting sizeimage if none is provided.
|
|
||||||
|
|
||||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
---
|
|
||||||
drivers/staging/media/rkvdec/rkvdec-h264.c | 5 +++--
|
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
|
|
||||||
index f3ff3e709169..503ae683d0fd 100644
|
|
||||||
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
|
|
||||||
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
|
|
||||||
@@ -1015,8 +1015,9 @@ static int rkvdec_h264_adjust_fmt(struct rkvdec_ctx *ctx,
|
|
||||||
struct v4l2_pix_format_mplane *fmt = &f->fmt.pix_mp;
|
|
||||||
|
|
||||||
fmt->num_planes = 1;
|
|
||||||
- fmt->plane_fmt[0].sizeimage = fmt->width * fmt->height *
|
|
||||||
- RKVDEC_H264_MAX_DEPTH_IN_BYTES;
|
|
||||||
+ if (!fmt->plane_fmt[0].sizeimage)
|
|
||||||
+ fmt->plane_fmt[0].sizeimage = fmt->width * fmt->height *
|
|
||||||
+ RKVDEC_H264_MAX_DEPTH_IN_BYTES;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
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: Mon, 6 Jul 2020 21:54:35 +0000
|
Date: Mon, 6 Jul 2020 21:54:35 +0000
|
||||||
|
@ -3650,31 +3650,6 @@ index fbaf0303f7c2..2c0c6dcbd066 100644
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -373,7 +421,7 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv,
|
|
||||||
struct v4l2_m2m_ctx *m2m_ctx = ctx->fh.m2m_ctx;
|
|
||||||
const struct rkvdec_coded_fmt_desc *desc;
|
|
||||||
struct v4l2_format *cap_fmt;
|
|
||||||
- struct vb2_queue *peer_vq;
|
|
||||||
+ struct vb2_queue *peer_vq, *vq;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -385,6 +433,15 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv,
|
|
||||||
if (vb2_is_busy(peer_vq))
|
|
||||||
return -EBUSY;
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Some codecs like VP9 can contain dynamic resolution changes which
|
|
||||||
+ * are currently not supported by the V4L2 API or driver, so return
|
|
||||||
+ * an error if userspace tries to reconfigure the output format.
|
|
||||||
+ */
|
|
||||||
+ vq = v4l2_m2m_get_vq(m2m_ctx, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
|
|
||||||
+ if (vb2_is_busy(vq))
|
|
||||||
+ return -EINVAL;
|
|
||||||
+
|
|
||||||
ret = rkvdec_s_fmt(file, priv, f, rkvdec_try_output_fmt);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h
|
diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h
|
||||||
index fa24bcb6ff42..18dd721172d8 100644
|
index fa24bcb6ff42..18dd721172d8 100644
|
||||||
--- a/drivers/staging/media/rkvdec/rkvdec.h
|
--- a/drivers/staging/media/rkvdec/rkvdec.h
|
||||||
|
Loading…
x
Reference in New Issue
Block a user