diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 11 | 
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 4c83f1db8a24..63a089992645 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -2246,13 +2246,20 @@ static void amdgpu_drv_delayed_reset_work_handler(struct work_struct *work)  static int amdgpu_pmops_prepare(struct device *dev)  {  	struct drm_device *drm_dev = dev_get_drvdata(dev); +	struct amdgpu_device *adev = drm_to_adev(drm_dev);  	/* Return a positive number here so  	 * DPM_FLAG_SMART_SUSPEND works properly  	 */  	if (amdgpu_device_supports_boco(drm_dev)) -		return pm_runtime_suspended(dev) && -			pm_suspend_via_firmware(); +		return pm_runtime_suspended(dev); + +	/* if we will not support s3 or s2i for the device +	 *  then skip suspend +	 */ +	if (!amdgpu_acpi_is_s0ix_active(adev) && +	    !amdgpu_acpi_is_s3_active(adev)) +		return 1;  	return 0;  }  | 
