On 17/08/16 17:01, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > The MIPI DSI output on Tegra SoCs requires some external logic to > calibrate the MIPI pads before a video signal can be transmitted. This > MIPI calibration logic requires to be powered on while the MIPI pads are > being used, which is currently done as part of the DSI driver's probe > implementation. > > This is suboptimal because it will leave the MIPI calibration logic > powered up even if the DSI output is never used. > > On Tegra114 and earlier this behaviour also causes the driver to hang > while trying to power up the MIPI calibration logic because the power > partition that contains the MIPI calibration logic will be powered on > by the display controller at output pipeline configuration time. Thus > the power up sequence for the MIPI calibration logic happens before > it's power partition is guaranteed to be enabled. > > Fix this by splitting up the API into a request/free pair of functions > that manage the runtime dependency between the DSI and the calibration > modules (no registers are accessed) and a set of enable, calibrate and > disable functions that program the MIPI calibration logic at points in > time where the power partition is really enabled. > > While at it, make sure that the runtime power management also works in > ganged mode, which is currently also broken. > > Reported-by: Jonathan Hunter <jonathanh@xxxxxxxxxx> > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> This patch along with the fix from Vince [0] fixes the hang during boot on Tegra114. So ... Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx> Cheers Jon [0] http://marc.info/?l=linux-kernel&m=144017122430016&w=2 -- nvpublic _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel