Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nouveau_display.h
Go to the documentation of this file.
1 #ifndef __NOUVEAU_DISPLAY_H__
2 #define __NOUVEAU_DISPLAY_H__
3 
4 #include <subdev/vm.h>
5 
6 #include "nouveau_drm.h"
7 
10  struct nouveau_bo *nvbo;
11  struct nouveau_vma vma;
15 };
16 
17 static inline struct nouveau_framebuffer *
19 {
20  return container_of(fb, struct nouveau_framebuffer, base);
21 }
22 
24  struct drm_mode_fb_cmd2 *, struct nouveau_bo *);
25 
27  struct list_head head;
28  struct drm_pending_vblank_event *event;
29  int crtc, bpp, pitch, x, y;
31 };
32 
34  void *priv;
35  void (*dtor)(struct drm_device *);
36  int (*init)(struct drm_device *);
37  void (*fini)(struct drm_device *);
38 
44  /* not really hue and saturation: */
47 };
48 
49 static inline struct nouveau_display *
51 {
52  return nouveau_drm(dev)->display;
53 }
54 
58 void nouveau_display_fini(struct drm_device *dev);
61 
62 int nouveau_vblank_enable(struct drm_device *dev, int crtc);
63 void nouveau_vblank_disable(struct drm_device *dev, int crtc);
64 
66  struct drm_pending_vblank_event *event);
68  struct nouveau_page_flip_state *);
69 
70 int nouveau_display_dumb_create(struct drm_file *, struct drm_device *,
71  struct drm_mode_create_dumb *args);
72 int nouveau_display_dumb_map_offset(struct drm_file *, struct drm_device *,
73  u32 handle, u64 *offset);
74 int nouveau_display_dumb_destroy(struct drm_file *, struct drm_device *,
75  u32 handle);
76 
77 void nouveau_hdmi_mode_set(struct drm_encoder *, struct drm_display_mode *);
78 
79 #ifdef CONFIG_DRM_NOUVEAU_BACKLIGHT
80 extern int nouveau_backlight_init(struct drm_device *);
81 extern void nouveau_backlight_exit(struct drm_device *);
82 #else
83 static inline int
85 {
86  return 0;
87 }
88 
89 static inline void
91 }
92 #endif
93 
94 #endif