URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [video/] [sbusfb.h] - Rev 1774
Go to most recent revision | Compare with Previous | Blame | View Log
#include <linux/timer.h> #include <asm/sbus.h> #include <asm/oplib.h> #include <asm/fbio.h> #include <video/fbcon.h> struct bt_regs { volatile unsigned int addr; /* address register */ volatile unsigned int color_map; /* color map */ volatile unsigned int control; /* control register */ volatile unsigned int cursor; /* cursor map register */ }; struct fb_info_creator { struct ffb_fbc *fbc; struct ffb_dac *dac; int xy_margin; int fifo_cache; u64 yx_margin; int fg_cache; int bg_cache; int dac_rev; }; struct fb_info_cgsix { struct bt_regs *bt; struct cg6_fbc *fbc; struct cg6_thc *thc; struct cg6_tec *tec; volatile u32 *fhc; }; struct fb_info_bwtwo { struct bw2_regs *regs; }; struct fb_info_cgthree { struct cg3_regs *regs; }; struct fb_info_tcx { struct bt_regs *bt; struct tcx_thc *thc; struct tcx_tec *tec; u32 *cplane; }; struct fb_info_leo { struct leo_lx_krn *lx_krn; struct leo_lc_ss0_usr *lc_ss0_usr; struct leo_ld_ss0 *ld_ss0; struct leo_ld_ss1 *ld_ss1; struct leo_cursor *cursor; unsigned int extent; }; struct fb_info_cgfourteen { struct cg14_regs *regs; struct cg14_cursor *cursor; struct cg14_clut *clut; int ramsize; int mode; }; struct fb_info_p9100 { struct p9100_ctrl *ctrl; volatile u32 *fbmem; }; struct cg_cursor { char enable; /* cursor is enabled */ char mode; /* cursor mode */ struct fbcurpos cpos; /* position */ struct fbcurpos chot; /* hot-spot */ struct fbcurpos size; /* size of mask & image fields */ struct fbcurpos hwsize; /* hw max size */ int bits[2][128]; /* space for mask & image bits */ char color [6]; /* cursor colors */ struct timer_list timer; /* cursor timer */ int blink_rate; /* cursor blink rate */ }; struct sbus_mmap_map { unsigned long voff; unsigned long poff; unsigned long size; }; #define SBUS_MMAP_FBSIZE(n) (-n) #define SBUS_MMAP_EMPTY 0x80000000 struct fb_info_sbusfb { struct fb_info info; struct fb_fix_screeninfo fix; struct fb_var_screeninfo var; struct display disp; struct display_switch dispsw; struct fbtype type; struct sbus_dev *sbdp; spinlock_t lock; int prom_node, prom_parent; union { struct fb_info_creator ffb; struct fb_info_cgsix cg6; struct fb_info_bwtwo bw2; struct fb_info_cgthree cg3; struct fb_info_tcx tcx; struct fb_info_leo leo; struct fb_info_cgfourteen cg14; struct fb_info_p9100 p9100; } s; unsigned char *color_map; struct cg_cursor cursor; unsigned char open; unsigned char mmaped; unsigned char blanked; int x_margin; int y_margin; int vtconsole; int consolecnt; int graphmode; int emulations[4]; struct sbus_mmap_map *mmap_map; unsigned long physbase; int iospace; /* Methods */ void (*setup)(struct display *); void (*setcursor)(struct fb_info_sbusfb *); void (*setcurshape)(struct fb_info_sbusfb *); void (*setcursormap)(struct fb_info_sbusfb *, unsigned char *, unsigned char *, unsigned char *); void (*loadcmap)(struct fb_info_sbusfb *, struct display *, int, int); void (*blank)(struct fb_info_sbusfb *); void (*unblank)(struct fb_info_sbusfb *); void (*margins)(struct fb_info_sbusfb *, struct display *, int, int); void (*reset)(struct fb_info_sbusfb *); void (*fill)(struct fb_info_sbusfb *, struct display *, int, int, unsigned short *); void (*switch_from_graph)(struct fb_info_sbusfb *); void (*restore_palette)(struct fb_info_sbusfb *); int (*ioctl)(struct fb_info_sbusfb *, unsigned int, unsigned long); }; extern char *creatorfb_init(struct fb_info_sbusfb *); extern char *cgsixfb_init(struct fb_info_sbusfb *); extern char *cgthreefb_init(struct fb_info_sbusfb *); extern char *tcxfb_init(struct fb_info_sbusfb *); extern char *leofb_init(struct fb_info_sbusfb *); extern char *bwtwofb_init(struct fb_info_sbusfb *); extern char *cgfourteenfb_init(struct fb_info_sbusfb *); extern char *p9100fb_init(struct fb_info_sbusfb *); #define sbusfbinfod(disp) ((struct fb_info_sbusfb *)(disp->fb_info)) #define sbusfbinfo(info) ((struct fb_info_sbusfb *)(info)) #define CM(i, j) [3*(i)+(j)] #define SBUSFBINIT_SIZECHANGE ((char *)-1)
Go to most recent revision | Compare with Previous | Blame | View Log