]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/ingenic: Fix incorrect assumption about plane->index
authorPaul Cercueil <paul@crapouillou.net>
Thu, 16 Jul 2020 16:38:35 +0000 (18:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Aug 2020 11:07:31 +0000 (13:07 +0200)
commit ca43f274e03f91c533643299ae4984965ce03205 upstream.

plane->index is NOT the index of the color plane in a YUV frame.
Actually, a YUV frame is represented by a single drm_plane, even though
it contains three Y, U, V planes.

v2-v3: No change

Cc: stable@vger.kernel.org # v5.3
Fixes: 90b86fcc47b4 ("DRM: Add KMS driver for the Ingenic JZ47xx SoCs")
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200716163846.174790-1-paul@crapouillou.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/ingenic/ingenic-drm.c

index 548cc25ea4abed9565f1eebed9af9aa92b908a58..e525260c31b2bf6cdc9e838411868e4486ce38c1 100644 (file)
@@ -384,7 +384,7 @@ static void ingenic_drm_plane_atomic_update(struct drm_plane *plane,
                addr = drm_fb_cma_get_gem_addr(state->fb, state, 0);
                width = state->src_w >> 16;
                height = state->src_h >> 16;
-               cpp = state->fb->format->cpp[plane->index];
+               cpp = state->fb->format->cpp[0];
 
                priv->dma_hwdesc->addr = addr;
                priv->dma_hwdesc->cmd = width * height * cpp / 4;