Re: [PATCH v3 16/24] media: Add i.MX media core driver

From: Steve Longerbeam
Date: Mon Jan 23 2017 - 20:46:42 EST




On 01/23/2017 05:38 PM, Steve Longerbeam wrote:


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.

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.

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.

Steve


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.