summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
diff options
context:
space:
mode:
authorMikko Perttunen <mperttunen@nvidia.com>2017-06-09 15:25:39 +0300
committerBen Skeggs <bskeggs@redhat.com>2017-06-16 14:05:03 +1000
commitb1df242544b9477dd529b468c13066b66a3f9e97 (patch)
tree496ef17036e3a15e8f73137362a61738b5840731 /drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
parent3a93dd2243c6af8a52edad675c11a6cdaef969c6 (diff)
downloadop-kernel-dev-b1df242544b9477dd529b468c13066b66a3f9e97.zip
op-kernel-dev-b1df242544b9477dd529b468c13066b66a3f9e97.tar.gz
drm/nouveau/tegra: Skip manual unpowergating when not necessary
On Tegra186, powergating is handled by the BPMP power domain provider and the "legacy" powergating API is not available. Therefore skip these calls if we are attached to a power domain. Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
index 6474bd2..3d42cdb 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
@@ -51,10 +51,12 @@ nvkm_device_tegra_power_up(struct nvkm_device_tegra *tdev)
reset_control_assert(tdev->rst);
udelay(10);
- ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D);
- if (ret)
- goto err_clamp;
- udelay(10);
+ if (!tdev->pdev->dev.pm_domain) {
+ ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D);
+ if (ret)
+ goto err_clamp;
+ udelay(10);
+ }
reset_control_deassert(tdev->rst);
udelay(10);
OpenPOWER on IntegriCloud