]> git.baikalelectronics.ru Git - kernel.git/commit
drm/tegra: sor: Fix hang on Tegra124 eDP
authorThierry Reding <treding@nvidia.com>
Wed, 10 Jan 2018 12:04:58 +0000 (13:04 +0100)
committerThierry Reding <treding@nvidia.com>
Wed, 10 Jan 2018 12:04:58 +0000 (13:04 +0100)
commit4cc56c97405d3798eed6c3ae0544d6a72de63b1f
treeacdd7536014eeb556c962d76860e0b5e61ed2e80
parent5fcc24c3b58d87b95c3448f88dfe5bebcbd3795f
drm/tegra: sor: Fix hang on Tegra124 eDP

The SOR0 found on Tegra124 and Tegra210 only supports eDP and LVDS and
therefore has a slightly different clock tree than the SOR1 which does
not support eDP, but HDMI and DP instead.

Commit c35cddd0791e ("drm/tegra: sor: Reimplement pad clock") breaks
setups with eDP because the sor->clk_out clock is uninitialized and
therefore setting the parent clock (either the safe clock or either of
the display PLLs) fails, which can cause hangs later on since there is
no clock driving the module.

Fix this by falling back to the module clock for sor->clk_out on those
setups. This guarantees that the module will always be clocked by an
enabled clock and hence prevents those hangs.

Fixes: c35cddd0791e ("drm/tegra: sor: Reimplement pad clock")
Reported-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/tegra/sor.c