[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1464994604-4473-2-git-send-email-stefan@agner.ch>
Date: Fri, 3 Jun 2016 15:56:39 -0700
From: Stefan Agner <stefan@...er.ch>
To: thierry.reding@...il.com, airlied@...ux.ie,
dri-devel@...ts.freedesktop.org, stefan@...er.ch
Cc: alison.wang@...escale.com, jianwei.wang.chn@...il.com,
meng.yi@....com, alexander.stein@...tec-electronic.com,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 1/6] drm/fb_cma_helper: add suspend helper
Implement a suspend/resume helper for CMA users which calls
drm_fb_helper_set_suspend.
Suggested-by: Thierry Reding <thierry.reding@...il.com>
Signed-off-by: Stefan Agner <stefan@...er.ch>
---
drivers/gpu/drm/drm_fb_cma_helper.c | 15 +++++++++++++++
include/drm/drm_fb_cma_helper.h | 1 +
2 files changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c b/drivers/gpu/drm/drm_fb_cma_helper.c
index 172cafe..6948d82 100644
--- a/drivers/gpu/drm/drm_fb_cma_helper.c
+++ b/drivers/gpu/drm/drm_fb_cma_helper.c
@@ -582,3 +582,18 @@ void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma)
drm_fb_helper_hotplug_event(&fbdev_cma->fb_helper);
}
EXPORT_SYMBOL_GPL(drm_fbdev_cma_hotplug_event);
+
+/**
+ * drm_fbdev_cma_set_suspend - wrapper around drm_fb_helper_set_suspend
+ * @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(struct drm_fbdev_cma *fbdev_cma, int state)
+{
+ if (fbdev_cma)
+ drm_fb_helper_set_suspend(&fbdev_cma->fb_helper, state);
+}
+EXPORT_SYMBOL(drm_fbdev_cma_set_suspend);
diff --git a/include/drm/drm_fb_cma_helper.h b/include/drm/drm_fb_cma_helper.h
index fd0dde9..f313211 100644
--- a/include/drm/drm_fb_cma_helper.h
+++ b/include/drm/drm_fb_cma_helper.h
@@ -23,6 +23,7 @@ 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);
int drm_fbdev_cma_create_with_funcs(struct drm_fb_helper *helper,
struct drm_fb_helper_surface_size *sizes,
const struct drm_framebuffer_funcs *funcs);
--
2.8.2
Powered by blists - more mailing lists