Re: [RFC PATCH v3 16/18] gpu: host1x: mipi: Split tegra_mipi_calibrate and tegra_mipi_wait

From: Sowjanya Komatineni
Date: Thu Jul 16 2020 - 19:08:57 EST



On 7/16/20 4:06 PM, Sowjanya Komatineni wrote:

On 7/16/20 4:01 PM, Dmitry Osipenko wrote:
17.07.2020 01:49, Sowjanya Komatineni ÐÐÑÐÑ:
What keeps MIPI clock enabled after completion of the
tegra_mipi_calibrate() invocation?
MIPI clock is disabled at end of tegra_mipi_calibrate and is re-enabled
during tegra_mipi_wait.

I think I should fix this to keep the clock enabled till calibration
results are latched.

All consumers of tegra_mipi_calibrate() will call tegra_mipi_wait().

So will remove clk_disable mipi clk at end of tegra_mipi_calibrate() and
clk_enable mipi_clk at beginning of tegra_mipi_wait()
Isn't it possible to perform the calibration after enabling CSI and
before of starting the sensor streaming?
Currently this is what I am doing. Triggering calibration start during CSI receiver being ready and then sensor streaming will happen where internal MIPI CAL detects for LP -> HS transition and applies results to pads. So checking for calibration results after sensor stream is enabled

1. Calling tegra_mipi_calibrate() during CSI streaming where CSI pads are enabled and receiver is kept ready

2. Start Sensor stream

3. Calling tegra_mipi_wait() to check for MIPI Cal status.

So as mipi cal clk need to be kept enabled till 3rd step, we can enable clock during tegra_mipi_calibrate() and leave it enabled and disable it in tegra_mipi_wait after status check.