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

Sowjanya Komatineni
2020-07-31T16:29:06Z

On 7/31/20 9:14 AM, Dmitry Osipenko wrote:
> 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".

VI is the main video input (video device) and on streaming it starts
stream of CSI subdev prior to stream of Sensor.

HW path, sensor stream (CSI TX) -> CSI stream (RX)

During CSI stream on, CSI PHY receiver is enabled to start receiving the
data but internally capture assembled to active state will happen only
when Tegra VI single shot is issues where VI thru pixel parser gets
captures data into the memory