Re: [RFC PATCH v5 13/14] media: tegra-video: Add CSI MIPI pads calibration

From: Dmitry Osipenko
Date: Wed Jul 29 2020 - 19:26:00 EST


28.07.2020 18:59, Sowjanya Komatineni ÐÐÑÐÑ:
...
>>> +ÂÂÂÂÂÂÂ ret = tegra_mipi_finish_calibration(csi_chan->mipi);
>>> +ÂÂÂÂÂÂÂ if (ret < 0)
>>> +ÂÂÂÂÂÂÂÂÂÂÂ dev_err(csi_chan->csi->dev,
>>> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ "MIPI calibration failed: %d\n", ret);
>> Doesn't v4l2_subdev_call(OFF) need to be invoked here on error?
>
> Not required as on error streaming fails and runtime PM will turn off
> power anyway.

I see that camera drivers bump theirs RPM on s_stream=1, and thus,
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

> Also we only did csi subdev s_stream on and during sensor subdev
> s_stream on fail, actual stream dont happen and on tegra side frame
> capture by HW happens only when kthreads run.
Secondly, perhaps a failed calibration isn't a very critical error?
Hence just printing a warning message should be enough.

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!