From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: Michael Riesch <michael.riesch@wolfvision.net>
Cc: "Mehdi Djait" <mehdi.djait@linux.intel.com>,
"Maxime Chevallier" <maxime.chevallier@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Kever Yang" <kever.yang@rock-chips.com>,
"Nicolas Dufresne" <nicolas@ndufresne.ca>,
"Sebastian Fricke" <sebastian.fricke@collabora.com>,
"Alexander Shiyan" <eagle.alexander923@gmail.com>,
"Val Packett" <val@packett.cool>, "Rob Herring" <robh@kernel.org>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
"Mehdi Djait" <mehdi.djait@bootlin.com>,
"Gerald Loacker" <gerald.loacker@wolfvision.net>
Subject: Re: [PATCH v2 4/6] media: rockchip: add a driver for the rockchip camera interface (cif)
Date: Fri, 10 Jan 2025 10:37:31 +0000 [thread overview]
Message-ID: <Z4D4a0GZ88sqc-rg@kekkonen.localdomain> (raw)
In-Reply-To: <78fa589d-f9b6-41d8-bee5-766d0d1c3b17@wolfvision.net>
Hi Michael,
On Fri, Jan 10, 2025 at 10:12:29AM +0100, Michael Riesch wrote:
...
> >>>> +static int cif_stream_enum_framesizes(struct file *file, void *fh,
> >>>> + struct v4l2_frmsizeenum *fsize)
> >>>> +{
> >>>> + struct cif_stream *stream = video_drvdata(file);
> >>>> + struct v4l2_subdev_frame_size_enum fse = {
> >>>> + .index = fsize->index,
> >>>> + .which = V4L2_SUBDEV_FORMAT_ACTIVE,
> >>>> + };
> >>>> + struct v4l2_subdev *sd = stream->remote->sd;
> >>>> + const struct cif_output_fmt *fmt;
> >>>> + int ret;
> >>>> +
> >>>> + fmt = cif_stream_find_output_fmt(stream, fsize->pixel_format);
> >>>> + if (!fmt)
> >>>> + return -EINVAL;
> >>>> +
> >>>> + fse.code = fmt->mbus_code;
> >>>> +
> >>>> + ret = v4l2_subdev_call(sd, pad, enum_frame_size, NULL, &fse);
> >>>
> >>> You shouldn't get this information from the sensor driver but just convey
> >>> what this device supports.
> >>
> >> OK, but what does this device support? In principle, there is a
> >> continuous range of frame sizes up to a certain maximum size. But in
> >> practice, it depends on the subdevice as there is no scaler in the DVP
> >> path. Thus, every frame size but the one that the subdevice delivers
> >> will result in a broken stream?
> >
> > Could you use CIF_MAX_WIDTH and CIF_MAX_HEIGHT?
> >
> >>
> >> If this does not return the only possible frame size, is this callback
> >> useful at all?
> >
> > In order not to configure an output size for the sensor that can't be
> > received by this block?
>
> Right... Forgot about this case. This means user space needs to
> determine the possible frame sizes of each V4L2 device and subdevice in
> the pipeline and find a size that matches, right?
Correct.
Ideally this would be available on sub-device nodes, not video devices, but
I guess v4l2-compliance requires it on video devices.
> >> And would that apply to all the method and struct names in this driver
> >> or to the driver as well (location, file names)?
> >>
> >> The name has been discussed several times during the 13 iterations of
> >> the PX30 VIP series and I believe it changed from (cif//rkcif_) in
> >> downstream -> (vip//vip_) in Maximes work -> (cif/cif-/cif_) in Mehdis
> >> work, where the tuple is (driver directory/filename prefix/function and
> >> structs prefix).
> >>
> >> Hence I am a bit reluctant to change the naming convention yet again.
> >> That said, I'll be prepared to change it JUST ONE MORE TIME to any tuple
> >> you suggest -- but this really should be the end of the name bikeshedding.
> >
> > I don't care about the internal naming but the global symbols. Using a
> > namespace is another option.
> >
>
> I would suggest the tuple (rkcif/rkcif-/rkcif_) then. This is in
> alignment with the Rockchip ISP driver (rkisp1/rkisp1-/rkisp1_).
> Unfortunately, the Rockchip RGA differs here (but with the tuple
> (rga/rga-/rga_) it uses the same prefix for everything at least).
>
> There seems to be even less alignment when looking at other
> drivers/media/platform/ drivers, therefore I can only try to maximize
> the alignment within drivers/media/platform/rockchip/.
>
> What do you think?
The rkcif prefix for anything global seems good to me.
--
Kind regards,
Sakari Ailus
next prev parent reply other threads:[~2025-01-10 10:39 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-17 15:55 [PATCH v2 0/6] media: rockchip: add a driver for the rockchip camera interface (cif) Michael Riesch
2024-12-17 15:55 ` [PATCH v2 1/6] media: dt-bindings: media: video-interfaces: add defines for sampling modes Michael Riesch
2024-12-17 15:55 ` [PATCH v2 2/6] media: dt-bindings: media: add bindings for rockchip px30 vip Michael Riesch
2024-12-30 20:00 ` Rob Herring (Arm)
2024-12-17 15:55 ` [PATCH v2 3/6] media: dt-bindings: media: add bindings for rockchip rk3568 vicap Michael Riesch
2024-12-30 20:08 ` Rob Herring
2025-01-07 11:07 ` Michael Riesch
2024-12-17 15:55 ` [PATCH v2 4/6] media: rockchip: add a driver for the rockchip camera interface (cif) Michael Riesch
2025-01-09 10:07 ` Sakari Ailus
2025-01-09 13:05 ` Michael Riesch
2025-01-09 17:06 ` Sakari Ailus
2025-01-10 9:12 ` Michael Riesch
2025-01-10 10:37 ` Sakari Ailus [this message]
2024-12-17 15:55 ` [PATCH v2 5/6] arm64: dts: rockchip: add the vip node to px30 Michael Riesch
2024-12-17 15:55 ` [PATCH v2 6/6] arm64: dts: rockchip: add vicap node to rk356x Michael Riesch
2025-01-09 17:12 ` [PATCH v2 0/6] media: rockchip: add a driver for the rockchip camera interface (cif) Laurent Pinchart
2025-01-10 8:48 ` Michael Riesch
2025-01-15 10:35 ` Mehdi Djait
2025-01-15 10:55 ` Mehdi Djait
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z4D4a0GZ88sqc-rg@kekkonen.localdomain \
--to=sakari.ailus@linux.intel.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=eagle.alexander923@gmail.com \
--cc=gerald.loacker@wolfvision.net \
--cc=heiko@sntech.de \
--cc=kever.yang@rock-chips.com \
--cc=krzk+dt@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=maxime.chevallier@bootlin.com \
--cc=mchehab@kernel.org \
--cc=mehdi.djait@bootlin.com \
--cc=mehdi.djait@linux.intel.com \
--cc=michael.riesch@wolfvision.net \
--cc=nicolas@ndufresne.ca \
--cc=p.zabel@pengutronix.de \
--cc=robh+dt@kernel.org \
--cc=robh@kernel.org \
--cc=sebastian.fricke@collabora.com \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=val@packett.cool \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox