Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Mikko Perttunen and committed by
Ben Skeggs
b1df2425 3a93dd22

+6 -4
+6 -4
drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c
··· 51 51 reset_control_assert(tdev->rst); 52 52 udelay(10); 53 53 54 - ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); 55 - if (ret) 56 - goto err_clamp; 57 - udelay(10); 54 + if (!tdev->pdev->dev.pm_domain) { 55 + ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); 56 + if (ret) 57 + goto err_clamp; 58 + udelay(10); 59 + } 58 60 59 61 reset_control_deassert(tdev->rst); 60 62 udelay(10);