summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
diff options
context:
space:
mode:
authorAlex Deucher2016-06-02 15:18:34 +0200
committerAlex Deucher2016-07-07 20:51:08 +0200
commit522761cbc80df90e94a77cf699fa0c94f55aa43c (patch)
tree0321cd2eadc53186a922042123b7ec2ccc83ad5d /drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
parentdrm/amdgpu/atpx: hybrid platforms use d3cold (diff)
downloadkernel-qcow2-linux-522761cbc80df90e94a77cf699fa0c94f55aa43c.tar.gz
kernel-qcow2-linux-522761cbc80df90e94a77cf699fa0c94f55aa43c.tar.xz
kernel-qcow2-linux-522761cbc80df90e94a77cf699fa0c94f55aa43c.zip
drm/amdgpu: drop explicit pci D3/D0 setting for ATPX power control
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 6c38901cf92f..e2bf4ef6b2f7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -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)