Re: [RFC PATCH v6 09/10] media: tegra-video: Add CSI MIPI pads calibration

From: Dmitry Osipenko
Date: Fri Jul 31 2020 - 12:14:42 EST


31.07.2020 18:46, Sowjanya Komatineni ÐÐÑÐÑ:
>
> On 7/31/20 4:39 AM, Dmitry Osipenko wrote:
>> 31.07.2020 12:02, Sowjanya Komatineni ÐÐÑÐÑ:
>> ...
>>> @@ -249,13 +249,47 @@ static int tegra_csi_enable_stream(struct
>>> v4l2_subdev *subdev)
>>> ÂÂÂÂÂÂÂÂÂ return ret;
>>> ÂÂÂÂÂ }
>>> Â +ÂÂÂ if (csi_chan->mipi) {
>>> +ÂÂÂÂÂÂÂ ret = tegra_mipi_enable(csi_chan->mipi);
>>> +ÂÂÂÂÂÂÂ if (ret < 0) {
>>> +ÂÂÂÂÂÂÂÂÂÂÂ dev_err(csi->dev,
>>> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ "failed to enable MIPI pads: %d\n", ret);
>>> +ÂÂÂÂÂÂÂÂÂÂÂ goto rpm_put;
>>> +ÂÂÂÂÂÂÂ }
>>> +
>>> +ÂÂÂÂÂÂÂ /*
>>> +ÂÂÂÂÂÂÂÂ * CSI MIPI pads PULLUP, PULLDN and TERM impedances need to
>>> +ÂÂÂÂÂÂÂÂ * be calibrated after power on.
>>> +ÂÂÂÂÂÂÂÂ * So, trigger the calibration start here and results will
>>> +ÂÂÂÂÂÂÂÂ * be latched and applied to the pads when link is in LP11
>>> +ÂÂÂÂÂÂÂÂ * state during start of sensor streaming.
>>> +ÂÂÂÂÂÂÂÂ */
>>> +ÂÂÂÂÂÂÂ ret = tegra_mipi_start_calibration(csi_chan->mipi);
>>> +ÂÂÂÂÂÂÂ if (ret < 0) {
>>> +ÂÂÂÂÂÂÂÂÂÂÂ dev_err(csi->dev,
>>> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ "failed to start MIPI calibration: %d\n", ret);
>>> +ÂÂÂÂÂÂÂÂÂÂÂ goto disable_mipi;
>>> +ÂÂÂÂÂÂÂ }
>> What would happen if CSI stream is enabled and then immediately disabled
>> without enabling camera sensor?
>
> Nothing will happen as during stream enable csi receiver is kept ready.
>
> But actual capture will not happen during that point.

Could you please show how the full call chain looks like? It's not clear
to me what keeps CSI stream "ready".