drm/vc4: UV planes vertical scaling must always be enabled
[platform/kernel/linux-rpi.git] / drivers / gpu / drm / vc4 / vc4_plane.c
index 5680cbb..f22d4d1 100644 (file)
@@ -522,6 +522,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;