From fda78bffdf02e6ebed9538b7d07c3b77382456d0 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Thu, 7 Jan 2016 18:03:37 -0500 Subject: [PATCH 1254/1565] drm/amdgpu: Use non-polling user mode notification for DAL DAL do not use polling for user mode notification. This change allow actual user mode notification on S3 resume when DAL is enabled Reviewed-by: Alex Deucher Signed-off-by: Eric Yang --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 3604903..87adae8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -1698,12 +1698,14 @@ int amdgpu_suspend_kms(struct drm_device *dev, bool suspend, bool fbcon) drm_kms_helper_poll_disable(dev); - /* turn off display hw */ - drm_modeset_lock_all(dev); - list_for_each_entry(connector, &dev->mode_config.connector_list, head) { - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); + if (!amdgpu_has_dal_support(adev)) { + /* turn off display hw */ + drm_modeset_lock_all(dev); + list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); + } + drm_modeset_unlock_all(dev); } - drm_modeset_unlock_all(dev); /* unpin the front buffers and cursors */ list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { @@ -1798,6 +1800,9 @@ int amdgpu_resume_kms(struct drm_device *dev, bool resume, bool fbcon) if (r) DRM_ERROR("amdgpu_resume failed (%d).\n", r); + if (r) + DRM_ERROR("amdgpu_resume failed (%d).\n", r); + amdgpu_fence_driver_resume(adev); if (resume) { @@ -1844,7 +1849,11 @@ int amdgpu_resume_kms(struct drm_device *dev, bool resume, bool fbcon) } drm_kms_helper_poll_enable(dev); - drm_helper_hpd_irq_event(dev); + + if (!amdgpu_has_dal_support(adev)) + drm_helper_hpd_irq_event(dev); + else + drm_kms_helper_hotplug_event(dev); if (fbcon) { amdgpu_fbdev_set_suspend(adev, 0); -- 1.9.1