]>
git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/staging/sm750fb/sm750_hw.h
5 #define DEFAULT_SM750_CHIP_CLOCK 290
6 #define DEFAULT_SM750LE_CHIP_CLOCK 333
7 #ifndef SM750LE_REVISION_ID
8 #define SM750LE_REVISION_ID (unsigned char)0xfe
11 //#define DEFAULT_MEM_CLOCK (DEFAULT_SM750_CHIP_CLOCK/1)
12 //#define DEFAULT_MASTER_CLOCK (DEFAULT_SM750_CHIP_CLOCK/3)
17 sm750_24TFT
= 0,/* 24bit tft */
19 sm750_dualTFT
= 2,/* dual 18 bit tft */
21 sm750_doubleTFT
= 1,/* 36 bit double pixel tft */
24 /* vga channel is not concerned */
26 sm750_simul_pri
,/* primary => all head */
28 sm750_simul_sec
,/* secondary => all head */
30 sm750_dual_normal
,/* primary => panel head and secondary => crt */
32 sm750_dual_swap
,/* primary => crt head and secondary => panel */
38 /* enum value equal to the register filed data */
45 sm750_pnc
= 3,/* panel and crt */
50 /* below three clocks are in unit of MHZ*/
59 struct init_status initParm
;
60 enum sm750_pnltype pnltype
;
61 enum sm750_dataflow dataflow
;
67 /* sm750_share stands for a presentation of two frame buffer
68 that use one sm750 adaptor, it is similiar to the super class of lynx_share
73 /* it's better to put lynx_share struct to the first place of sm750_share */
74 struct lynx_share share
;
75 struct sm750_state state
;
77 /* 0: no hardware cursor
78 1: primary crtc hw cursor enabled,
79 2: secondary crtc hw cursor enabled
80 3: both ctrc hw cursor enabled
84 int hw_sm750_map(struct lynx_share
* share
,struct pci_dev
* pdev
);
85 int hw_sm750_inithw(struct lynx_share
*,struct pci_dev
*);
86 void hw_sm750_initAccel(struct lynx_share
*);
87 int hw_sm750_deWait(void);
88 int hw_sm750le_deWait(void);
90 resource_size_t
hw_sm750_getVMSize(struct lynx_share
*);
91 int hw_sm750_output_checkMode(struct lynxfb_output
*,struct fb_var_screeninfo
*);
92 int hw_sm750_output_setMode(struct lynxfb_output
*,struct fb_var_screeninfo
*,struct fb_fix_screeninfo
*);
93 int hw_sm750_crtc_checkMode(struct lynxfb_crtc
*,struct fb_var_screeninfo
*);
94 int hw_sm750_crtc_setMode(struct lynxfb_crtc
*,struct fb_var_screeninfo
*,struct fb_fix_screeninfo
*);
95 int hw_sm750_setColReg(struct lynxfb_crtc
*,ushort
,ushort
,ushort
,ushort
);
96 int hw_sm750_setBLANK(struct lynxfb_output
*,int);
97 int hw_sm750le_setBLANK(struct lynxfb_output
*,int);
98 void hw_sm750_crtc_clear(struct lynxfb_crtc
*);
99 void hw_sm750_output_clear(struct lynxfb_output
*);
100 int hw_sm750_pan_display(struct lynxfb_crtc
*crtc
,
101 const struct fb_var_screeninfo
*var
,
102 const struct fb_info
*info
);