From: Mark Yao <mark.yao@rock-chips.com> To: Mark Yao <mark.yao@rock-chips.com>, David Airlie <airlied@linux.ie>, Heiko Stuebner <heiko@sntech.de> Cc: dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/6] drm/rockchip: vop: round_up pitches to word align Date: Mon, 31 Jul 2017 17:49:50 +0800 [thread overview] Message-ID: <1501494591-7034-1-git-send-email-mark.yao@rock-chips.com> (raw) In-Reply-To: <1501494569-6825-1-git-send-email-mark.yao@rock-chips.com> VOP pitch register is word align, need align to word. VOP_WIN0_VIR: bit[31:16] win0_vir_stride_uv Number of words of Win0 uv Virtual width bit[15:0] win0_vir_width Number of words of Win0 yrgb Virtual width ARGB888 : win0_vir_width RGB888 : (win0_vir_width*3/4) + (win0_vir_width%3) RGB565 : ceil(win0_vir_width/2) YUV : ceil(win0_vir_width/4) Signed-off-by: Mark Yao <mark.yao@rock-chips.com> --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 0b5fd75..fa0d9f7 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -756,7 +756,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane, spin_lock(&vop->reg_lock); VOP_WIN_SET(vop, win, format, format); - VOP_WIN_SET(vop, win, yrgb_vir, fb->pitches[0] >> 2); + VOP_WIN_SET(vop, win, yrgb_vir, DIV_ROUND_UP(fb->pitches[0], 4)); VOP_WIN_SET(vop, win, yrgb_mst, dma_addr); if (is_yuv_support(fb->format->format)) { int hsub = drm_format_horz_chroma_subsampling(fb->format->format); @@ -770,7 +770,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane, 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, fb->pitches[1] >> 2); + VOP_WIN_SET(vop, win, uv_vir, DIV_ROUND_UP(fb->pitches[1], 4)); VOP_WIN_SET(vop, win, uv_mst, dma_addr); } -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: mark.yao@rock-chips.com (Mark Yao) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/6] drm/rockchip: vop: round_up pitches to word align Date: Mon, 31 Jul 2017 17:49:50 +0800 [thread overview] Message-ID: <1501494591-7034-1-git-send-email-mark.yao@rock-chips.com> (raw) In-Reply-To: <1501494569-6825-1-git-send-email-mark.yao@rock-chips.com> VOP pitch register is word align, need align to word. VOP_WIN0_VIR: bit[31:16] win0_vir_stride_uv Number of words of Win0 uv Virtual width bit[15:0] win0_vir_width Number of words of Win0 yrgb Virtual width ARGB888 : win0_vir_width RGB888 : (win0_vir_width*3/4) + (win0_vir_width%3) RGB565 : ceil(win0_vir_width/2) YUV : ceil(win0_vir_width/4) Signed-off-by: Mark Yao <mark.yao@rock-chips.com> --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 0b5fd75..fa0d9f7 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -756,7 +756,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane, spin_lock(&vop->reg_lock); VOP_WIN_SET(vop, win, format, format); - VOP_WIN_SET(vop, win, yrgb_vir, fb->pitches[0] >> 2); + VOP_WIN_SET(vop, win, yrgb_vir, DIV_ROUND_UP(fb->pitches[0], 4)); VOP_WIN_SET(vop, win, yrgb_mst, dma_addr); if (is_yuv_support(fb->format->format)) { int hsub = drm_format_horz_chroma_subsampling(fb->format->format); @@ -770,7 +770,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane, 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, fb->pitches[1] >> 2); + VOP_WIN_SET(vop, win, uv_vir, DIV_ROUND_UP(fb->pitches[1], 4)); VOP_WIN_SET(vop, win, uv_mst, dma_addr); } -- 1.9.1
next prev parent reply other threads:[~2017-07-31 9:50 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-31 9:49 [PATCH 0/6] drm/rockchip: Some fixes Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-07-31 9:49 ` [PATCH 1/6] drm/rockchip: vop: no need wait vblank on crtc enable Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-08-03 12:36 ` Sandy Huang 2017-08-03 12:36 ` Sandy Huang 2017-07-31 9:49 ` [PATCH 2/6] drm/rockchip: vop: fix iommu page fault when resume Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-08-03 13:06 ` Sandy Huang 2017-08-03 13:06 ` Sandy Huang 2017-08-03 13:06 ` Sandy Huang 2017-07-31 9:49 ` [PATCH 3/6] drm/rockchip: vop: fix NV12 video display error Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-08-04 0:56 ` Sandy Huang 2017-08-04 0:56 ` Sandy Huang 2017-08-04 0:56 ` Sandy Huang 2017-07-31 9:49 ` Mark Yao [this message] 2017-07-31 9:49 ` [PATCH 4/6] drm/rockchip: vop: round_up pitches to word align Mark Yao 2017-08-04 0:56 ` Sandy Huang 2017-08-04 0:56 ` Sandy Huang 2017-08-04 0:56 ` Sandy Huang 2017-07-31 9:49 ` [PATCH 5/6] drm/rockchip: vop: report error when check resource error Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-07-31 9:49 ` Mark Yao 2017-08-04 0:57 ` Sandy Huang 2017-08-04 0:57 ` Sandy Huang 2017-08-04 0:57 ` Sandy Huang 2017-07-31 9:50 ` [PATCH 6/6] drm/rockchip: fix race with kms hotplug and fbdev Mark Yao 2017-07-31 9:50 ` Mark Yao 2017-07-31 11:57 ` Emil Velikov 2017-07-31 11:57 ` Emil Velikov 2017-07-31 12:28 ` Daniel Vetter 2017-07-31 12:28 ` Daniel Vetter 2017-07-31 12:28 ` Daniel Vetter 2017-08-01 2:00 ` Mark yao 2017-08-01 2:00 ` Mark yao 2017-08-01 8:11 ` [PATCH v1.1] " Mark Yao 2017-08-01 8:11 ` Mark Yao 2017-08-01 8:11 ` Mark Yao 2017-08-04 3:20 ` Sandy Huang 2017-08-04 3:20 ` Sandy Huang 2017-08-04 3:20 ` Sandy Huang 2017-08-09 13:38 ` [PATCH 0/6] drm/rockchip: Some fixes Sean Paul 2017-08-09 13:38 ` Sean Paul 2017-08-09 13:38 ` Sean Paul
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1501494591-7034-1-git-send-email-mark.yao@rock-chips.com \ --to=mark.yao@rock-chips.com \ --cc=airlied@linux.ie \ --cc=dri-devel@lists.freedesktop.org \ --cc=heiko@sntech.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-rockchip@lists.infradead.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.