Commit 3130c45c authored by Steve Longerbeam's avatar Steve Longerbeam Committed by Mauro Carvalho Chehab

media: imx: Fix some pixel format selections

- imx_media_capture_device_register() needs to use CS_SEL_ANY when
  finding the format from the attached source subdevice, because the
  source can be a CSI which supports bayer, and the CSI may have selected
  a bayer format when it registered.

- Likewise, imx_media_init_mbus_fmt() is called from the CSI, so the
  function may be passed a bayer code. Use CS_SEL_ANY when locating
  the format.
Signed-off-by: default avatarSteve Longerbeam <slongerbeam@gmail.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 0cd5d896
...@@ -792,7 +792,7 @@ int imx_media_capture_device_register(struct imx_media_video_dev *vdev) ...@@ -792,7 +792,7 @@ int imx_media_capture_device_register(struct imx_media_video_dev *vdev)
vdev->compose.width = fmt_src.format.width; vdev->compose.width = fmt_src.format.width;
vdev->compose.height = fmt_src.format.height; vdev->compose.height = fmt_src.format.height;
vdev->cc = imx_media_find_format(vdev->fmt.fmt.pix.pixelformat, vdev->cc = imx_media_find_format(vdev->fmt.fmt.pix.pixelformat,
CS_SEL_YUV_RGB); CS_SEL_ANY);
v4l2_info(sd, "Registered %s as /dev/%s\n", vfd->name, v4l2_info(sd, "Registered %s as /dev/%s\n", vfd->name,
video_device_node_name(vfd)); video_device_node_name(vfd));
......
...@@ -402,7 +402,7 @@ int imx_media_init_mbus_fmt(struct v4l2_mbus_framefmt *mbus, ...@@ -402,7 +402,7 @@ int imx_media_init_mbus_fmt(struct v4l2_mbus_framefmt *mbus,
mbus->field = field; mbus->field = field;
if (code == 0) if (code == 0)
imx_media_enum_mbus_format(&code, 0, CS_SEL_YUV); imx_media_enum_mbus_format(&code, 0, CS_SEL_YUV);
lcc = imx_media_find_mbus_format(code, CS_SEL_YUV_RGB); lcc = imx_media_find_mbus_format(code, CS_SEL_ANY);
if (!lcc) { if (!lcc) {
lcc = imx_media_find_ipu_format(code, CS_SEL_YUV_RGB); lcc = imx_media_find_ipu_format(code, CS_SEL_YUV_RGB);
if (!lcc) if (!lcc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment