diff options
author | Dave Stevenson <[email protected]> | 2024-06-21 16:20:39 +0100 |
---|---|---|
committer | Dave Stevenson <[email protected]> | 2024-09-09 13:02:53 +0100 |
commit | 542962190e55be21fc600ffed47a50390b6101cc (patch) | |
tree | 28b4f2dee54ca21a0fb18ae60680c08af1843507 | |
parent | 52efe364d1968ee3e3ed45eb44eb924b63635315 (diff) |
drm/vc4: plane: YUV planes require vertical scaling to always be enabled
It has been observed that a YUV422 unity scaled plane isn't displayed.
Enabling vertical scaling on the UV planes solves this. There is
already a similar clause to always enable horizontal scaling on the
UV planes.
Reviewed-by: Maxime Ripard <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Dave Stevenson <[email protected]>
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_plane.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c index d078a2d21eea..4cd1721d2389 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -517,6 +517,12 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) */ if (vc4_state->x_scaling[1] == VC4_SCALING_NONE) vc4_state->x_scaling[1] = VC4_SCALING_PPF; + + /* Similarly UV needs vertical scaling to be enabled. + * Without this a 1:1 scaled YUV422 plane isn't rendered. + */ + if (vc4_state->y_scaling[1] == VC4_SCALING_NONE) + vc4_state->y_scaling[1] = VC4_SCALING_PPF; } else { vc4_state->is_yuv = false; vc4_state->x_scaling[1] = VC4_SCALING_NONE; |