aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm/drm_fb_helper.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/drm/drm_fb_helper.h')
-rw-r--r--include/drm/drm_fb_helper.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h
index 58c892a2cbfa..38ab0daffd1f 100644
--- a/include/drm/drm_fb_helper.h
+++ b/include/drm/drm_fb_helper.h
@@ -57,6 +57,15 @@ struct drm_fb_helper_cmdline_mode {
57 bool margins; 57 bool margins;
58}; 58};
59 59
60struct drm_fb_helper_surface_size {
61 u32 fb_width;
62 u32 fb_height;
63 u32 surface_width;
64 u32 surface_height;
65 u32 surface_bpp;
66 u32 surface_depth;
67};
68
60struct drm_fb_helper_connector { 69struct drm_fb_helper_connector {
61 struct drm_fb_helper_cmdline_mode cmdline_mode; 70 struct drm_fb_helper_cmdline_mode cmdline_mode;
62}; 71};
@@ -69,19 +78,16 @@ struct drm_fb_helper {
69 struct drm_fb_helper_crtc *crtc_info; 78 struct drm_fb_helper_crtc *crtc_info;
70 struct drm_fb_helper_funcs *funcs; 79 struct drm_fb_helper_funcs *funcs;
71 int conn_limit; 80 int conn_limit;
81 struct fb_info *fbdev;
82 u32 pseudo_palette[17];
72 struct list_head kernel_fb_list; 83 struct list_head kernel_fb_list;
73}; 84};
74 85
75int drm_fb_helper_single_fb_probe(struct drm_device *dev, 86int drm_fb_helper_single_fb_probe(struct drm_device *dev,
76 int preferred_bpp, 87 int preferred_bpp,
77 int (*fb_create)(struct drm_device *dev, 88 int (*fb_create)(struct drm_device *dev,
78 uint32_t fb_width, 89 struct drm_fb_helper_surface_size *sizes,
79 uint32_t fb_height, 90 struct drm_fb_helper **fb_ptr));
80 uint32_t surface_width,
81 uint32_t surface_height,
82 uint32_t surface_depth,
83 uint32_t surface_bpp,
84 struct drm_framebuffer **fb_ptr));
85int drm_fb_helper_init_crtc_count(struct drm_fb_helper *helper, int crtc_count, 91int drm_fb_helper_init_crtc_count(struct drm_fb_helper *helper, int crtc_count,
86 int max_conn); 92 int max_conn);
87void drm_fb_helper_free(struct drm_fb_helper *helper); 93void drm_fb_helper_free(struct drm_fb_helper *helper);
@@ -99,7 +105,7 @@ int drm_fb_helper_setcolreg(unsigned regno,
99 struct fb_info *info); 105 struct fb_info *info);
100 106
101void drm_fb_helper_restore(void); 107void drm_fb_helper_restore(void);
102void drm_fb_helper_fill_var(struct fb_info *info, struct drm_framebuffer *fb, 108void drm_fb_helper_fill_var(struct fb_info *info, struct drm_fb_helper *fb_helper,
103 uint32_t fb_width, uint32_t fb_height); 109 uint32_t fb_width, uint32_t fb_height);
104void drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch, 110void drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch,
105 uint32_t depth); 111 uint32_t depth);
@@ -108,4 +114,6 @@ int drm_fb_helper_add_connector(struct drm_connector *connector);
108int drm_fb_helper_parse_command_line(struct drm_device *dev); 114int drm_fb_helper_parse_command_line(struct drm_device *dev);
109int drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info); 115int drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info);
110 116
117bool drm_helper_fb_hotplug_event(struct drm_device *dev);
118bool drm_helper_initial_config(struct drm_device *dev);
111#endif 119#endif