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

Commit e5b6b07a1b ("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: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
Tomi Valkeinen 2021-06-14 13:23:34 +02:00 committed by Mauro Carvalho Chehab
parent d3409a6573
commit 7f9f812321

View file

@ -437,13 +437,28 @@ 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;
return 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,