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.
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.
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.
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.