From: Philipp Zabel
Date: Fri, 10 Jan 2014 15:17:28 +0000 (+0100)
Subject: staging: drm/imx: set second plane base address
X-Git-Tag: v4.14-rc1~8107^2~28
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ee2e072e8443e48bf8e9059e47fe8890928028bb;p=platform%2Fkernel%2Flinux-rpi.git
staging: drm/imx: set second plane base address
Even though we do not enable the hardware double buffering feature
right now, set the second base address pointer (EBA1) as well to
increase robustness.
Signed-off-by: Philipp Zabel
Signed-off-by: Lucas Stach
Signed-off-by: Greg Kroah-Hartman
---
diff --git a/drivers/staging/imx-drm/ipuv3-plane.c b/drivers/staging/imx-drm/ipuv3-plane.c
index d97454a..685411c 100644
--- a/drivers/staging/imx-drm/ipuv3-plane.c
+++ b/drivers/staging/imx-drm/ipuv3-plane.c
@@ -64,6 +64,7 @@ int ipu_plane_set_base(struct ipu_plane *ipu_plane, struct drm_framebuffer *fb,
{
struct ipu_ch_param __iomem *cpmem;
struct drm_gem_cma_object *cma_obj;
+ unsigned long eba;
cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
if (!cma_obj) {
@@ -76,8 +77,10 @@ int ipu_plane_set_base(struct ipu_plane *ipu_plane, struct drm_framebuffer *fb,
cpmem = ipu_get_cpmem(ipu_plane->ipu_ch);
ipu_cpmem_set_stride(cpmem, fb->pitches[0]);
- ipu_cpmem_set_buffer(cpmem, 0, cma_obj->paddr + fb->offsets[0] +
- fb->pitches[0] * y + x);
+
+ eba = cma_obj->paddr + fb->offsets[0] + fb->pitches[0] * y + x;
+ ipu_cpmem_set_buffer(cpmem, 0, eba);
+ ipu_cpmem_set_buffer(cpmem, 1, eba);
return 0;
}