drm/radeon: fix resuming mode in pm runtime resume path
authorDave Airlie <airlied@redhat.com>
Thu, 27 Mar 2014 04:09:19 +0000 (14:09 +1000)
committerChristian König <christian.koenig@amd.com>
Thu, 3 Apr 2014 10:35:41 +0000 (12:35 +0200)
For runtime pm we'd never suspend with the modesetting hw turned on,
so don't try and resume the modesetting hw, as that path will take
locks that the interface that is causing us to wake up might also
take.

Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/radeon_device.c

index 15f954cd81cb17169ffaccc4dfeae2f5619023e9..835516d2d2576a81d99346598874ff810116f35e 100644 (file)
@@ -1551,10 +1551,12 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
        /* reset hpd state */
        radeon_hpd_init(rdev);
        /* blat the mode back in */
-       drm_helper_resume_force_mode(dev);
-       /* turn on display hw */
-       list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-               drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
+       if (fbcon) {
+               drm_helper_resume_force_mode(dev);
+               /* turn on display hw */
+               list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
+                       drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
+               }
        }
 
        drm_kms_helper_poll_enable(dev);