Commit 7f9f8123 authored by Tomi Valkeinen's avatar Tomi Valkeinen Committed by Mauro Carvalho Chehab
Browse files

media: ti-vpe: cal: add mbus_code support to cal_mc_enum_fmt_vid_cap



Commit e5b6b07a ("media: v4l2: Extend VIDIOC_ENUM_FMT to support
MC-centric devices") added support to enumerate formats based on
mbus-code.

Add this feature to cal driver.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.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 d3409a65
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -437,15 +437,30 @@ static const struct v4l2_ioctl_ops cal_ioctl_video_ops = {
static int cal_mc_enum_fmt_vid_cap(struct file *file, void  *priv,
				   struct v4l2_fmtdesc *f)
{
	unsigned int i;
	unsigned int idx;

	if (f->index >= cal_num_formats)
		return -EINVAL;

	f->pixelformat = cal_formats[f->index].fourcc;
	f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
	idx = 0;

	for (i = 0; i < cal_num_formats; ++i) {
		if (f->mbus_code && cal_formats[i].code != f->mbus_code)
			continue;

		if (idx == f->index) {
			f->pixelformat = cal_formats[i].fourcc;
			f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
			return 0;
		}

		idx++;
	}

	return -EINVAL;
}

static void cal_mc_try_fmt(struct cal_ctx *ctx, struct v4l2_format *f,
			   const struct cal_format_info **info)
{