From: Alex Deucher Date: Wed, 10 Jun 2015 15:52:00 +0000 (-0400) Subject: drm/amdgpu: don't enable/disable display twice on suspend/resume X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=633ed3df9a65614f14e756424aaff0d317b1b637;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git drm/amdgpu: don't enable/disable display twice on suspend/resume We were doing it in the common code and in the IP specific code. Remove the IP specific code. The common code handles the ordering properly. Reviewed-by: Christian König Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c index 192dfe55b9ab..5cde635978f9 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c @@ -3017,16 +3017,8 @@ static int dce_v10_0_hw_fini(void *handle) static int dce_v10_0_suspend(void *handle) { - struct drm_connector *connector; struct amdgpu_device *adev = (struct amdgpu_device *)handle; - drm_kms_helper_poll_disable(adev->ddev); - - /* turn off display hw */ - list_for_each_entry(connector, &adev->ddev->mode_config.connector_list, head) { - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); - } - amdgpu_atombios_scratch_regs_save(adev); dce_v10_0_hpd_fini(adev); @@ -3036,7 +3028,6 @@ static int dce_v10_0_suspend(void *handle) static int dce_v10_0_resume(void *handle) { - struct drm_connector *connector; struct amdgpu_device *adev = (struct amdgpu_device *)handle; dce_v10_0_init_golden_registers(adev); @@ -3057,15 +3048,6 @@ static int dce_v10_0_resume(void *handle) /* initialize hpd */ dce_v10_0_hpd_init(adev); - /* blat the mode back in */ - drm_helper_resume_force_mode(adev->ddev); - /* turn on display hw */ - list_for_each_entry(connector, &adev->ddev->mode_config.connector_list, head) { - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); - } - - drm_kms_helper_poll_enable(adev->ddev); - return 0; } diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c index a530c5dd1193..95efd98b202d 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c @@ -3015,16 +3015,8 @@ static int dce_v11_0_hw_fini(void *handle) static int dce_v11_0_suspend(void *handle) { - struct drm_connector *connector; struct amdgpu_device *adev = (struct amdgpu_device *)handle; - drm_kms_helper_poll_disable(adev->ddev); - - /* turn off display hw */ - list_for_each_entry(connector, &adev->ddev->mode_config.connector_list, head) { - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); - } - amdgpu_atombios_scratch_regs_save(adev); dce_v11_0_hpd_fini(adev); @@ -3034,7 +3026,6 @@ static int dce_v11_0_suspend(void *handle) static int dce_v11_0_resume(void *handle) { - struct drm_connector *connector; struct amdgpu_device *adev = (struct amdgpu_device *)handle; dce_v11_0_init_golden_registers(adev); @@ -3056,15 +3047,6 @@ static int dce_v11_0_resume(void *handle) /* initialize hpd */ dce_v11_0_hpd_init(adev); - /* blat the mode back in */ - drm_helper_resume_force_mode(adev->ddev); - /* turn on display hw */ - list_for_each_entry(connector, &adev->ddev->mode_config.connector_list, head) { - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); - } - - drm_kms_helper_poll_enable(adev->ddev); - return 0; } diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c index 9e8b9f1fad18..72c27ac915f2 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c @@ -2948,16 +2948,8 @@ static int dce_v8_0_hw_fini(void *handle) static int dce_v8_0_suspend(void *handle) { - struct drm_connector *connector; struct amdgpu_device *adev = (struct amdgpu_device *)handle; - drm_kms_helper_poll_disable(adev->ddev); - - /* turn off display hw */ - list_for_each_entry(connector, &adev->ddev->mode_config.connector_list, head) { - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); - } - amdgpu_atombios_scratch_regs_save(adev); dce_v8_0_hpd_fini(adev); @@ -2967,7 +2959,6 @@ static int dce_v8_0_suspend(void *handle) static int dce_v8_0_resume(void *handle) { - struct drm_connector *connector; struct amdgpu_device *adev = (struct amdgpu_device *)handle; amdgpu_atombios_scratch_regs_restore(adev); @@ -2986,15 +2977,6 @@ static int dce_v8_0_resume(void *handle) /* initialize hpd */ dce_v8_0_hpd_init(adev); - /* blat the mode back in */ - drm_helper_resume_force_mode(adev->ddev); - /* turn on display hw */ - list_for_each_entry(connector, &adev->ddev->mode_config.connector_list, head) { - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); - } - - drm_kms_helper_poll_enable(adev->ddev); - return 0; }