drm/vc4: vec: Support progressive modes
authorMateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
Wed, 7 Dec 2022 11:53:26 +0000 (12:53 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Mon, 9 Jan 2023 14:26:22 +0000 (15:26 +0100)
The VEC is able to output progressive analog modes, but the driver has
never set the proper bit to do so.

Signed-off-by: Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
Link: https://lore.kernel.org/r/20221207-rpi-hvs-crtc-misc-v1-15-1f8e0770798b@cerno.tech
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/gpu/drm/vc4/vc4_vec.c

index d8bf00b442e95bdd1dd251dda94faca05b37d242..a3782d05cd6697356ce7d95a791d75e6b2294620 100644 (file)
@@ -613,7 +613,9 @@ static void vc4_vec_encoder_enable(struct drm_encoder *encoder,
        VEC_WRITE(VEC_CLMP0_START, 0xac);
        VEC_WRITE(VEC_CLMP0_END, 0xec);
        VEC_WRITE(VEC_CONFIG2,
-                 VEC_CONFIG2_UV_DIG_DIS | VEC_CONFIG2_RGB_DIG_DIS);
+                 VEC_CONFIG2_UV_DIG_DIS |
+                 VEC_CONFIG2_RGB_DIG_DIS |
+                 ((adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) ? 0 : VEC_CONFIG2_PROG_SCAN));
        VEC_WRITE(VEC_CONFIG3, VEC_CONFIG3_HORIZ_LEN_STD);
        VEC_WRITE(VEC_DAC_CONFIG, vec->variant->dac_config);