summaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorNoralf Trønnes <noralf@tronnes.org>2017-11-06 20:18:08 +0100
committerNoralf Trønnes <noralf@tronnes.org>2017-11-30 18:18:08 +0100
commitca038cfb5cfa8d48b427b916efe97e711f5a18c7 (patch)
treea87d729c077cdfc1c8b426266ea43091616726f4 /include/drm
parentb66d0f348624101203dbec22e45c74e1c895b881 (diff)
downloadlinux-0-day-ca038cfb5cfa8d48b427b916efe97e711f5a18c7.tar.gz
linux-0-day-ca038cfb5cfa8d48b427b916efe97e711f5a18c7.tar.xz
drm/modeset-helper: Add simple modeset suspend/resume helpers
Add drm_mode_config_helper_suspend/resume() which takes care of atomic modeset suspend/resume for simple use cases. The suspend state is stored in struct drm_mode_config. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20171106191812.38927-3-noralf@tronnes.org
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_mode_config.h9
-rw-r--r--include/drm/drm_modeset_helper.h3
2 files changed, 12 insertions, 0 deletions
diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
index cf73c5eaab980..eb3b8dba3e2c7 100644
--- a/include/drm/drm_mode_config.h
+++ b/include/drm/drm_mode_config.h
@@ -753,6 +753,15 @@ struct drm_mode_config {
/* cursor size */
uint32_t cursor_width, cursor_height;
+ /**
+ * @suspend_state:
+ *
+ * Atomic state when suspended.
+ * Set by drm_mode_config_helper_suspend() and cleared by
+ * drm_mode_config_helper_resume().
+ */
+ struct drm_atomic_state *suspend_state;
+
const struct drm_mode_config_helper_funcs *helper_private;
};
diff --git a/include/drm/drm_modeset_helper.h b/include/drm/drm_modeset_helper.h
index cb0ec92e11e60..efa337f031299 100644
--- a/include/drm/drm_modeset_helper.h
+++ b/include/drm/drm_modeset_helper.h
@@ -34,4 +34,7 @@ void drm_helper_mode_fill_fb_struct(struct drm_device *dev,
int drm_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
const struct drm_crtc_funcs *funcs);
+int drm_mode_config_helper_suspend(struct drm_device *dev);
+int drm_mode_config_helper_resume(struct drm_device *dev);
+
#endif