Rockchip: linux: rebase/add patches for linux 6.0

This commit is contained in:
Alex Bee 2022-09-17 08:35:04 +00:00 committed by Rudi Heitbaum
parent a1c0e27cf3
commit fcd644f017
9 changed files with 6477 additions and 936 deletions

File diff suppressed because it is too large Load Diff

View File

@ -270,10 +270,10 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 8 insertions(+) 1 file changed, 8 insertions(+)
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 4b70cbfc6d5d..5329f983db15 100644 index ef53a2578824..d4c53074154a 100644
--- a/drivers/mmc/core/core.c --- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c
@@ -1356,6 +1356,14 @@ void mmc_power_off(struct mmc_host *host) @@ -1358,6 +1358,14 @@ void mmc_power_off(struct mmc_host *host)
if (host->ios.power_mode == MMC_POWER_OFF) if (host->ios.power_mode == MMC_POWER_OFF)
return; return;

View File

@ -17,10 +17,10 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 38 insertions(+), 39 deletions(-) 1 file changed, 38 insertions(+), 39 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
index df34b2a283bc..287488016ff2 100644 index e0fbe6ba4b6c..cb2f1acab7cf 100644
--- a/drivers/media/v4l2-core/v4l2-common.c --- a/drivers/media/v4l2-core/v4l2-common.c
+++ b/drivers/media/v4l2-core/v4l2-common.c +++ b/drivers/media/v4l2-core/v4l2-common.c
@@ -336,6 +336,33 @@ static inline unsigned int v4l2_format_block_height(const struct v4l2_format_inf @@ -338,6 +338,33 @@ static inline unsigned int v4l2_format_block_height(const struct v4l2_format_inf
return info->block_h[plane]; return info->block_h[plane];
} }
@ -54,7 +54,7 @@ index df34b2a283bc..287488016ff2 100644
void v4l2_apply_frmsize_constraints(u32 *width, u32 *height, void v4l2_apply_frmsize_constraints(u32 *width, u32 *height,
const struct v4l2_frmsize_stepwise *frmsize) const struct v4l2_frmsize_stepwise *frmsize)
{ {
@@ -371,37 +398,19 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt, @@ -373,37 +400,19 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt,
if (info->mem_planes == 1) { if (info->mem_planes == 1) {
plane = &pixfmt->plane_fmt[0]; plane = &pixfmt->plane_fmt[0];
@ -99,7 +99,7 @@ index df34b2a283bc..287488016ff2 100644
} }
} }
return 0; return 0;
@@ -425,22 +434,12 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat, @@ -427,22 +436,12 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat,
pixfmt->width = width; pixfmt->width = width;
pixfmt->height = height; pixfmt->height = height;
pixfmt->pixelformat = pixelformat; pixfmt->pixelformat = pixelformat;
@ -154,12 +154,12 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
3 files changed, 8 insertions(+) 3 files changed, 8 insertions(+)
diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
index 287488016ff2..01f8a50586eb 100644 index cb2f1acab7cf..8446a1deffd8 100644
--- a/drivers/media/v4l2-core/v4l2-common.c --- a/drivers/media/v4l2-core/v4l2-common.c
+++ b/drivers/media/v4l2-core/v4l2-common.c +++ b/drivers/media/v4l2-core/v4l2-common.c
@@ -267,6 +267,9 @@ const struct v4l2_format_info *v4l2_format_info(u32 format) @@ -268,6 +268,9 @@ const struct v4l2_format_info *v4l2_format_info(u32 format)
{ .format = V4L2_PIX_FMT_NV24, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 1, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_NV42, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 1, .vdiv = 1 }, { .format = V4L2_PIX_FMT_NV42, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 1, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_P010, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 2, 2, 0, 0 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_NV15, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .hdiv = 2, .vdiv = 2, .block_w = { 4, 2, 0, 0 }, .block_h = { 1, 1, 0, 0 } }, + { .format = V4L2_PIX_FMT_NV15, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .hdiv = 2, .vdiv = 2, .block_w = { 4, 2, 0, 0 }, .block_h = { 1, 1, 0, 0 } },
+ { .format = V4L2_PIX_FMT_NV20, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .hdiv = 2, .vdiv = 1, .block_w = { 4, 2, 0, 0 }, .block_h = { 1, 1, 0, 0 } }, + { .format = V4L2_PIX_FMT_NV20, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .hdiv = 2, .vdiv = 1, .block_w = { 4, 2, 0, 0 }, .block_h = { 1, 1, 0, 0 } },
@ -168,25 +168,25 @@ index 287488016ff2..01f8a50586eb 100644
{ .format = V4L2_PIX_FMT_YVU410, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .hdiv = 4, .vdiv = 4 }, { .format = V4L2_PIX_FMT_YVU410, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .hdiv = 4, .vdiv = 4 },
{ .format = V4L2_PIX_FMT_YUV411P, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .hdiv = 4, .vdiv = 1 }, { .format = V4L2_PIX_FMT_YUV411P, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .hdiv = 4, .vdiv = 1 },
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index 21470de62d72..cb7496c084f6 100644 index c314025d977e..298cb762b8d5 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c --- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1306,6 +1306,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) @@ -1354,6 +1354,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_NV61: descr = "Y/CrCb 4:2:2"; break;
case V4L2_PIX_FMT_NV24: descr = "Y/CbCr 4:4:4"; break; case V4L2_PIX_FMT_NV24: descr = "Y/CbCr 4:4:4"; break;
case V4L2_PIX_FMT_NV42: descr = "Y/CrCb 4:4:4"; break; case V4L2_PIX_FMT_NV42: descr = "Y/CrCb 4:4:4"; break;
case V4L2_PIX_FMT_P010: descr = "10-bit Y/CbCr 4:2:0"; break;
+ case V4L2_PIX_FMT_NV15: descr = "10-bit Y/CbCr 4:2:0 (Packed)"; break; + case V4L2_PIX_FMT_NV15: descr = "10-bit Y/CbCr 4:2:0 (Packed)"; break;
+ case V4L2_PIX_FMT_NV20: descr = "10-bit Y/CbCr 4:2:2 (Packed)"; break; + case V4L2_PIX_FMT_NV20: descr = "10-bit Y/CbCr 4:2:2 (Packed)"; break;
case V4L2_PIX_FMT_NV12_4L4: descr = "Y/CbCr 4:2:0 (4x4 Linear)"; break; case V4L2_PIX_FMT_NV12_4L4: descr = "Y/CbCr 4:2:0 (4x4 Linear)"; break;
case V4L2_PIX_FMT_NV12_16L16: descr = "Y/CbCr 4:2:0 (16x16 Linear)"; break; case V4L2_PIX_FMT_NV12_16L16: descr = "Y/CbCr 4:2:0 (16x16 Linear)"; break;
case V4L2_PIX_FMT_NV12_32L32: descr = "Y/CbCr 4:2:0 (32x32 Linear)"; break; case V4L2_PIX_FMT_NV12_32L32: descr = "Y/CbCr 4:2:0 (32x32 Linear)"; break;
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 343b95107fce..3a5d6290a379 100644 index 01e630f2ec78..cea44992aea3 100644
--- a/include/uapi/linux/videodev2.h --- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h
@@ -603,6 +603,9 @@ struct v4l2_pix_format { @@ -628,6 +628,9 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */
#define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */ #define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */
#define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0') /* 24 Y/CbCr 4:2:0 10-bit per component */
+#define V4L2_PIX_FMT_NV15 v4l2_fourcc('N', 'V', '1', '5') /* 15 Y/CbCr 4:2:0 10-bit packed */ +#define V4L2_PIX_FMT_NV15 v4l2_fourcc('N', 'V', '1', '5') /* 15 Y/CbCr 4:2:0 10-bit packed */
+#define V4L2_PIX_FMT_NV20 v4l2_fourcc('N', 'V', '2', '0') /* 20 Y/CbCr 4:2:2 10-bit packed */ +#define V4L2_PIX_FMT_NV20 v4l2_fourcc('N', 'V', '2', '0') /* 20 Y/CbCr 4:2:2 10-bit packed */
@ -212,10 +212,10 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 5 insertions(+), 5 deletions(-) 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
index 2992fb87cf72..54fc3a6d0902 100644 index 4af5a831bde0..5590abfaa44d 100644
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c --- a/drivers/staging/media/rkvdec/rkvdec-h264.c
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
@@ -915,9 +915,9 @@ static void config_registers(struct rkvdec_ctx *ctx, @@ -896,9 +896,9 @@ static void config_registers(struct rkvdec_ctx *ctx,
dma_addr_t rlc_addr; dma_addr_t rlc_addr;
dma_addr_t refer_addr; dma_addr_t refer_addr;
u32 rlc_len; u32 rlc_len;
@ -228,7 +228,7 @@ index 2992fb87cf72..54fc3a6d0902 100644
u32 yuv_virstride = 0; u32 yuv_virstride = 0;
u32 offset; u32 offset;
dma_addr_t dst_addr; dma_addr_t dst_addr;
@@ -928,8 +928,8 @@ static void config_registers(struct rkvdec_ctx *ctx, @@ -909,8 +909,8 @@ static void config_registers(struct rkvdec_ctx *ctx,
f = &ctx->decoded_fmt; f = &ctx->decoded_fmt;
dst_fmt = &f->fmt.pix_mp; dst_fmt = &f->fmt.pix_mp;
@ -487,10 +487,10 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 files changed, 37 insertions(+), 15 deletions(-) 2 files changed, 37 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
index 54fc3a6d0902..af530b05a789 100644 index 5590abfaa44d..09cab1e53377 100644
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c --- a/drivers/staging/media/rkvdec/rkvdec-h264.c
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
@@ -1044,19 +1044,14 @@ static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx, @@ -1031,19 +1031,14 @@ static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx,
{ {
unsigned int width, height; unsigned int width, height;
@ -514,7 +514,7 @@ index 54fc3a6d0902..af530b05a789 100644
return -EINVAL; return -EINVAL;
width = (sps->pic_width_in_mbs_minus1 + 1) * 16; width = (sps->pic_width_in_mbs_minus1 + 1) * 16;
@@ -1077,6 +1072,25 @@ static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx, @@ -1064,6 +1059,25 @@ static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx,
return 0; return 0;
} }
@ -540,7 +540,7 @@ index 54fc3a6d0902..af530b05a789 100644
static int rkvdec_h264_start(struct rkvdec_ctx *ctx) static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
{ {
struct rkvdec_dev *rkvdec = ctx->dev; struct rkvdec_dev *rkvdec = ctx->dev;
@@ -1198,6 +1212,7 @@ static int rkvdec_h264_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl) @@ -1185,6 +1199,7 @@ static int rkvdec_h264_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
const struct rkvdec_coded_fmt_ops rkvdec_h264_fmt_ops = { const struct rkvdec_coded_fmt_ops rkvdec_h264_fmt_ops = {
.adjust_fmt = rkvdec_h264_adjust_fmt, .adjust_fmt = rkvdec_h264_adjust_fmt,
@ -624,7 +624,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 7 insertions(+), 6 deletions(-) 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
index af530b05a789..f31b7c021d82 100644 index 09cab1e53377..6536c123a243 100644
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c --- a/drivers/staging/media/rkvdec/rkvdec-h264.c
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
@@ -655,13 +655,14 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx, @@ -655,13 +655,14 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx,

View File

@ -43,7 +43,7 @@ index 07741b678798..5ec38456dc5d 100644
.num_planes = 3, .char_per_block = { 2, 2, 2 }, .num_planes = 3, .char_per_block = { 2, 2, 2 },
.block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0, .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0,
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
index f1972154a594..b972d0adfa2e 100644 index 0206f812c569..fa49ee98f275 100644
--- a/include/uapi/drm/drm_fourcc.h --- a/include/uapi/drm/drm_fourcc.h
+++ b/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h
@@ -285,6 +285,8 @@ extern "C" { @@ -285,6 +285,8 @@ extern "C" {
@ -76,10 +76,10 @@ Reviewed-by: Sandy Huang <hjc@rock-chips.com>
3 files changed, 54 insertions(+), 8 deletions(-) 3 files changed, 54 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 74562d40f639..9560f82ce880 100644 index d32117633efe..9e71263ac770 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -274,6 +274,18 @@ static bool has_uv_swapped(uint32_t format) @@ -280,6 +280,18 @@ static bool has_uv_swapped(uint32_t format)
} }
} }
@ -98,7 +98,7 @@ index 74562d40f639..9560f82ce880 100644
static enum vop_data_format vop_convert_format(uint32_t format) static enum vop_data_format vop_convert_format(uint32_t format)
{ {
switch (format) { switch (format) {
@@ -289,12 +301,15 @@ static enum vop_data_format vop_convert_format(uint32_t format) @@ -295,12 +307,15 @@ static enum vop_data_format vop_convert_format(uint32_t format)
case DRM_FORMAT_BGR565: case DRM_FORMAT_BGR565:
return VOP_FMT_RGB565; return VOP_FMT_RGB565;
case DRM_FORMAT_NV12: case DRM_FORMAT_NV12:
@ -114,7 +114,7 @@ index 74562d40f639..9560f82ce880 100644
case DRM_FORMAT_NV42: case DRM_FORMAT_NV42:
return VOP_FMT_YUV444SP; return VOP_FMT_YUV444SP;
default: default:
@@ -948,7 +963,12 @@ static void vop_plane_atomic_update(struct drm_plane *plane, @@ -954,7 +969,12 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
dsp_sty = dest->y1 + crtc->mode.vtotal - crtc->mode.vsync_start; dsp_sty = dest->y1 + crtc->mode.vtotal - crtc->mode.vsync_start;
dsp_st = dsp_sty << 16 | (dsp_stx & 0xffff); dsp_st = dsp_sty << 16 | (dsp_stx & 0xffff);
@ -128,7 +128,7 @@ index 74562d40f639..9560f82ce880 100644
offset += (src->y1 >> 16) * fb->pitches[0]; offset += (src->y1 >> 16) * fb->pitches[0];
dma_addr = rk_obj->dma_addr + offset + fb->offsets[0]; dma_addr = rk_obj->dma_addr + offset + fb->offsets[0];
@@ -974,6 +994,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane, @@ -980,6 +1000,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
} }
VOP_WIN_SET(vop, win, format, format); VOP_WIN_SET(vop, win, format, format);
@ -136,7 +136,7 @@ index 74562d40f639..9560f82ce880 100644
VOP_WIN_SET(vop, win, yrgb_vir, DIV_ROUND_UP(fb->pitches[0], 4)); VOP_WIN_SET(vop, win, yrgb_vir, DIV_ROUND_UP(fb->pitches[0], 4));
VOP_WIN_SET(vop, win, yrgb_mst, dma_addr); VOP_WIN_SET(vop, win, yrgb_mst, dma_addr);
VOP_WIN_YUV2YUV_SET(vop, win_yuv2yuv, y2r_en, is_yuv); VOP_WIN_YUV2YUV_SET(vop, win_yuv2yuv, y2r_en, is_yuv);
@@ -990,7 +1011,11 @@ static void vop_plane_atomic_update(struct drm_plane *plane, @@ -996,7 +1017,11 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
uv_obj = fb->obj[1]; uv_obj = fb->obj[1];
rk_uv_obj = to_rockchip_obj(uv_obj); rk_uv_obj = to_rockchip_obj(uv_obj);
@ -150,10 +150,10 @@ index 74562d40f639..9560f82ce880 100644
dma_addr = rk_uv_obj->dma_addr + offset + fb->offsets[1]; dma_addr = rk_uv_obj->dma_addr + offset + fb->offsets[1];
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
index ba88addc1a75..567f226930b2 100644 index 8502849833d9..b6eea31109d5 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
@@ -179,6 +179,7 @@ struct vop_win_phy { @@ -181,6 +181,7 @@ struct vop_win_phy {
struct vop_reg enable; struct vop_reg enable;
struct vop_reg gate; struct vop_reg gate;
struct vop_reg format; struct vop_reg format;
@ -162,7 +162,7 @@ index ba88addc1a75..567f226930b2 100644
struct vop_reg uv_swap; struct vop_reg uv_swap;
struct vop_reg act_info; struct vop_reg act_info;
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
index d03dd0402923..3b39b5a5f100 100644 index 014f99e8928e..16e6aa01e400 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
@@ -53,6 +53,23 @@ static const uint32_t formats_win_full[] = { @@ -53,6 +53,23 @@ static const uint32_t formats_win_full[] = {
@ -219,7 +219,7 @@ index d03dd0402923..3b39b5a5f100 100644
.rb_swap = VOP_REG(RK3368_WIN0_CTRL0, 0x1, 12), .rb_swap = VOP_REG(RK3368_WIN0_CTRL0, 0x1, 12),
.uv_swap = VOP_REG(RK3368_WIN0_CTRL0, 0x1, 15), .uv_swap = VOP_REG(RK3368_WIN0_CTRL0, 0x1, 15),
.x_mir_en = VOP_REG(RK3368_WIN0_CTRL0, 0x1, 21), .x_mir_en = VOP_REG(RK3368_WIN0_CTRL0, 0x1, 21),
@@ -906,11 +925,12 @@ static const struct vop_win_yuv2yuv_data rk3399_vop_big_win_yuv2yuv_data[] = { @@ -924,11 +943,12 @@ static const struct vop_win_yuv2yuv_data rk3399_vop_big_win_yuv2yuv_data[] = {
static const struct vop_win_phy rk3399_win01_data = { static const struct vop_win_phy rk3399_win01_data = {
.scl = &rk3288_win_full_scl, .scl = &rk3288_win_full_scl,

View File

@ -1,39 +1,3 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 23 May 2020 10:18:16 +0000
Subject: [PATCH] WIP: media: rkvdec: continue to gate clock when decoding
finish
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/staging/media/rkvdec/rkvdec.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 4f5436c89e08..06c23512e1a7 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1016,7 +1016,8 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv)
state = (status & RKVDEC_RDY_STA) ?
VB2_BUF_STATE_DONE : VB2_BUF_STATE_ERROR;
- writel(0, rkvdec->regs + RKVDEC_REG_INTERRUPT);
+ writel(RKVDEC_CONFIG_DEC_CLK_GATE_E,
+ rkvdec->regs + RKVDEC_REG_INTERRUPT);
if (cancel_delayed_work(&rkvdec->watchdog_work)) {
struct rkvdec_ctx *ctx;
@@ -1037,7 +1038,8 @@ static void rkvdec_watchdog_func(struct work_struct *work)
ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
if (ctx) {
dev_err(rkvdec->dev, "Frame processing timed out!\n");
- writel(RKVDEC_IRQ_DIS, rkvdec->regs + RKVDEC_REG_INTERRUPT);
+ writel(RKVDEC_CONFIG_DEC_CLK_GATE_E | RKVDEC_IRQ_DIS,
+ rkvdec->regs + RKVDEC_REG_INTERRUPT);
writel(0, rkvdec->regs + RKVDEC_REG_SYSCTRL);
rkvdec_job_finish(ctx, VB2_BUF_STATE_ERROR);
}
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, 23 May 2020 10:16:01 +0000 Date: Sat, 23 May 2020 10:16:01 +0000
@ -46,10 +10,10 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 06c23512e1a7..630ef09ab70b 100644 index 4f5436c89e08..eaf2f133a264 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1127,9 +1127,9 @@ static int rkvdec_remove(struct platform_device *pdev) @@ -1125,9 +1125,9 @@ static int rkvdec_remove(struct platform_device *pdev)
{ {
struct rkvdec_dev *rkvdec = platform_get_drvdata(pdev); struct rkvdec_dev *rkvdec = platform_get_drvdata(pdev);
@ -235,7 +199,7 @@ index 15b9bee92016..3acc914888f6 100644
#define RKVDEC_REG_SYSCTRL 0x008 #define RKVDEC_REG_SYSCTRL 0x008
#define RKVDEC_IN_ENDIAN BIT(0) #define RKVDEC_IN_ENDIAN BIT(0)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 630ef09ab70b..b6d5b26a93c2 100644 index eaf2f133a264..f55abb7c377f 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -10,12 +10,15 @@ @@ -10,12 +10,15 @@
@ -300,7 +264,7 @@ index 630ef09ab70b..b6d5b26a93c2 100644
ret = pm_runtime_resume_and_get(rkvdec->dev); ret = pm_runtime_resume_and_get(rkvdec->dev);
if (ret < 0) { if (ret < 0) {
@@ -1021,6 +1056,11 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv) @@ -1020,6 +1055,11 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv)
if (cancel_delayed_work(&rkvdec->watchdog_work)) { if (cancel_delayed_work(&rkvdec->watchdog_work)) {
struct rkvdec_ctx *ctx; struct rkvdec_ctx *ctx;
@ -312,15 +276,15 @@ index 630ef09ab70b..b6d5b26a93c2 100644
ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev); ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
rkvdec_job_finish(ctx, state); rkvdec_job_finish(ctx, state);
} }
@@ -1038,6 +1078,7 @@ static void rkvdec_watchdog_func(struct work_struct *work) @@ -1037,6 +1077,7 @@ static void rkvdec_watchdog_func(struct work_struct *work)
ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev); ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
if (ctx) { if (ctx) {
dev_err(rkvdec->dev, "Frame processing timed out!\n"); dev_err(rkvdec->dev, "Frame processing timed out!\n");
+ rkvdec->reset_mask |= RESET_HARD; + rkvdec->reset_mask |= RESET_HARD;
writel(RKVDEC_CONFIG_DEC_CLK_GATE_E | RKVDEC_IRQ_DIS, writel(RKVDEC_IRQ_DIS, rkvdec->regs + RKVDEC_REG_INTERRUPT);
rkvdec->regs + RKVDEC_REG_INTERRUPT);
writel(0, rkvdec->regs + RKVDEC_REG_SYSCTRL); writel(0, rkvdec->regs + RKVDEC_REG_SYSCTRL);
@@ -1107,6 +1148,18 @@ static int rkvdec_probe(struct platform_device *pdev) rkvdec_job_finish(ctx, VB2_BUF_STATE_ERROR);
@@ -1105,6 +1146,18 @@ static int rkvdec_probe(struct platform_device *pdev)
return ret; return ret;
} }
@ -389,7 +353,7 @@ Subject: [PATCH] WIP: arm64: dts: add resets to vdec for RK3399
1 file changed, 9 insertions(+), 1 deletion(-) 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index b0620c45820c..e797271ef6b4 100644 index 980b12cb0a49..6e3149e587c5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1062,7 +1062,10 @@ power-domain@RK3399_PD_VCODEC { @@ -1062,7 +1062,10 @@ power-domain@RK3399_PD_VCODEC {
@ -428,7 +392,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index e797271ef6b4..748eb7368e6a 100644 index 6e3149e587c5..093ebe070775 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1341,7 +1341,7 @@ vpu_mmu: iommu@ff650800 { @@ -1341,7 +1341,7 @@ vpu_mmu: iommu@ff650800 {
@ -454,7 +418,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 11 insertions(+), 3 deletions(-) 1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/media/hantro/rockchip_vpu_hw.c b/drivers/staging/media/hantro/rockchip_vpu_hw.c diff --git a/drivers/staging/media/hantro/rockchip_vpu_hw.c b/drivers/staging/media/hantro/rockchip_vpu_hw.c
index fc96501f3bc8..f31550c21172 100644 index 8de6fd2e8eef..002b1a600f93 100644
--- a/drivers/staging/media/hantro/rockchip_vpu_hw.c --- a/drivers/staging/media/hantro/rockchip_vpu_hw.c
+++ b/drivers/staging/media/hantro/rockchip_vpu_hw.c +++ b/drivers/staging/media/hantro/rockchip_vpu_hw.c
@@ -15,7 +15,8 @@ @@ -15,7 +15,8 @@
@ -467,7 +431,7 @@ index fc96501f3bc8..f31550c21172 100644
/* /*
* Supported formats. * Supported formats.
@@ -273,13 +274,20 @@ static int rk3066_vpu_hw_init(struct hantro_dev *vpu) @@ -346,13 +347,20 @@ static int rk3066_vpu_hw_init(struct hantro_dev *vpu)
return 0; return 0;
} }
@ -489,7 +453,7 @@ index fc96501f3bc8..f31550c21172 100644
static void rk3066_vpu_dec_reset(struct hantro_ctx *ctx) static void rk3066_vpu_dec_reset(struct hantro_ctx *ctx)
{ {
struct hantro_dev *vpu = ctx->dev; struct hantro_dev *vpu = ctx->dev;
@@ -507,7 +515,7 @@ const struct hantro_variant rk3288_vpu_variant = { @@ -592,7 +600,7 @@ const struct hantro_variant rk3288_vpu_variant = {
.codec_ops = rk3288_vpu_codec_ops, .codec_ops = rk3288_vpu_codec_ops,
.irqs = rockchip_vpu1_irqs, .irqs = rockchip_vpu1_irqs,
.num_irqs = ARRAY_SIZE(rockchip_vpu1_irqs), .num_irqs = ARRAY_SIZE(rockchip_vpu1_irqs),
@ -499,29 +463,6 @@ index fc96501f3bc8..f31550c21172 100644
.num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names) .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
}; };
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Bee <knaerzche@gmail.com>
Date: Sun, 3 Apr 2022 13:45:57 +0200
Subject: [PATCH] media: hantro: rockchip: Enable H.264 codec for RK3399
---
drivers/staging/media/hantro/rockchip_vpu_hw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/media/hantro/rockchip_vpu_hw.c b/drivers/staging/media/hantro/rockchip_vpu_hw.c
index f31550c21172..304d7b359295 100644
--- a/drivers/staging/media/hantro/rockchip_vpu_hw.c
+++ b/drivers/staging/media/hantro/rockchip_vpu_hw.c
@@ -544,7 +544,7 @@ const struct hantro_variant rk3399_vpu_variant = {
.dec_fmts = rk3399_vpu_dec_fmts,
.num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
.codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
- HANTRO_VP8_DECODER,
+ HANTRO_VP8_DECODER | HANTRO_H264_DECODER,
.codec_ops = rk3399_vpu_codec_ops,
.irqs = rockchip_vpu2_irqs,
.num_irqs = ARRAY_SIZE(rockchip_vpu2_irqs),
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: Sun, 4 Jul 2021 15:19:44 +0200 Date: Sun, 4 Jul 2021 15:19:44 +0200
@ -548,7 +489,7 @@ index 3acc914888f6..265f5234f4eb 100644
#define RKVDEC_REG_PREF_CHR_CACHE_COMMAND 0x450 #define RKVDEC_REG_PREF_CHR_CACHE_COMMAND 0x450
diff --git a/drivers/staging/media/rkvdec/rkvdec-vp9.c b/drivers/staging/media/rkvdec/rkvdec-vp9.c diff --git a/drivers/staging/media/rkvdec/rkvdec-vp9.c b/drivers/staging/media/rkvdec/rkvdec-vp9.c
index 311a12656072..ea270262bbed 100644 index d8c1c0db15c7..a289bc968e91 100644
--- a/drivers/staging/media/rkvdec/rkvdec-vp9.c --- a/drivers/staging/media/rkvdec/rkvdec-vp9.c
+++ b/drivers/staging/media/rkvdec/rkvdec-vp9.c +++ b/drivers/staging/media/rkvdec/rkvdec-vp9.c
@@ -802,6 +802,7 @@ static int rkvdec_vp9_run(struct rkvdec_ctx *ctx) @@ -802,6 +802,7 @@ static int rkvdec_vp9_run(struct rkvdec_ctx *ctx)
@ -574,31 +515,6 @@ index 311a12656072..ea270262bbed 100644
writel(RKVDEC_INTERRUPT_DEC_E | RKVDEC_CONFIG_DEC_CLK_GATE_E | writel(RKVDEC_INTERRUPT_DEC_E | RKVDEC_CONFIG_DEC_CLK_GATE_E |
RKVDEC_TIMEOUT_E | RKVDEC_BUF_EMPTY_E, RKVDEC_TIMEOUT_E | RKVDEC_BUF_EMPTY_E,
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Bee <knaerzche@gmail.com>
Date: Thu, 16 Jun 2022 13:15:09 +0200
Subject: [PATCH] arm64: dts: use correct PLL for vdec core
vdec core should use codec pll for proper operation, by default
it uses general pll (GPLL) - as all other clocks would
---
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 748eb7368e6a..658ec3b00445 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1346,6 +1346,8 @@ vdec: video-codec@ff660000 {
clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
<&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
clock-names = "axi", "ahb", "cabac", "core";
+ assigned-clocks = <&cru ACLK_VDU>;
+ assigned-clock-parents = <&cru PLL_CPLL>;
iommus = <&vdec_mmu>;
power-domains = <&power RK3399_PD_VDU>;
resets = <&cru SRST_H_VDU>, <&cru SRST_A_VDU>,
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: Thu, 16 Jun 2022 13:18:22 +0200 Date: Thu, 16 Jun 2022 13:18:22 +0200
@ -624,3 +540,4 @@ index 5519347232f6..431c4ec198be 100644
iommus = <&vdec_mmu>; iommus = <&vdec_mmu>;
power-domains = <&power RK3328_PD_VIDEO>; power-domains = <&power RK3328_PD_VIDEO>;
}; };

View File

@ -6,16 +6,48 @@ Subject: [PATCH] arm64: dts: rockchip: add gpu powerdomain, gpu opp-table and
Note: since the regulator that supplies the GPU usually also supplies Note: since the regulator that supplies the GPU usually also supplies
other SoC components, we have to make sure voltage is never lower then other SoC components, we have to make sure voltage is never lower then
1050 mV - also disable 500 MHz for now, since it will crash if rkvdec 1075 mV - also disable 500 MHz for now, since it will crash if rkvdec
is running at the same time (voltage to high) is running at the same time (voltage to high)
Signed-off-by: Alex Bee <knaerzche@gmail.com> Signed-off-by: Alex Bee <knaerzche@gmail.com>
--- ---
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 35 ++++++++++++++++++++++++ .../arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 4 +++
1 file changed, 35 insertions(+) .../arm64/boot/dts/rockchip/rk3328-rock64.dts | 4 +++
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 35 +++++++++++++++++++
3 files changed, 43 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
index aa22a0c22265..51c7723d6762 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
@@ -166,6 +166,10 @@ &gmac2io {
status = "okay";
};
+&gpu {
+ mali-supply = <&vdd_logic>;
+};
+
&hdmi {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index f69a38f42d2d..c198a8a7f95a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -162,6 +162,10 @@ &gmac2io {
status = "okay";
};
+&gpu {
+ mali-supply = <&vdd_logic>;
+};
+
&hdmi {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 431c4ec198be..e4977669b16a 100644 index 431c4ec198be..eec03adf0902 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -300,6 +300,11 @@ power: power-controller { @@ -300,6 +300,11 @@ power: power-controller {
@ -57,15 +89,15 @@ index 431c4ec198be..e4977669b16a 100644
+ +
+ opp-200000000 { + opp-200000000 {
+ opp-hz = /bits/ 64 <200000000>; + opp-hz = /bits/ 64 <200000000>;
+ opp-microvolt = <1050000>; + opp-microvolt = <1075000>;
+ }; + };
+ opp-300000000 { + opp-300000000 {
+ opp-hz = /bits/ 64 <300000000>; + opp-hz = /bits/ 64 <300000000>;
+ opp-microvolt = <1050000>; + opp-microvolt = <1075000>;
+ }; + };
+ opp-400000000 { + opp-400000000 {
+ opp-hz = /bits/ 64 <400000000>; + opp-hz = /bits/ 64 <400000000>;
+ opp-microvolt = <1050000>; + opp-microvolt = <1075000>;
+ }; + };
+ opp-500000000 { + opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>; + opp-hz = /bits/ 64 <500000000>;
@ -137,10 +169,10 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-) 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
index 9c1e38c54eae..ee332fc9cf1f 100644 index 09618bb7d872..db9106a3dd22 100644
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi --- a/arch/arm/boot/dts/rk3288-tinker.dtsi
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
@@ -75,7 +75,7 @@ sdio_pwrseq: sdio-pwrseq { @@ -73,7 +73,7 @@ sdio_pwrseq: sdio-pwrseq {
sound { sound {
compatible = "simple-audio-card"; compatible = "simple-audio-card";
simple-audio-card,format = "i2s"; simple-audio-card,format = "i2s";
@ -150,10 +182,10 @@ index 9c1e38c54eae..ee332fc9cf1f 100644
simple-audio-card,codec { simple-audio-card,codec {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 658ec3b00445..925d320dea86 100644 index 093ebe070775..a10fe60b7680 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1892,7 +1892,7 @@ hdmi_sound: hdmi-sound { @@ -1893,7 +1893,7 @@ hdmi_sound: hdmi-sound {
compatible = "simple-audio-card"; compatible = "simple-audio-card";
simple-audio-card,format = "i2s"; simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <256>; simple-audio-card,mclk-fs = <256>;
@ -174,10 +206,10 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index eb0c2d041f13..9256eadb8a3e 100644 index ad068865ba20..9deb8d1d291d 100644
--- a/drivers/gpu/drm/drm_gem.c --- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c
@@ -1053,7 +1053,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size, @@ -1038,7 +1038,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size,
ret = obj->funcs->mmap(obj, vma); ret = obj->funcs->mmap(obj, vma);
if (ret) if (ret)
goto err_drm_gem_object_put; goto err_drm_gem_object_put;
@ -197,7 +229,7 @@ Subject: [PATCH] ASoC: hdmi-codec: fix channel allocation
1 file changed, 52 insertions(+), 61 deletions(-) 1 file changed, 52 insertions(+), 61 deletions(-)
diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c
index b773466619b2..e53950e85631 100644 index 5679102de91f..f0cd183f7873 100644
--- a/sound/soc/codecs/hdmi-codec.c --- a/sound/soc/codecs/hdmi-codec.c
+++ b/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c
@@ -194,78 +194,69 @@ static const struct snd_pcm_chmap_elem hdmi_codec_8ch_chmaps[] = { @@ -194,78 +194,69 @@ static const struct snd_pcm_chmap_elem hdmi_codec_8ch_chmaps[] = {
@ -395,7 +427,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 14 insertions(+) 1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
index aa22a0c22265..a78fbddd21df 100644 index 51c7723d6762..cf321302daec 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts --- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
@@ -88,6 +88,13 @@ vcc_phy: vcc-phy-regulator { @@ -88,6 +88,13 @@ vcc_phy: vcc-phy-regulator {
@ -412,7 +444,7 @@ index aa22a0c22265..a78fbddd21df 100644
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
@@ -308,6 +315,13 @@ &io_domains { @@ -312,6 +319,13 @@ &io_domains {
}; };
&pinctrl { &pinctrl {
@ -553,10 +585,10 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 925d320dea86..037732441f92 100644 index a10fe60b7680..dbe6a9cb98a5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1478,7 +1478,7 @@ cru: clock-controller@ff760000 { @@ -1477,7 +1477,7 @@ cru: clock-controller@ff760000 {
<1000000000>, <1000000000>,
<150000000>, <75000000>, <150000000>, <75000000>,
<37500000>, <37500000>,
@ -609,7 +641,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 4 insertions(+), 4 deletions(-) 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
index f50b47ac11a8..d9b3c8c29e6f 100644 index a2f0860b20bb..8961f9c7885d 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
@@ -34,9 +34,9 @@ static inline u8 hdmi_read(struct dw_hdmi_i2s_audio_data *audio, int offset) @@ -34,9 +34,9 @@ static inline u8 hdmi_read(struct dw_hdmi_i2s_audio_data *audio, int offset)
@ -634,3 +666,46 @@ index f50b47ac11a8..d9b3c8c29e6f 100644
.audio_startup = dw_hdmi_i2s_audio_startup, .audio_startup = dw_hdmi_i2s_audio_startup,
.audio_shutdown = dw_hdmi_i2s_audio_shutdown, .audio_shutdown = dw_hdmi_i2s_audio_shutdown,
.get_eld = dw_hdmi_i2s_get_eld, .get_eld = dw_hdmi_i2s_get_eld,
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Bee <knaerzche@gmail.com>
Date: Sun, 18 Sep 2022 10:35:52 +0200
Subject: [PATCH] arm64: dts: rockchip: Disbake fusb for rk3399-roc-pc
As it will lead to an unbootable device in case one if those ports
is used to power up the device.
See https://lkml.org/lkml/2022/6/20/413
---
arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
index 2f4b1b2e3ac7..7217ead94d39 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
@@ -215,7 +215,7 @@ vdd_log: vdd-log {
regulator-name = "vdd_log";
regulator-always-on;
regulator-boot-on;
- regulator-min-microvolt = <450000>;
+ regulator-min-microvolt = <430000>;
regulator-max-microvolt = <1400000>;
pwm-supply = <&vcc3v3_sys>;
};
@@ -536,7 +536,7 @@ fusb1: usb-typec@22 {
pinctrl-names = "default";
pinctrl-0 = <&fusb1_int>;
vbus-supply = <&vcc_vbus_typec1>;
- status = "okay";
+ status = "disabled";
};
};
@@ -553,7 +553,7 @@ fusb0: usb-typec@22 {
pinctrl-names = "default";
pinctrl-0 = <&fusb0_int>;
vbus-supply = <&vcc_vbus_typec0>;
- status = "okay";
+ status = "disabled";
};
mp8859: regulator@66 {

View File

@ -1687,7 +1687,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 22 insertions(+) 1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index e4977669b16a..6c0cbc9cea61 100644 index eec03adf0902..5455a46c9a6b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -760,6 +760,28 @@ vop_mmu: iommu@ff373f00 { @@ -760,6 +760,28 @@ vop_mmu: iommu@ff373f00 {
@ -1731,10 +1731,10 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 12 insertions(+), 1 deletion(-) 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 037732441f92..d90c90406a49 100644 index dbe6a9cb98a5..f0629b7a81c6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1367,14 +1367,25 @@ vdec_mmu: iommu@ff660480 { @@ -1365,14 +1365,25 @@ vdec_mmu: iommu@ff660480 {
#iommu-cells = <0>; #iommu-cells = <0>;
}; };