|
@@ -1573,10 +1573,12 @@ int radeon_suspend_kms(struct drm_device *dev, bool suspend, bool fbcon)
|
|
|
|
|
|
drm_kms_helper_poll_disable(dev);
|
|
drm_kms_helper_poll_disable(dev);
|
|
|
|
|
|
|
|
+ drm_modeset_lock_all(dev);
|
|
/* turn off display hw */
|
|
/* turn off display hw */
|
|
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
|
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
|
drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF);
|
|
drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF);
|
|
}
|
|
}
|
|
|
|
+ drm_modeset_unlock_all(dev);
|
|
|
|
|
|
/* unpin the front buffers and cursors */
|
|
/* unpin the front buffers and cursors */
|
|
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
|
|
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
|
|
@@ -1734,9 +1736,11 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
|
|
if (fbcon) {
|
|
if (fbcon) {
|
|
drm_helper_resume_force_mode(dev);
|
|
drm_helper_resume_force_mode(dev);
|
|
/* turn on display hw */
|
|
/* turn on display hw */
|
|
|
|
+ drm_modeset_lock_all(dev);
|
|
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
|
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
|
drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
|
|
drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
|
|
}
|
|
}
|
|
|
|
+ drm_modeset_unlock_all(dev);
|
|
}
|
|
}
|
|
|
|
|
|
drm_kms_helper_poll_enable(dev);
|
|
drm_kms_helper_poll_enable(dev);
|