linux_dsm_epyc7002/drivers/gpu/drm/tegra
Thierry Reding c472a0b0a1 drm/tegra: sor: Initialize runtime PM before use
Commit fd67e9c6ed ("drm/tegra: Do not implement runtime PM") replaced
the generic runtime PM usage by a host1x bus-specific implementation in
order to work around some assumptions baked into runtime PM that are in
conflict with the requirements in the Tegra DRM driver.

Unfortunately the new runtime PM callbacks are not setup yet at the time
when the SOR driver first needs to resume the device to register the SOR
pad clock, and accesses to register will cause the system to hang.

Note that this only happens on Tegra124 and Tegra210 because those are
the only SoCs where the SOR pad clock is registered from the SOR driver.
Later generations use a SOR pad clock provided by the BPMP.

Fix this by moving the registration of the SOR pad clock after the
host1x client has been registered. That's somewhat suboptimal because
this could potentially, though it's very unlikely, cause the Tegra DRM
to be probed if the SOR happens to be the last subdevice to register,
only to be immediately removed again if the SOR pad output clock fails
to register. That's just a minor annoyance, though, and doesn't justify
implementing a workaround.

Fixes: fd67e9c6ed ("drm/tegra: Do not implement runtime PM")
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-01-31 21:29:24 +01:00
..
dc.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dc.h drm/tegra: Move IOMMU group into host1x client 2019-10-28 11:18:37 +01:00
dp.c drm/tegra: sor: Add DisplayPort support 2019-10-28 11:18:54 +01:00
dp.h drm/tegra: dp: Add DisplayPort link training helper 2019-10-28 11:18:53 +01:00
dpaux.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dpaux.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
drm.c gpu: host1x: Rename "parent" to "host" 2020-01-10 16:37:38 +01:00
drm.h drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dsi.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dsi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
falcon.c drm/tegra: falcon: Clarify address usage 2019-10-29 15:04:36 +01:00
falcon.h drm/tegra: falcon: Clarify address usage 2019-10-29 15:04:36 +01:00
fb.c drm/tegra: gem: Rename paddr -> iova 2019-10-28 11:18:38 +01:00
gem.c drm/tegra: gem: Remove premature import restrictions 2019-12-04 13:36:23 +01:00
gem.h drm/tegra: gem: Rename paddr -> iova 2019-10-28 11:18:38 +01:00
gr2d.c gpu: host1x: Rename "parent" to "host" 2020-01-10 16:37:38 +01:00
gr2d.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
gr3d.c gpu: host1x: Rename "parent" to "host" 2020-01-10 16:37:38 +01:00
gr3d.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hda.c drm/tegra: hda: Extract HDA format parsing code 2019-01-16 13:10:20 +01:00
hda.h drm/tegra: hda: Extract HDA format parsing code 2019-01-16 13:10:20 +01:00
hdmi.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
hdmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hub.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
hub.h drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
Kconfig drm/tegra: Unconditionally select IOMMU_IOVA 2019-11-01 10:49:29 +01:00
Makefile drm/tegra: Move drm_dp_link helpers to Tegra DRM 2019-10-23 18:22:10 +02:00
mipi-phy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mipi-phy.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
output.c drm/tegra: output: Implement system suspend/resume 2020-01-10 16:46:29 +01:00
plane.c drm/tegra: gem: Remove premature import restrictions 2019-12-04 13:36:23 +01:00
plane.h drm/tegra: Support DMA API for display controllers 2019-10-29 15:04:36 +01:00
rgb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sor.c drm/tegra: sor: Initialize runtime PM before use 2020-01-31 21:29:24 +01:00
sor.h drm/tegra: sor: Add DisplayPort support 2019-10-28 11:18:54 +01:00
trace.c drm/tegra: dc: Trace register accesses 2017-08-17 17:57:14 +02:00
trace.h drm/tegra: trace: Fix path to include 2017-09-26 11:08:17 +02:00
vic.c gpu: host1x: Rename "parent" to "host" 2020-01-10 16:37:38 +01:00
vic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00