summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSteve Longerbeam <slongerbeam@gmail.com>2019-01-09 13:30:05 -0500
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-01-16 14:11:42 -0500
commitfc8c723852380b0f4349bb06cf553a6bba47462e (patch)
tree2bfb3262a1b486b4014ef854a6c0672aab6f1de5 /fs
parent1c3721b1f22286033abeda30b7e12439b083ed0f (diff)
downloadlinux-fc8c723852380b0f4349bb06cf553a6bba47462e.tar.gz
linux-fc8c723852380b0f4349bb06cf553a6bba47462e.tar.bz2
linux-fc8c723852380b0f4349bb06cf553a6bba47462e.zip
media: gpu: ipu-csi: Swap fields according to input/output field types
The function ipu_csi_init_interface() was inverting the F-bit for NTSC case, in the CCIR_CODE_1/2 registers. The result being that for NTSC bottom-top field order, the CSI would swap fields and capture in top-bottom order. Instead, base field swap on the field order of the input to the CSI, and the field order of the requested output. If the input/output fields are sequential but different, swap fields, otherwise do not swap. This requires passing both the input and output mbus frame formats to ipu_csi_init_interface(). Move this code to a new private function ipu_csi_set_bt_interlaced_codes() that programs the CCIR_CODE_1/2 registers for interlaced BT.656 (and possibly interlaced BT.1120 in the future). When detecting input video standard from the input frame width/height, make sure to double height if input field type is alternate, since in that case input height only includes lines for one field. Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions