]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/gpu/drm/nouveau/nouveau_display.h
drm/nouveau/kms/nv50: transition to atomic interfaces internally
[mirror_ubuntu-artful-kernel.git] / drivers / gpu / drm / nouveau / nouveau_display.h
index 0420ee861ea4a5d2f70f631867640182104bacd5..ecdc0a3a8d328fbdd687f2a5ed58bc6186a2b97b 100644 (file)
@@ -22,8 +22,9 @@ nouveau_framebuffer(struct drm_framebuffer *fb)
        return container_of(fb, struct nouveau_framebuffer, base);
 }
 
-int nouveau_framebuffer_init(struct drm_device *, struct nouveau_framebuffer *,
-                            const struct drm_mode_fb_cmd2 *, struct nouveau_bo *);
+int nouveau_framebuffer_new(struct drm_device *,
+                           const struct drm_mode_fb_cmd2 *,
+                           struct nouveau_bo *, struct nouveau_framebuffer **);
 
 struct nouveau_page_flip_state {
        struct list_head head;
@@ -52,6 +53,8 @@ struct nouveau_display {
        /* not really hue and saturation: */
        struct drm_property *vibrant_hue_property;
        struct drm_property *color_vibrance_property;
+
+       struct drm_atomic_state *suspend;
 };
 
 static inline struct nouveau_display *
@@ -63,7 +66,7 @@ nouveau_display(struct drm_device *dev)
 int  nouveau_display_create(struct drm_device *dev);
 void nouveau_display_destroy(struct drm_device *dev);
 int  nouveau_display_init(struct drm_device *dev);
-void nouveau_display_fini(struct drm_device *dev);
+void nouveau_display_fini(struct drm_device *dev, bool suspend);
 int  nouveau_display_suspend(struct drm_device *dev, bool runtime);
 void nouveau_display_resume(struct drm_device *dev, bool runtime);
 int  nouveau_display_vblank_enable(struct drm_device *, unsigned int);
@@ -103,4 +106,7 @@ nouveau_backlight_exit(struct drm_device *dev) {
 }
 #endif
 
+struct drm_framebuffer *
+nouveau_user_framebuffer_create(struct drm_device *, struct drm_file *,
+                               const struct drm_mode_fb_cmd2 *);
 #endif