|
@@ -1651,9 +1651,11 @@ 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);
|
|
|
}
|
|
|
+ drm_modeset_unlock_all(dev);
|
|
|
|
|
|
/* unpin the front buffers */
|
|
|
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
|
|
@@ -1748,9 +1750,11 @@ int amdgpu_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
|
|
|
if (fbcon) {
|
|
|
drm_helper_resume_force_mode(dev);
|
|
|
/* turn on 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_ON);
|
|
|
}
|
|
|
+ drm_modeset_unlock_all(dev);
|
|
|
}
|
|
|
|
|
|
drm_kms_helper_poll_enable(dev);
|