Commit 633ed3df authored by Alex Deucher's avatar Alex Deucher

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: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4802ce11
...@@ -3017,16 +3017,8 @@ static int dce_v10_0_hw_fini(void *handle) ...@@ -3017,16 +3017,8 @@ static int dce_v10_0_hw_fini(void *handle)
static int dce_v10_0_suspend(void *handle) static int dce_v10_0_suspend(void *handle)
{ {
struct drm_connector *connector;
struct amdgpu_device *adev = (struct amdgpu_device *)handle; 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); amdgpu_atombios_scratch_regs_save(adev);
dce_v10_0_hpd_fini(adev); dce_v10_0_hpd_fini(adev);
...@@ -3036,7 +3028,6 @@ static int dce_v10_0_suspend(void *handle) ...@@ -3036,7 +3028,6 @@ static int dce_v10_0_suspend(void *handle)
static int dce_v10_0_resume(void *handle) static int dce_v10_0_resume(void *handle)
{ {
struct drm_connector *connector;
struct amdgpu_device *adev = (struct amdgpu_device *)handle; struct amdgpu_device *adev = (struct amdgpu_device *)handle;
dce_v10_0_init_golden_registers(adev); dce_v10_0_init_golden_registers(adev);
...@@ -3057,15 +3048,6 @@ static int dce_v10_0_resume(void *handle) ...@@ -3057,15 +3048,6 @@ static int dce_v10_0_resume(void *handle)
/* initialize hpd */ /* initialize hpd */
dce_v10_0_hpd_init(adev); 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; return 0;
} }
......
...@@ -3015,16 +3015,8 @@ static int dce_v11_0_hw_fini(void *handle) ...@@ -3015,16 +3015,8 @@ static int dce_v11_0_hw_fini(void *handle)
static int dce_v11_0_suspend(void *handle) static int dce_v11_0_suspend(void *handle)
{ {
struct drm_connector *connector;
struct amdgpu_device *adev = (struct amdgpu_device *)handle; 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); amdgpu_atombios_scratch_regs_save(adev);
dce_v11_0_hpd_fini(adev); dce_v11_0_hpd_fini(adev);
...@@ -3034,7 +3026,6 @@ static int dce_v11_0_suspend(void *handle) ...@@ -3034,7 +3026,6 @@ static int dce_v11_0_suspend(void *handle)
static int dce_v11_0_resume(void *handle) static int dce_v11_0_resume(void *handle)
{ {
struct drm_connector *connector;
struct amdgpu_device *adev = (struct amdgpu_device *)handle; struct amdgpu_device *adev = (struct amdgpu_device *)handle;
dce_v11_0_init_golden_registers(adev); dce_v11_0_init_golden_registers(adev);
...@@ -3056,15 +3047,6 @@ static int dce_v11_0_resume(void *handle) ...@@ -3056,15 +3047,6 @@ static int dce_v11_0_resume(void *handle)
/* initialize hpd */ /* initialize hpd */
dce_v11_0_hpd_init(adev); 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; return 0;
} }
......
...@@ -2948,16 +2948,8 @@ static int dce_v8_0_hw_fini(void *handle) ...@@ -2948,16 +2948,8 @@ static int dce_v8_0_hw_fini(void *handle)
static int dce_v8_0_suspend(void *handle) static int dce_v8_0_suspend(void *handle)
{ {
struct drm_connector *connector;
struct amdgpu_device *adev = (struct amdgpu_device *)handle; 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); amdgpu_atombios_scratch_regs_save(adev);
dce_v8_0_hpd_fini(adev); dce_v8_0_hpd_fini(adev);
...@@ -2967,7 +2959,6 @@ static int dce_v8_0_suspend(void *handle) ...@@ -2967,7 +2959,6 @@ static int dce_v8_0_suspend(void *handle)
static int dce_v8_0_resume(void *handle) static int dce_v8_0_resume(void *handle)
{ {
struct drm_connector *connector;
struct amdgpu_device *adev = (struct amdgpu_device *)handle; struct amdgpu_device *adev = (struct amdgpu_device *)handle;
amdgpu_atombios_scratch_regs_restore(adev); amdgpu_atombios_scratch_regs_restore(adev);
...@@ -2986,15 +2977,6 @@ static int dce_v8_0_resume(void *handle) ...@@ -2986,15 +2977,6 @@ static int dce_v8_0_resume(void *handle)
/* initialize hpd */ /* initialize hpd */
dce_v8_0_hpd_init(adev); 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; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment