diff options
author | Thierry Reding <treding@nvidia.com> | 2015-08-11 13:11:49 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2015-12-14 10:50:39 +0100 |
commit | 986c58d1625df222c6148c1dc72e59fbf96ef75e (patch) | |
tree | 28de546e7a1aee38e62c2ddfc8b7b827c23358bb /drivers/gpu/drm/tegra/drm.h | |
parent | 01b9bea0c2616e92334cfa3e052862527bf25d36 (diff) | |
download | op-kernel-dev-986c58d1625df222c6148c1dc72e59fbf96ef75e.zip op-kernel-dev-986c58d1625df222c6148c1dc72e59fbf96ef75e.tar.gz |
drm/tegra: Implement subsystem-level suspend/resume
Use the drm_atomic_helper_suspend() and drm_atomic_helper_resume()
helpers to implement subsystem-level suspend/resume.
v2: suspend framebuffer device to avoid concurrency issues
v3: resume fbdev on failure to suspend (Emil Velikov)
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/drm/tegra/drm.h')
-rw-r--r-- | drivers/gpu/drm/tegra/drm.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h index 5bf696c..c088f2f 100644 --- a/drivers/gpu/drm/tegra/drm.h +++ b/drivers/gpu/drm/tegra/drm.h @@ -57,6 +57,8 @@ struct tegra_drm { struct work_struct work; struct mutex lock; } commit; + + struct drm_atomic_state *state; }; struct tegra_drm_client; @@ -272,6 +274,8 @@ int tegra_drm_fb_prepare(struct drm_device *drm); void tegra_drm_fb_free(struct drm_device *drm); int tegra_drm_fb_init(struct drm_device *drm); void tegra_drm_fb_exit(struct drm_device *drm); +void tegra_drm_fb_suspend(struct drm_device *drm); +void tegra_drm_fb_resume(struct drm_device *drm); #ifdef CONFIG_DRM_FBDEV_EMULATION void tegra_fbdev_restore_mode(struct tegra_fbdev *fbdev); void tegra_fb_output_poll_changed(struct drm_device *drm); |