diff options
Diffstat (limited to 'include/linux/fb.h')
| -rw-r--r-- | include/linux/fb.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h index bc24beeed971..82e39cd0c4fb 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
| @@ -107,6 +107,8 @@ | |||
| 107 | #define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ | 107 | #define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ |
| 108 | #define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ | 108 | #define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ |
| 109 | #define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ | 109 | #define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ |
| 110 | #define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */ | ||
| 111 | #define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */ | ||
| 110 | #define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ | 112 | #define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ |
| 111 | #define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ | 113 | #define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ |
| 112 | #define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ | 114 | #define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ |
| @@ -495,6 +497,9 @@ struct fb_cursor_user { | |||
| 495 | #define FB_EVENT_BLANK 0x08 | 497 | #define FB_EVENT_BLANK 0x08 |
| 496 | /* Private modelist is to be replaced */ | 498 | /* Private modelist is to be replaced */ |
| 497 | #define FB_EVENT_NEW_MODELIST 0x09 | 499 | #define FB_EVENT_NEW_MODELIST 0x09 |
| 500 | /* The resolution of the passed in fb_info about to change and | ||
| 501 | all vc's should be changed */ | ||
| 502 | #define FB_EVENT_MODE_CHANGE_ALL 0x0A | ||
| 498 | 503 | ||
| 499 | struct fb_event { | 504 | struct fb_event { |
| 500 | struct fb_info *info; | 505 | struct fb_info *info; |
| @@ -820,13 +825,29 @@ extern void fb_pad_unaligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 idx, | |||
| 820 | u32 height, u32 shift_high, u32 shift_low, u32 mod); | 825 | u32 height, u32 shift_high, u32 shift_low, u32 mod); |
| 821 | extern void fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch, u32 height); | 826 | extern void fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch, u32 height); |
| 822 | extern void fb_set_suspend(struct fb_info *info, int state); | 827 | extern void fb_set_suspend(struct fb_info *info, int state); |
| 823 | extern int fb_get_color_depth(struct fb_var_screeninfo *var); | 828 | extern int fb_get_color_depth(struct fb_var_screeninfo *var, |
| 829 | struct fb_fix_screeninfo *fix); | ||
| 824 | extern int fb_get_options(char *name, char **option); | 830 | extern int fb_get_options(char *name, char **option); |
| 825 | extern int fb_new_modelist(struct fb_info *info); | 831 | extern int fb_new_modelist(struct fb_info *info); |
| 826 | 832 | ||
| 827 | extern struct fb_info *registered_fb[FB_MAX]; | 833 | extern struct fb_info *registered_fb[FB_MAX]; |
| 828 | extern int num_registered_fb; | 834 | extern int num_registered_fb; |
| 829 | 835 | ||
| 836 | static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, | ||
| 837 | u8 *src, u32 s_pitch, u32 height) | ||
| 838 | { | ||
| 839 | int i, j; | ||
| 840 | |||
| 841 | d_pitch -= s_pitch; | ||
| 842 | |||
| 843 | for (i = height; i--; ) { | ||
| 844 | /* s_pitch is a few bytes at the most, memcpy is suboptimal */ | ||
| 845 | for (j = 0; j < s_pitch; j++) | ||
| 846 | *dst++ = *src++; | ||
| 847 | dst += d_pitch; | ||
| 848 | } | ||
| 849 | } | ||
| 850 | |||
| 830 | /* drivers/video/fbsysfs.c */ | 851 | /* drivers/video/fbsysfs.c */ |
| 831 | extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev); | 852 | extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev); |
| 832 | extern void framebuffer_release(struct fb_info *info); | 853 | extern void framebuffer_release(struct fb_info *info); |
| @@ -856,8 +877,11 @@ extern int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var, | |||
| 856 | extern int fb_validate_mode(const struct fb_var_screeninfo *var, | 877 | extern int fb_validate_mode(const struct fb_var_screeninfo *var, |
| 857 | struct fb_info *info); | 878 | struct fb_info *info); |
| 858 | extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var); | 879 | extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var); |
| 859 | extern void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs); | 880 | extern const unsigned char *fb_firmware_edid(struct device *device); |
| 881 | extern void fb_edid_to_monspecs(unsigned char *edid, | ||
| 882 | struct fb_monspecs *specs); | ||
| 860 | extern void fb_destroy_modedb(struct fb_videomode *modedb); | 883 | extern void fb_destroy_modedb(struct fb_videomode *modedb); |
| 884 | extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb); | ||
| 861 | 885 | ||
| 862 | /* drivers/video/modedb.c */ | 886 | /* drivers/video/modedb.c */ |
| 863 | #define VESA_MODEDB_SIZE 34 | 887 | #define VESA_MODEDB_SIZE 34 |
