diff options
author | Peter Robinson <pbrobinson@gmail.com> | 2018-10-17 08:58:33 +0100 |
---|---|---|
committer | Peter Robinson <pbrobinson@gmail.com> | 2018-10-17 08:58:33 +0100 |
commit | 447a6b31116c0b72441d6b404ae629e54de65c1e (patch) | |
tree | cb1e6a3404901d85a48c3d1f8e43f60da058ab39 /bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch | |
parent | eebac04dfdcff17c0377ecffe4c8fe69bb5f4530 (diff) | |
download | kernel-447a6b31116c0b72441d6b404ae629e54de65c1e.tar.gz kernel-447a6b31116c0b72441d6b404ae629e54de65c1e.tar.xz kernel-447a6b31116c0b72441d6b404ae629e54de65c1e.zip |
Raspberry Pi graphics fix
Diffstat (limited to 'bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch')
-rw-r--r-- | bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch b/bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch new file mode 100644 index 000000000..5aa9668bc --- /dev/null +++ b/bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch @@ -0,0 +1,40 @@ +From patchwork Tue Oct 9 13:24:46 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: drm/vc4: Set ->is_yuv to false when num_planes == 1 +From: Boris Brezillon <boris.brezillon@bootlin.com> +X-Patchwork-Id: 255528 +Message-Id: <20181009132446.21960-1-boris.brezillon@bootlin.com> +To: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, + dri-devel@lists.freedesktop.org, Eric Anholt <eric@anholt.net> +Cc: Boris Brezillon <boris.brezillon@bootlin.com>, stable@vger.kernel.org +Date: Tue, 9 Oct 2018 15:24:46 +0200 + +When vc4_plane_state is duplicated ->is_yuv is left assigned to its +previous value, and we never set it back to false when switching to +a non-YUV format. + +Fix that by setting ->is_yuv to false in the 'num_planes == 1' branch +of the vc4_plane_setup_clipping_and_scaling() function. + +Fixes: fc04023fafecf ("drm/vc4: Add support for YUV planes.") +Cc: <stable@vger.kernel.org> +Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> +Reviewed-by: Eric Anholt <eric@anholt.net> +--- + drivers/gpu/drm/vc4/vc4_plane.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index d04b3c3246ba..60d5ad19cedd 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -321,6 +321,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) + if (vc4_state->is_unity) + vc4_state->x_scaling[0] = VC4_SCALING_PPF; + } else { ++ vc4_state->is_yuv = false; + vc4_state->x_scaling[1] = VC4_SCALING_NONE; + vc4_state->y_scaling[1] = VC4_SCALING_NONE; + } |