OSDN Git Service

modesetting: Add helper to force restore modes on crtcs at resume time
authorDave Airlie <airlied@linux.ie>
Wed, 17 Sep 2008 23:59:08 +0000 (09:59 +1000)
committerDave Airlie <airlied@linux.ie>
Wed, 17 Sep 2008 23:59:08 +0000 (09:59 +1000)
linux-core/drm_crtc_helper.c
linux-core/drm_crtc_helper.h

index 89d87a6..71bdc44 100644 (file)
@@ -785,4 +785,22 @@ int drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
 }
 EXPORT_SYMBOL(drm_helper_mode_fill_fb_struct);
 
+int drm_helper_resume_force_mode(struct drm_device *dev)
+{
+       struct drm_crtc *crtc;
+       int ret;
 
+       list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
+
+               if (!crtc->enabled)
+                       continue;
+               
+               ret = drm_crtc_helper_set_mode(crtc, &crtc->mode, crtc->x,
+                                              crtc->y);
+
+               if (ret == false)
+                       DRM_ERROR("failed to set mode on crtc %p\n", crtc);
+       }
+       return 0;
+}
+EXPORT_SYMBOL(drm_helper_resume_force_mode);
index dcb46f9..c071915 100644 (file)
@@ -92,6 +92,5 @@ static inline void drm_connector_helper_add(struct drm_connector *connector, con
        connector->helper_private = (void *)funcs;
 }
 
-extern int drm_get_buffer_object(struct drm_device *dev, struct drm_buffer_object **bo, unsigned long handle);
-
+extern int drm_helper_resume_force_mode(struct drm_device *dev);
 #endif