drm/fb-cma-helper: Add drm_fbdev_cma_set_suspend_unlocked()
authorNoralf Trønnes <noralf@tronnes.org>
Sun, 22 Jan 2017 18:11:09 +0000 (19:11 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 24 Jan 2017 10:00:22 +0000 (11:00 +0100)
Add a CMA version of drm_fb_helper_set_suspend_unlocked().

Cc: laurent.pinchart@ideasonboard.com
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170122181117.8210-2-noralf@tronnes.org
drivers/gpu/drm/drm_fb_cma_helper.c
include/drm/drm_fb_cma_helper.h

index 4364abf..0ef8b28 100644 (file)
@@ -622,3 +622,21 @@ void drm_fbdev_cma_set_suspend(struct drm_fbdev_cma *fbdev_cma, int state)
                drm_fb_helper_set_suspend(&fbdev_cma->fb_helper, state);
 }
 EXPORT_SYMBOL(drm_fbdev_cma_set_suspend);
+
+/**
+ * drm_fbdev_cma_set_suspend_unlocked - wrapper around
+ *                                      drm_fb_helper_set_suspend_unlocked
+ * @fbdev_cma: The drm_fbdev_cma struct, may be NULL
+ * @state: desired state, zero to resume, non-zero to suspend
+ *
+ * Calls drm_fb_helper_set_suspend, which is a wrapper around
+ * fb_set_suspend implemented by fbdev core.
+ */
+void drm_fbdev_cma_set_suspend_unlocked(struct drm_fbdev_cma *fbdev_cma,
+                                       int state)
+{
+       if (fbdev_cma)
+               drm_fb_helper_set_suspend_unlocked(&fbdev_cma->fb_helper,
+                                                  state);
+}
+EXPORT_SYMBOL(drm_fbdev_cma_set_suspend_unlocked);
index 9f4e34e..8dd6e55 100644 (file)
@@ -26,6 +26,8 @@ void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
 void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
 void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
 void drm_fbdev_cma_set_suspend(struct drm_fbdev_cma *fbdev_cma, int state);
+void drm_fbdev_cma_set_suspend_unlocked(struct drm_fbdev_cma *fbdev_cma,
+                                       int state);
 
 void drm_fb_cma_destroy(struct drm_framebuffer *fb);
 int drm_fb_cma_create_handle(struct drm_framebuffer *fb,