|
@@ -419,9 +419,7 @@ static int amdgpu_pmops_runtime_suspend(struct device *dev)
|
|
pci_ignore_hotplug(pdev);
|
|
pci_ignore_hotplug(pdev);
|
|
if (amdgpu_is_atpx_hybrid())
|
|
if (amdgpu_is_atpx_hybrid())
|
|
pci_set_power_state(pdev, PCI_D3cold);
|
|
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);
|
|
pci_set_power_state(pdev, PCI_D3hot);
|
|
drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF;
|
|
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;
|
|
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);
|
|
pci_restore_state(pdev);
|
|
ret = pci_enable_device(pdev);
|
|
ret = pci_enable_device(pdev);
|
|
if (ret)
|
|
if (ret)
|