Re: [PATCH v8 16/16] media: ti: Add CSI2RX support for J721E

From: Tomi Valkeinen
Date: Wed Aug 02 2023 - 08:09:40 EST


On 02/08/2023 14:14, Sakari Ailus wrote:
Moi,

On Wed, Aug 02, 2023 at 02:04:57PM +0300, Tomi Valkeinen wrote:
+static int ti_csi2rx_enum_fmt_vid_cap(struct file *file, void *priv,
+ struct v4l2_fmtdesc *f)
+{
+ const struct ti_csi2rx_fmt *fmt = NULL;
+
+ if (f->mbus_code) {
+ if (f->index > 0)
+ return -EINVAL;

This fails to enumerate the formats if mbus_code is set, doesn't it?

This is intentional: if the mbus_code field is set, you're supposed to get
only format(s) corresponding to that mbus code.

Right. But the above code doesn't do that, does it? It will only return the first format, and error for anything else. Ah, the driver only supports a single mbus code per fourcc. In that case it's ok.

Tomi


+
+ fmt = find_format_by_code(f->mbus_code);
+ } else {
+ if (f->index >= num_formats)
+ return -EINVAL;
+
+ fmt = &formats[f->index];
+ }
+
+ if (!fmt)
+ return -EINVAL;
+
+ f->pixelformat = fmt->fourcc;
+ memset(f->reserved, 0, sizeof(f->reserved));
+ f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+
+ return 0;
+}