[PATCH] drm/tegra: dsi: Enhance runtime power management

Jon Hunter jonathanh at nvidia.com
Wed Aug 24 13:34:04 UTC 2016


On 17/08/16 17:01, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
> 
> 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 at nvidia.com>
> Signed-off-by: Thierry Reding <treding at nvidia.com>

This patch along with the fix from Vince [0] fixes the hang during boot
on Tegra114. So ...

Tested-by: Jon Hunter <jonathanh at nvidia.com>

Cheers
Jon

[0] http://marc.info/?l=linux-kernel&m=144017122430016&w=2

-- 
nvpublic


More information about the dri-devel mailing list