drm/armada: add drm_mode_set_crtcinfo() mode fixup
authorRussell King <rmk+kernel@armlinux.org.uk>
Sun, 1 Jul 2018 14:46:56 +0000 (15:46 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Fri, 17 May 2019 11:16:32 +0000 (12:16 +0100)
Add a drm_mode_set_crtcinfo() call in our CRTC's mode_fixup callback
to ensure that any adjustments to the mode made by connectors etc are
properly accounted for by the CRTC.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
drivers/gpu/drm/armada/armada_crtc.c

index e81e578..d802a6b 100644 (file)
@@ -180,6 +180,13 @@ static bool armada_drm_crtc_mode_fixup(struct drm_crtc *crtc,
            adj->flags & DRM_MODE_FLAG_INTERLACE)
                return false;
 
+       /*
+        * Set CRTC modesetting parameters for the adjusted mode.  This is
+        * applied after the connectors, bridges, and encoders have fixed up
+        * this mode, as described above drm_atomic_helper_check_modeset().
+        */
+       drm_mode_set_crtcinfo(adj, CRTC_INTERLACE_HALVE_V);
+
        /* Check whether the display mode is possible */
        ret = dcrtc->variant->compute_clock(dcrtc, adj, NULL);
        if (ret)