Hi Steve,
On Sun, 2017-01-22 at 18:31 -0800, Steve Longerbeam wrote:
On 01/16/2017 05:47 AM, Philipp Zabel wrote:That sounds good to me.
On Sat, 2017-01-14 at 14:46 -0800, Steve Longerbeam wrote:how about simply "capture" ?
[...]
Agreed, capif sounds weird. I find camif a bit confusing though, becauseCamif is so named because it is the V4L2 user interface for video+Unprocessed Video Capture:I'd call this capture interface, this is not just for cameras. Or maybe
+--------------------------
+
+Send frames directly from sensor to camera interface, with no
+conversions:
+
+-> ipu_smfc -> camif
idmac if you want to mirror hardware names?
capture. I suppose it could be named "capif", but that doesn't role
off the tongue quite as well.
Samsung S3C has a camera interface that is actually called "CAMIF".
So why not call it in open/release then?I tried this API, by switching to v4l2_pipeline_pm_use() in camifI have used it with a tc358743 -> mipi-csi2 pipeline, it didn't causeThis should really be handled by v4l2_pipeline_pm_use.I thought about this earlier, but v4l2_pipeline_pm_use() seems to be
doing some other stuff that bothered me, at least that's what I remember.
I will revisit this.
any problems. It would be better to reuse and, if necessary, fix the
existing infrastructure where available.
open/release,
and switched to v4l2_pipeline_link_notify() instead of
imx_media_link_notify()
in the media driver's media_device_ops.
This API assumes the video device has an open file handle while the media
links are being established. This doesn't work for me, I want to be able to
establish the links using 'media-ctl -l', and that won't work unless
there is an
open file handle on the video capture device node.
Also, I looked into calling v4l2_pipeline_pm_use() during
imx_media_link_notify(),
instead of imx_media_pipeline_set_power(). Again there are problems with
that.
First, v4l2_pipeline_pm_use() acquires the graph mutex, so it can't be
called inside
link_notify which already acquires that lock. The header for this
function also
clearly states it should only be called in open/release.
Second, ignoring the above locking issue for a moment,I don't understand why you want to power up subdevs as soon as the links
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.
are established.
Shouldn't that rather be done for all subdevices in the
pipeline when the corresponding capture device is opened?
It seems to me that powering up the pipeline should be the last step
before userspace actually starts the capture.