@ -26,13 +26,13 @@ struct fb_fix_screeninfo {
__u32 type ; /* see FB_TYPE_* */
__u32 type_aux ; /* Interleave for interleaved Planes */
__u32 visual ; /* see FB_VISUAL_* */
__u16 xpanstep ; /* zero if no hardware panning */
__u16 ypanstep ; /* zero if no hardware panning */
__u16 ywrapstep ; /* zero if no hardware ywrap */
__u32 line_length ; /* length of a line in bytes */
unsigned long mmio_start ; /* Start of Memory Mapped I/O */
__u16 xpanstep ; /* zero if no hardware panning */
__u16 ypanstep ; /* zero if no hardware panning */
__u16 ywrapstep ; /* zero if no hardware ywrap */
__u32 line_length ; /* length of a line in bytes */
unsigned long mmio_start ; /* Start of Memory Mapped I/O */
/* (physical address) */
__u32 mmio_len ; /* Length of Memory Mapped I/O */
__u32 mmio_len ; /* Length of Memory Mapped I/O */
__u32 accel ; /* Indicate to driver which */
/* specific chip/card we have */
__u16 reserved [ 3 ] ; /* Reserved for future compatibility */
@ -56,7 +56,7 @@ struct fb_bitfield {
} ;
# define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */
# define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */
# define FB_NONSTD_REV_PIX_IN_B 2 /* order of pixels in each byte is reversed */
# define FB_ACTIVATE_NOW 0 /* set values immediately (or vbl)*/
@ -64,38 +64,38 @@ struct fb_bitfield {
# define FB_ACTIVATE_TEST 2 /* don't set, round up impossible */
# define FB_ACTIVATE_MASK 15
/* values */
# define FB_ACTIVATE_VBL 16 /* activate values on next vbl */
# define FB_ACTIVATE_VBL 16 /* activate values on next vbl */
# define FB_CHANGE_CMAP_VBL 32 /* change colormap on vbl */
# define FB_ACTIVATE_ALL 64 /* change all VCs on this fb */
# define FB_ACTIVATE_FORCE 128 /* force apply even when no change*/
# define FB_ACTIVATE_INV_MODE 256 /* invalidate videomode */
# define FB_ACTIVATE_INV_MODE 256 /* invalidate videomode */
# define FB_SYNC_HOR_HIGH_ACT 1 /* horizontal sync high active */
# define FB_SYNC_VERT_HIGH_ACT 2 /* vertical sync high active */
# define FB_SYNC_EXT 4 /* external sync */
# define FB_SYNC_COMP_HIGH_ACT 8 /* composite sync high active */
# define FB_SYNC_BROADCAST 16 /* broadcast video timings */
# define FB_SYNC_COMP_HIGH_ACT 8 /* composite sync high active */
# define FB_SYNC_BROADCAST 16 /* broadcast video timings */
/* vtotal = 144d/288n/576i => PAL */
/* vtotal = 121d/242n/484i => NTSC */
# define FB_SYNC_ON_GREEN 32 /* sync on green */
# define FB_VMODE_NONINTERLACED 0 /* non interlaced */
# define FB_VMODE_NONINTERLACED 0 /* non interlaced */
# define FB_VMODE_INTERLACED 1 /* interlaced */
# define FB_VMODE_DOUBLE 2 /* double scan */
# define FB_VMODE_ODD_FLD_FIRST 4 /* interlaced: top line first */
# define FB_VMODE_MASK 255
# define FB_VMODE_YWRAP 256 /* ywrap instead of panning */
# define FB_VMODE_YWRAP 256 /* ywrap instead of panning */
# define FB_VMODE_SMOOTH_XPAN 512 /* smooth xpan possible (internally used) */
# define FB_VMODE_CONUPDATE 512 /* don't update x/yoffset */
/*
* Display rotation support
*/
# define FB_ROTATE_UR 0
# define FB_ROTATE_CW 1
# define FB_ROTATE_UD 2
# define FB_ROTATE_CCW 3
# define FB_ROTATE_UR 0
# define FB_ROTATE_CW 1
# define FB_ROTATE_UD 2
# define FB_ROTATE_CCW 3
# define PICOS2KHZ(a) (1000000000UL / (a))
# define KHZ2PICOS(a) (1000000000UL / (a))
@ -154,10 +154,10 @@ struct fb_con2fbmap {
} ;
/* VESA Blanking Levels */
# define VESA_NO_BLANKING 0
# define VESA_VSYNC_SUSPEND 1
# define VESA_HSYNC_SUSPEND 2
# define VESA_POWERDOWN 3
# define VESA_NO_BLANKING 0
# define VESA_VSYNC_SUSPEND 1
# define VESA_HSYNC_SUSPEND 2
# define VESA_POWERDOWN 3
enum {
@ -234,12 +234,12 @@ struct fb_image {
*/
# define FB_CUR_SETIMAGE 0x01
# define FB_CUR_SETPOS 0x02
# define FB_CUR_SETHOT 0x04
# define FB_CUR_SETCMAP 0x08
# define FB_CUR_SETPOS 0x02
# define FB_CUR_SETHOT 0x04
# define FB_CUR_SETCMAP 0x08
# define FB_CUR_SETSHAPE 0x10
# define FB_CUR_SETSIZE 0x20
# define FB_CUR_SETALL 0xFF
# define FB_CUR_SETALL 0xFF
struct fbcurpos {
__u16 x , y ;
@ -377,29 +377,29 @@ struct fb_cursor_user {
* if you own it
*/
# define FB_EVENT_RESUME 0x03
/* An entry from the modelist was removed */
# define FB_EVENT_MODE_DELETE 0x04
/* A driver registered itself */
# define FB_EVENT_FB_REGISTERED 0x05
/* A driver unregistered itself */
# define FB_EVENT_FB_UNREGISTERED 0x06
/* CONSOLE-SPECIFIC: get console to framebuffer mapping */
# define FB_EVENT_GET_CONSOLE_MAP 0x07
/* CONSOLE-SPECIFIC: set console to framebuffer mapping */
# define FB_EVENT_SET_CONSOLE_MAP 0x08
/* A hardware display blank change occured */
# define FB_EVENT_BLANK 0x09
/* Private modelist is to be replaced */
# define FB_EVENT_NEW_MODELIST 0x0A
/* An entry from the modelist was removed */
# define FB_EVENT_MODE_DELETE 0x04
/* A driver registered itself */
# define FB_EVENT_FB_REGISTERED 0x05
/* A driver unregistered itself */
# define FB_EVENT_FB_UNREGISTERED 0x06
/* CONSOLE-SPECIFIC: get console to framebuffer mapping */
# define FB_EVENT_GET_CONSOLE_MAP 0x07
/* CONSOLE-SPECIFIC: set console to framebuffer mapping */
# define FB_EVENT_SET_CONSOLE_MAP 0x08
/* A hardware display blank change occured */
# define FB_EVENT_BLANK 0x09
/* Private modelist is to be replaced */
# define FB_EVENT_NEW_MODELIST 0x0A
/* The resolution of the passed in fb_info about to change and
all vc ' s should be changed */
all vc ' s should be changed */
# define FB_EVENT_MODE_CHANGE_ALL 0x0B
/* A software display blank change occured */
# define FB_EVENT_CONBLANK 0x0C
/* Get drawing requirements */
# define FB_EVENT_GET_REQ 0x0D
/* Unbind from the console if possible */
# define FB_EVENT_FB_UNBIND 0x0E
# define FB_EVENT_CONBLANK 0x0C
/* Get drawing requirements */
# define FB_EVENT_GET_REQ 0x0D
/* Unbind from the console if possible */
# define FB_EVENT_FB_UNBIND 0x0E
struct fb_event {
struct fb_info * info ;
@ -421,10 +421,10 @@ struct fb_blit_caps {
* format the hardware needs .
*/
# define FB_PIXMAP_DEFAULT 1 /* used internally by fbcon */
# define FB_PIXMAP_SYSTEM 2 /* memory is in system RAM */
# define FB_PIXMAP_IO 4 /* memory is iomapped */
# define FB_PIXMAP_SYNC 256 /* set if GPU can DMA */
# define FB_PIXMAP_DEFAULT 1 /* used internally by fbcon */
# define FB_PIXMAP_SYSTEM 2 /* memory is in system RAM */
# define FB_PIXMAP_IO 4 /* memory is iomapped */
# define FB_PIXMAP_SYNC 256 /* set if GPU can DMA */
struct fb_pixmap {
u8 * addr ; /* pointer to memory */
@ -434,10 +434,10 @@ struct fb_pixmap {
u32 scan_align ; /* alignment per scanline */
u32 access_align ; /* alignment per read/write (bits) */
u32 flags ; /* see FB_PIXMAP_* */
u32 blit_x ; /* supported bit block dimensions (1-32)*/
u32 blit_y ; /* Format: blit_x = 1 << (width - 1) */
/* blit_y = 1 << (height - 1) */
/* if 0, will be set to 0xffffffff (all)*/
u32 blit_x ; /* supported bit block dimensions (1-32)*/
u32 blit_y ; /* Format: blit_x = 1 << (width - 1) */
/* blit_y = 1 << (height - 1) */
/* if 0, will be set to 0xffffffff (all)*/
/* access methods */
void ( * writeio ) ( struct fb_info * info , void * dst , void * src , unsigned int size ) ;
void ( * readio ) ( struct fb_info * info , void * dst , void * src , unsigned int size ) ;
@ -488,7 +488,7 @@ struct fb_deferred_io {
* meaning , it is set by the fb subsystem depending FOREIGN_ENDIAN flag
* and host endianness . Drivers should not use this flag .
*/
# define FBINFO_BE_MATH 0x100000
# define FBINFO_BE_MATH 0x100000
struct fb_info {
int node ;
@ -499,7 +499,7 @@ struct fb_info {
struct fb_pixmap pixmap ; /* Image hardware mapper */
struct fb_pixmap sprite ; /* Cursor hardware mapper */
struct fb_cmap cmap ; /* Current cmap */
struct list_head modelist ; /* mode list */
struct list_head modelist ; /* mode list */
struct fb_videomode * mode ; /* current mode */
char * screen_base ; /* Virtual address */
@ -508,7 +508,7 @@ struct fb_info {
# define FBINFO_STATE_RUNNING 0
# define FBINFO_STATE_SUSPENDED 1
u32 state ; /* Hardware state i.e suspend */
void * fbcon_par ; /* fbcon use-only private area */
void * fbcon_par ; /* fbcon use-only private area */
/* From here on everything is device dependent */
void * par ;
} ;
@ -518,14 +518,14 @@ struct fb_info {
# define FBINFO_FLAG_MODULE FBINFO_MODULE
# define FBINFO_FLAG_DEFAULT FBINFO_DEFAULT
// This will go away
/* This will go away */
# if defined(__sparc__)
/* We map all of our framebuffers such that big-endian accesses
* are what we want , so the following is sufficient .
*/
// This will go away
/* This will go away */
# define fb_readb sbus_readb
# define fb_readw sbus_readw
# define fb_readl sbus_readl
@ -562,7 +562,7 @@ struct fb_info {
# endif
# define FB_LEFT_POS(p, bpp) (fb_be_math(p) ? (32 - (bpp)) : 0)
# define FB_LEFT_POS(p, bpp) (fb_be_math(p) ? (32 - (bpp)) : 0)
# define FB_SHIFT_HIGH(p, val, bits) (fb_be_math(p) ? (val) >> (bits) : \
( val ) < < ( bits ) )
# define FB_SHIFT_LOW(p, val, bits) (fb_be_math(p) ? (val) << (bits) : \
@ -580,7 +580,7 @@ struct fb_info {
# define FB_MODE_IS_VESA 4
# define FB_MODE_IS_CALCULATED 8
# define FB_MODE_IS_FIRST 16
# define FB_MODE_IS_FROM_VAR 32
# define FB_MODE_IS_FROM_VAR 32
/* drivers/video/fbcmap.c */