On 7/29/20 4:25 PM, Dmitry Osipenko wrote:
28.07.2020 18:59, Sowjanya Komatineni ÐÐÑÐÑ:
...
I see that camera drivers bump theirs RPM on s_stream=1, and thus,Not required as on error streaming fails and runtime PM will turn off+ÂÂÂÂÂÂÂ ret = tegra_mipi_finish_calibration(csi_chan->mipi);Doesn't v4l2_subdev_call(OFF) need to be invoked here on error?
+ÂÂÂÂÂÂÂ if (ret < 0)
+ÂÂÂÂÂÂÂÂÂÂÂ dev_err(csi_chan->csi->dev,
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ "MIPI calibration failed: %d\n", ret);
power anyway.
s_stream=0 should be invoked in order to balance the RPM. What am I missing?
https://elixir.bootlin.com/linux/v5.8-rc4/source/drivers/media/i2c/ov2740.c#L634
Sensor drivers take care of RPM put when any failure happens during s_stream.
So bridge driver don't have to call v4l2_subdev_call s_stream off incase if sensor subdev stream on fails.
Also we only did csi subdev s_stream on and during sensor subdevSecondly, perhaps a failed calibration isn't a very critical error?
s_stream on fail, actual stream dont happen and on tegra side frame
capture by HW happens only when kthreads run.
Hence just printing a warning message should be enough.
Using dev_err to report calibration failure. Are you suggesting to use dev_warn instead of dev_err?
Could you please make a patch that factors all ON/OFF code paths into a
separate functions? It's a bit difficult to follow the combined code,
especially partial changes in the patches. Thanks in advance!
what do you mean by partial changes in patches?
Can you please be more clear?
Thanks
Sowjanya