[PATCH v3 16/24] media: Add i.MX media core driver
From: p.zabel@pengutronix.de (Philipp Zabel)
Date: 2017-01-24 11:38:15
Also in:
linux-devicetree, linux-media, lkml
Hi Steve, On Mon, 2017-01-23 at 17:45 -0800, Steve Longerbeam wrote:
On 01/23/2017 05:38 PM, Steve Longerbeam wrote:quoted
quoted
quoted
Second, ignoring the above locking issue for a moment, v4l2_pipeline_pm_use() will call s_power on the sensor _first_, then the mipi csi-2 s_power, when executing media-ctl -l '"ov5640 1-003c":0 -> "imx6-mipi-csi2":0[1]'. Which is the wrong order. In my version which enforces the correct power on order, the mipi csi-2 s_power is called first in that link setup, followed by the sensor.I don't understand why you want to power up subdevs as soon as the links are established.Because that is the precedence, all other media drivers do pipeline power on/off at link_notify. And v4l2_pipeline_link_notify() was written as a link_notify method.quoted
Shouldn't that rather be done for all subdevices in the pipeline when the corresponding capture device is opened?that won't work. There's no guarantee the links will be established at capture device open time.
If the device is opened before the links are established, it won't be usable anyway. And I think the connected pipeline should be locked in place while the video device is opened. Is there any reason to ever open the video device and only then start linking entities?
ugh, maybe v4l2_pipeline_pm_use() would work at open/release. If there are no links yet, it would basically be a no-op. And stream on requires opening the device, and the pipeline links should be established by then, so this might be fine, looking into this too.
Thanks for looking into it, at least I had that working for the TC358743->MIPI-CSI2 link in my driver.
quoted
quoted
It seems to me that powering up the pipeline should be the last step before userspace actually starts the capture.Well, I'm ok with moving pipeline power on/off to start/stop streaming. I would actually prefer to do it then, I only chose at link_notify because of precedence. I'll look into it.
That might be too late, though. I would expect STREAMON/STREAMOFF to be a rather fast operation as all the slow preparation could be at open / REQBUFS time. Also, there might be sensors that need to be powered on to handle the v4l2_ctrl passthrough? regards Philipp