drm/rockchip: vop: test for P{H,V}SYNC
authorJohn Keeping <john@metanate.com>
Fri, 24 Feb 2017 12:55:03 +0000 (12:55 +0000)
committerSean Paul <seanpaul@chromium.org>
Wed, 1 Mar 2017 19:48:58 +0000 (14:48 -0500)
When connected to the MIPI DSI output, we need to use N{H,V}SYNC for the
internal connection but these flags are meaningless for DSI panels.
Switch the test so that we do not set the P{H,V}SYNC bits unless the
mode requires it.

Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Mark Yao <mark.yao@rock-chips.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
[seanpaul resolved conflict using macros instead of hardcoded values]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-21-john@metanate.com
drivers/gpu/drm/rockchip/rockchip_drm_vop.c

index 7c2e7c4..94d7b73 100644 (file)
@@ -932,10 +932,10 @@ static void vop_crtc_enable(struct drm_crtc *crtc)
        }
 
        pin_pol = BIT(DCLK_INVERT);
-       pin_pol |= (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC) ?
-                  0 : BIT(HSYNC_POSITIVE);
-       pin_pol |= (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC) ?
-                  0 : BIT(VSYNC_POSITIVE);
+       pin_pol |= (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) ?
+                  BIT(HSYNC_POSITIVE) : 0;
+       pin_pol |= (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) ?
+                  BIT(VSYNC_POSITIVE) : 0;
        VOP_CTRL_SET(vop, pin_pol, pin_pol);
 
        switch (s->output_type) {