Blame view
include/drm/drm_fb_helper.h
4.11 KB
785b93ef8 drm/kms: move dri... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/* * Copyright (c) 2006-2009 Red Hat Inc. * Copyright (c) 2006-2008 Intel Corporation * Copyright (c) 2007 Dave Airlie <airlied@linux.ie> * * DRM framebuffer helper functions * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that copyright * notice and this permission notice appear in supporting documentation, and * that the name of the copyright holders not be used in advertising or * publicity pertaining to distribution of the software without specific, * written prior permission. The copyright holders make no representations * about the suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * * Authors: * Dave Airlie <airlied@linux.ie> * Jesse Barnes <jesse.barnes@intel.com> */ #ifndef DRM_FB_HELPER_H #define DRM_FB_HELPER_H |
4abe35204 drm/kms/fb: use s... |
32 |
struct drm_fb_helper; |
1a7aba7f4 drm: add KGDB/KDB... |
33 |
#include <linux/kgdb.h> |
785b93ef8 drm/kms: move dri... |
34 35 36 |
struct drm_fb_helper_crtc { uint32_t crtc_id; struct drm_mode_set mode_set; |
8be48d924 drm/kms/fb: move ... |
37 |
struct drm_display_mode *desired_mode; |
785b93ef8 drm/kms: move dri... |
38 |
}; |
386516744 drm/fb: fix fbdev... |
39 40 41 42 43 44 45 46 |
struct drm_fb_helper_surface_size { u32 fb_width; u32 fb_height; u32 surface_width; u32 surface_height; u32 surface_bpp; u32 surface_depth; }; |
4abe35204 drm/kms/fb: use s... |
47 48 49 50 51 52 53 54 |
struct drm_fb_helper_funcs { void (*gamma_set)(struct drm_crtc *crtc, u16 red, u16 green, u16 blue, int regno); void (*gamma_get)(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, int regno); int (*fb_probe)(struct drm_fb_helper *helper, struct drm_fb_helper_surface_size *sizes); |
4abe35204 drm/kms/fb: use s... |
55 |
}; |
d50ba256b drm/kms: start ad... |
56 |
struct drm_fb_helper_connector { |
0b4c0f3f0 drm/kms/fb: separ... |
57 |
struct drm_connector *connector; |
1794d257f drm: Export the c... |
58 |
struct drm_cmdline_mode cmdline_mode; |
d50ba256b drm/kms: start ad... |
59 |
}; |
785b93ef8 drm/kms: move dri... |
60 61 |
struct drm_fb_helper { struct drm_framebuffer *fb; |
1a7aba7f4 drm: add KGDB/KDB... |
62 |
struct drm_framebuffer *saved_fb; |
785b93ef8 drm/kms: move dri... |
63 64 65 66 |
struct drm_device *dev; struct drm_display_mode *mode; int crtc_count; struct drm_fb_helper_crtc *crtc_info; |
0b4c0f3f0 drm/kms/fb: separ... |
67 68 |
int connector_count; struct drm_fb_helper_connector **connector_info; |
785b93ef8 drm/kms: move dri... |
69 70 |
struct drm_fb_helper_funcs *funcs; int conn_limit; |
386516744 drm/fb: fix fbdev... |
71 72 |
struct fb_info *fbdev; u32 pseudo_palette[17]; |
785b93ef8 drm/kms: move dri... |
73 |
struct list_head kernel_fb_list; |
8be48d924 drm/kms/fb: move ... |
74 |
|
4abe35204 drm/kms/fb: use s... |
75 76 77 |
/* we got a hotplug but fbdev wasn't running the console delay until next set_par */ bool delayed_hotplug; |
785b93ef8 drm/kms: move dri... |
78 |
}; |
8be48d924 drm/kms/fb: move ... |
79 80 |
int drm_fb_helper_single_fb_probe(struct drm_fb_helper *helper, int preferred_bpp); |
4abe35204 drm/kms/fb: use s... |
81 82 |
int drm_fb_helper_init(struct drm_device *dev, struct drm_fb_helper *helper, int crtc_count, |
eb1f8e4f3 drm/fbdev: rework... |
83 |
int max_conn); |
4abe35204 drm/kms/fb: use s... |
84 |
void drm_fb_helper_fini(struct drm_fb_helper *helper); |
785b93ef8 drm/kms: move dri... |
85 86 87 88 89 90 91 92 93 94 95 96 |
int drm_fb_helper_blank(int blank, struct fb_info *info); int drm_fb_helper_pan_display(struct fb_var_screeninfo *var, struct fb_info *info); int drm_fb_helper_set_par(struct fb_info *info); int drm_fb_helper_check_var(struct fb_var_screeninfo *var, struct fb_info *info); int drm_fb_helper_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *info); |
e8e7a2b8c drm/i915: restore... |
97 |
bool drm_fb_helper_restore_fbdev_mode(struct drm_fb_helper *fb_helper); |
785b93ef8 drm/kms: move dri... |
98 |
void drm_fb_helper_restore(void); |
386516744 drm/fb: fix fbdev... |
99 |
void drm_fb_helper_fill_var(struct fb_info *info, struct drm_fb_helper *fb_helper, |
785b93ef8 drm/kms: move dri... |
100 |
uint32_t fb_width, uint32_t fb_height); |
3632ef890 Revert "drm: Upda... |
101 102 |
void drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch, uint32_t depth); |
068143d38 drm/fb: add setcm... |
103 |
int drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info); |
d50ba256b drm/kms: start ad... |
104 |
|
7394371d8 drm: Take lock ar... |
105 |
int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper); |
4abe35204 drm/kms/fb: use s... |
106 |
bool drm_fb_helper_initial_config(struct drm_fb_helper *fb_helper, int bpp_sel); |
0b4c0f3f0 drm/kms/fb: separ... |
107 |
int drm_fb_helper_single_add_all_connectors(struct drm_fb_helper *fb_helper); |
1a7aba7f4 drm: add KGDB/KDB... |
108 109 |
int drm_fb_helper_debug_enter(struct fb_info *info); int drm_fb_helper_debug_leave(struct fb_info *info); |
8be48d924 drm/kms/fb: move ... |
110 |
|
785b93ef8 drm/kms: move dri... |
111 |
#endif |