summaryrefslogtreecommitdiff
path: root/drivers/gpu/ipu-v3/ipu-csi.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-07-27 12:16:34 +1000
committerDave Airlie <airlied@redhat.com>2018-07-27 12:17:31 +1000
commit050d2a5533af362932553cb47fd5db9a3476074e (patch)
tree126b376bee803d0871717edd823208abafd3dcd0 /drivers/gpu/ipu-v3/ipu-csi.c
parent5a75cd11a8998a1859533ffeba23e613f85c3991 (diff)
parentbbe4a089e299efe696ef520e58513c12c0d497c9 (diff)
Merge tag 'imx-drm-fixes-2018-07-20' of git://git.pengutronix.de/git/pza/linux into drm-fixesdrm-fixes-2018-07-27
drm/imx: imx-drm ldb and ipu-v3 csi fixes - Disable the LVDS Display Bridge (LDB) on driver bind. This is necessary to guarantee correct LVDS signals in case the bootloader left the LVDS output active. - Remove false positive warning about disabled second LVDS channel in dual-channel mode. In this mode, the second LVDS channel can not be used separately. If the second channel is correctly described as disabled in the device tree, the driver warned about this anyway. - Fix the CSI confiuration to not only enable interlaced capture mode for V4L2_FIELD_SEQ_BT and V4L2_FIELD_SEQ_TB, but also for the V4L2_FIELD_ALTERNATE interlacing mode. Before, it incorrectly tried to capture progressive frames in that case. Signed-off-by: Dave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/1532100423.3438.8.camel@pengutronix.de
Diffstat (limited to 'drivers/gpu/ipu-v3/ipu-csi.c')
-rw-r--r--drivers/gpu/ipu-v3/ipu-csi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-csi.c b/drivers/gpu/ipu-v3/ipu-csi.c
index caa05b0702e1..5450a2db1219 100644
--- a/drivers/gpu/ipu-v3/ipu-csi.c
+++ b/drivers/gpu/ipu-v3/ipu-csi.c
@@ -339,7 +339,8 @@ static void fill_csi_bus_cfg(struct ipu_csi_bus_config *csicfg,
break;
case V4L2_MBUS_BT656:
csicfg->ext_vsync = 0;
- if (V4L2_FIELD_HAS_BOTH(mbus_fmt->field))
+ if (V4L2_FIELD_HAS_BOTH(mbus_fmt->field) ||
+ mbus_fmt->field == V4L2_FIELD_ALTERNATE)
csicfg->clk_mode = IPU_CSI_CLK_MODE_CCIR656_INTERLACED;
else
csicfg->clk_mode = IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE;