Re: [PATCH v4 29/36] media: imx: mipi-csi2: enable setting and getting of frame rates
From: Russell King - ARM Linux <linux@armlinux.org.uk>
Date: 2017-02-18 18:12:24
Also in:
linux-arm-kernel, linux-media, lkml
On Sat, Feb 18, 2017 at 09:29:17AM -0800, Steve Longerbeam wrote:
On 02/18/2017 01:23 AM, Russell King - ARM Linux wrote:quoted
On Fri, Feb 17, 2017 at 05:12:44PM -0800, Steve Longerbeam wrote:quoted
Hi Russell, I signed-off on this but after more review I'm not sure this is right. The CSI-2 receiver really has no control over frame rate. It's output frame rate is the same as the rate that is delivered to it. So this subdev should either not implement these ops, or it should refer them to the attached source subdev.Where in the V4L2 documentation does it say that is permissible?https://www.linuxtv.org/downloads/v4l-dvb-apis-old/vidioc-subdev-g-frame-interval.html "The frame interval only makes sense for sub-devices that can control the frame period on their own. This includes, for instance, image sensors and TV tuners. Sub-devices that don't support frame intervals must not implement these ioctls."
That sounds clear - but the TV tuner example seems odd - the frame rate is determined at transmission time, not reception time. Yes, it's possible to skip frames (which would be scaling) but you can't _control_ the frame rate per se.
quoted
If you don't implement these, media-ctl fails to propagate _anything_ to the next sink pad if you specify a frame rate, because media-ctl throws an error and exits immediately.But I agree with you here. I think our only option is to ignore that quoted requirement above and propagate [gs]_frame_interval all the way to the CSI (which can control the frame rate via frame skipping).
Sounds like something to tackle the media maintainers over - the documentation vs media-ctl seem to have different ideas on this point. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.