]> www.infradead.org Git - users/dwmw2/linux.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>
Thu, 3 Sep 2020 09:26:52 +0000 (11:26 +0200)
[ Upstream commit ca43f274e03f91c533643299ae4984965ce03205 ]

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: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/ingenic/ingenic-drm.c

index e746b3a6f7cbcf845c98853adbf0492547b8b61b..7e6179fe63f863f14a5a614818a27d898d797f2c 100644 (file)
@@ -377,7 +377,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;