drm/vc4: Fix YUV plane handling when planes are in different buffers
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Fri, 27 Jan 2023 15:57:08 +0000 (16:57 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 9 Feb 2023 08:58:09 +0000 (09:58 +0100)
commit6b77b16de75a6efc0870b1fa467209387cbee8f3
treec46e652f145497ea1a7ba981079bf841f42caf79
parent85e26dd5100a182bf8448050427539c0a66ab793
drm/vc4: Fix YUV plane handling when planes are in different buffers

YUV images can either be presented as one allocation with offsets
for the different planes, or multiple allocations with 0 offsets.

The driver only ever calls drm_fb_[dma|cma]_get_gem_obj with plane
index 0, therefore any application using the second approach was
incorrectly rendered.

Correctly determine the address for each plane, removing the
assumption that the base address is the same for each.

Fixes: fc04023fafec ("drm/vc4: Add support for YUV planes.")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127155708.454704-1-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_plane.c