cpp[BytePerPlane] can't describe the 10bit data format correctly,
So we use bpp[BitPerPlane] to instead cpp.
Signed-off-by: Sandy Huang <[email protected]>
---
drivers/gpu/drm/ingenic/ingenic-drm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c
index ec32e1c..70ccec5 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
@@ -375,7 +375,7 @@ static void ingenic_drm_plane_atomic_update(struct drm_plane *plane,
width = state->crtc->state->adjusted_mode.hdisplay;
height = state->crtc->state->adjusted_mode.vdisplay;
- cpp = state->fb->format->cpp[plane->index];
+ cpp = state->fb->format->bpp[plane->index] / 8;
priv->dma_hwdesc->addr = drm_fb_cma_get_gem_addr(state->fb, state, 0);
priv->dma_hwdesc->cmd = width * height * cpp / 4;
--
2.7.4
Hi Sandy,
Le lun. 23 sept. 2019 ? 14:53, Sandy Huang <[email protected]> a
?crit :
> cpp[BytePerPlane] can't describe the 10bit data format correctly,
> So we use bpp[BitPerPlane] to instead cpp.
>
> Signed-off-by: Sandy Huang <[email protected]>
> ---
> drivers/gpu/drm/ingenic/ingenic-drm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c
> b/drivers/gpu/drm/ingenic/ingenic-drm.c
> index ec32e1c..70ccec5 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-drm.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
> @@ -375,7 +375,7 @@ static void
> ingenic_drm_plane_atomic_update(struct drm_plane *plane,
>
> width = state->crtc->state->adjusted_mode.hdisplay;
> height = state->crtc->state->adjusted_mode.vdisplay;
> - cpp = state->fb->format->cpp[plane->index];
> + cpp = state->fb->format->bpp[plane->index] / 8;
That wouldn't work with 15-bit rgb555...
>
> priv->dma_hwdesc->addr = drm_fb_cma_get_gem_addr(state->fb, state,
> 0);
> priv->dma_hwdesc->cmd = width * height * cpp / 4;
> --
> 2.7.4
>
>
>