drm/amdgpu: drop explicit pci D3/D0 setting for ATPX power control
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 2 Jun 2016 13:18:34 +0000 (09:18 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 7 Jul 2016 18:51:08 +0000 (14:51 -0400)
The ATPX power control method does this for you.

Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

index 6c38901cf92f66c2dbd59f51de6e122583306529..e2bf4ef6b2f740e663746a9842f0f14ee497debb 100644 (file)
@@ -419,9 +419,7 @@ static int amdgpu_pmops_runtime_suspend(struct device *dev)
        pci_ignore_hotplug(pdev);
        if (amdgpu_is_atpx_hybrid())
                pci_set_power_state(pdev, PCI_D3cold);
-       else if (amdgpu_has_atpx_dgpu_power_cntl())
-               pci_set_power_state(pdev, PCI_D3cold);
-       else
+       else if (!amdgpu_has_atpx_dgpu_power_cntl())
                pci_set_power_state(pdev, PCI_D3hot);
        drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF;
 
@@ -439,7 +437,9 @@ static int amdgpu_pmops_runtime_resume(struct device *dev)
 
        drm_dev->switch_power_state = DRM_SWITCH_POWER_CHANGING;
 
-       pci_set_power_state(pdev, PCI_D0);
+       if (amdgpu_is_atpx_hybrid() ||
+           !amdgpu_has_atpx_dgpu_power_cntl())
+               pci_set_power_state(pdev, PCI_D0);
        pci_restore_state(pdev);
        ret = pci_enable_device(pdev);
        if (ret)