mirror of https://github.com/armbian/build.git
remove mainlined hunk from patches
This commit is contained in:
parent
3fbeef8cb6
commit
9df699ccdc
|
@ -202,77 +202,6 @@ index 341550199111..1159fc713a2a 100644
|
|||
return phy_power_on(hdmi->phy);
|
||||
}
|
||||
|
||||
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||
index 4b338cb89d32..468347e16f92 100644
|
||||
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||
@@ -381,8 +381,8 @@ static void scl_vop_cal_scl_fac(struct vop *vop, const struct vop_win_data *win,
|
||||
if (info->is_yuv)
|
||||
is_yuv = true;
|
||||
|
||||
- if (dst_w > 3840) {
|
||||
- DRM_DEV_ERROR(vop->dev, "Maximum dst width (3840) exceeded\n");
|
||||
+ if (dst_w > 4096) {
|
||||
+ DRM_DEV_ERROR(vop->dev, "Maximum dst width (4096) exceeded\n");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -923,6 +923,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||
int format;
|
||||
int is_yuv = fb->format->is_yuv;
|
||||
int i;
|
||||
+ int skiplines = 0;
|
||||
|
||||
/*
|
||||
* can't update plane when vop is disabled.
|
||||
@@ -941,8 +942,14 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||
obj = fb->obj[0];
|
||||
rk_obj = to_rockchip_obj(obj);
|
||||
|
||||
+ /*
|
||||
+ * Force skip lines when image is yuv and 3840 width,
|
||||
+ * fixes a "jumping" green lines issue on RK3328.
|
||||
+ */
|
||||
actual_w = drm_rect_width(src) >> 16;
|
||||
- actual_h = drm_rect_height(src) >> 16;
|
||||
+ if (actual_w == 3840 && is_yuv)
|
||||
+ skiplines = 1;
|
||||
+ actual_h = drm_rect_height(src) >> (16 + skiplines);
|
||||
act_info = (actual_h - 1) << 16 | ((actual_w - 1) & 0xffff);
|
||||
|
||||
dsp_info = (drm_rect_height(dest) - 1) << 16;
|
||||
@@ -952,7 +959,12 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||
dsp_sty = dest->y1 + crtc->mode.vtotal - crtc->mode.vsync_start;
|
||||
dsp_st = dsp_sty << 16 | (dsp_stx & 0xffff);
|
||||
|
||||
- offset = (src->x1 >> 16) * fb->format->cpp[0];
|
||||
+ if (fb->format->block_w[0])
|
||||
+ offset = (src->x1 >> 16) * fb->format->char_per_block[0] /
|
||||
+ fb->format->block_w[0];
|
||||
+ else
|
||||
+ offset = (src->x1 >> 16) * fb->format->cpp[0];
|
||||
+
|
||||
offset += (src->y1 >> 16) * fb->pitches[0];
|
||||
dma_addr = rk_obj->dma_addr + offset + fb->offsets[0];
|
||||
|
||||
@@ -994,11 +1006,15 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||
uv_obj = fb->obj[1];
|
||||
rk_uv_obj = to_rockchip_obj(uv_obj);
|
||||
|
||||
- offset = (src->x1 >> 16) * bpp / hsub;
|
||||
+ if (fb->format->block_w[1])
|
||||
+ offset = (src->x1 >> 16) * bpp /
|
||||
+ fb->format->block_w[1] / hsub;
|
||||
+ else
|
||||
+ offset = (src->x1 >> 16) * bpp / hsub;
|
||||
offset += (src->y1 >> 16) * fb->pitches[1] / vsub;
|
||||
|
||||
dma_addr = rk_uv_obj->dma_addr + offset + fb->offsets[1];
|
||||
- VOP_WIN_SET(vop, win, uv_vir, DIV_ROUND_UP(fb->pitches[1], 4));
|
||||
+ VOP_WIN_SET(vop, win, uv_vir, DIV_ROUND_UP(fb->pitches[1], 4 >> skiplines));
|
||||
VOP_WIN_SET(vop, win, uv_mst, dma_addr);
|
||||
|
||||
for (i = 0; i < NUM_YUV2YUV_COEFFICIENTS; i++) {
|
||||
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
|
||||
index 7b2805006776..ffa0c717290e 100644
|
||||
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
|
||||
|
|
Loading…
Reference in New Issue