cpp[BytePerPlane] can't describe the 10bit data format correctly, So we use bpp[BitPerPlane] to instead cpp.
Signed-off-by: Sandy Huang hjc@rock-chips.com --- drivers/gpu/drm/imx/ipuv3-plane.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c index 28826c0..f7c7036 100644 --- a/drivers/gpu/drm/imx/ipuv3-plane.c +++ b/drivers/gpu/drm/imx/ipuv3-plane.c @@ -101,7 +101,7 @@ drm_plane_state_to_eba(struct drm_plane_state *state, int plane) BUG_ON(!cma_obj);
return cma_obj->paddr + fb->offsets[plane] + fb->pitches[plane] * y + - fb->format->cpp[plane] * x; + fb->format->bpp[plane] / 8 * x; }
static inline unsigned long @@ -120,7 +120,7 @@ drm_plane_state_to_ubo(struct drm_plane_state *state) y /= fb->format->vsub;
return cma_obj->paddr + fb->offsets[1] + fb->pitches[1] * y + - fb->format->cpp[1] * x - eba; + fb->format->bpp[1] / 8 * x - eba; }
static inline unsigned long @@ -139,7 +139,7 @@ drm_plane_state_to_vbo(struct drm_plane_state *state) y /= fb->format->vsub;
return cma_obj->paddr + fb->offsets[2] + fb->pitches[2] * y + - fb->format->cpp[2] * x - eba; + fb->format->bpp[2] / 8 * x - eba; }
void ipu_plane_put_resources(struct ipu_plane *ipu_plane) @@ -628,7 +628,7 @@ static void ipu_plane_atomic_update(struct drm_plane *plane, width = drm_rect_width(&state->src) >> 16; height = drm_rect_height(&state->src) >> 16; info = drm_format_info(fb->format->format); - ipu_calculate_bursts(width, info->cpp[0], fb->pitches[0], + ipu_calculate_bursts(width, info->bpp[0] / 8, fb->pitches[0], &burstsize, &num_bursts);
ipu_cpmem_zero(ipu_plane->ipu_ch);