fbdevhw.h revision 4642e01f
1
2#ifndef _FBDEVHW_H_
3#define _FBDEVHW_H_
4
5#include "xf86str.h"
6#include "colormapst.h"
7
8#include <pciaccess.h>
9
10#define FBDEVHW_PACKED_PIXELS		0	/* Packed Pixels	*/
11#define FBDEVHW_PLANES			1	/* Non interleaved planes */
12#define FBDEVHW_INTERLEAVED_PLANES	2	/* Interleaved planes	*/
13#define FBDEVHW_TEXT			3	/* Text/attributes	*/
14#define FBDEVHW_VGA_PLANES		4	/* EGA/VGA planes       */
15
16Bool  fbdevHWGetRec(ScrnInfoPtr pScrn);
17void  fbdevHWFreeRec(ScrnInfoPtr pScrn);
18
19Bool  fbdevHWProbe(struct pci_device * pPci, char *device, char **namep);
20Bool  fbdevHWInit(ScrnInfoPtr pScrn, struct pci_device * pPci, char *device);
21
22char* fbdevHWGetName(ScrnInfoPtr pScrn);
23int   fbdevHWGetDepth(ScrnInfoPtr pScrn, int *fbbpp);
24int   fbdevHWGetLineLength(ScrnInfoPtr pScrn);
25int   fbdevHWGetType(ScrnInfoPtr pScrn);
26int   fbdevHWGetVidmem(ScrnInfoPtr pScrn);
27
28void* fbdevHWMapVidmem(ScrnInfoPtr pScrn);
29int   fbdevHWLinearOffset(ScrnInfoPtr pScrn);
30Bool  fbdevHWUnmapVidmem(ScrnInfoPtr pScrn);
31void* fbdevHWMapMMIO(ScrnInfoPtr pScrn);
32Bool  fbdevHWUnmapMMIO(ScrnInfoPtr pScrn);
33
34void  fbdevHWSetVideoModes(ScrnInfoPtr pScrn);
35DisplayModePtr fbdevHWGetBuildinMode(ScrnInfoPtr pScrn);
36void  fbdevHWUseBuildinMode(ScrnInfoPtr pScrn);
37Bool  fbdevHWModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
38void  fbdevHWSave(ScrnInfoPtr pScrn);
39void  fbdevHWRestore(ScrnInfoPtr pScrn);
40
41void  fbdevHWLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
42		 LOCO *colors, VisualPtr pVisual);
43
44ModeStatus fbdevHWValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags);
45Bool  fbdevHWSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
46void  fbdevHWAdjustFrame(int scrnIndex, int x, int y, int flags);
47Bool  fbdevHWEnterVT(int scrnIndex, int flags);
48void  fbdevHWLeaveVT(int scrnIndex, int flags);
49void  fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mode, int flags);
50
51Bool  fbdevHWSaveScreen(ScreenPtr pScreen, int mode);
52
53xf86SwitchModeProc	*fbdevHWSwitchModeWeak(void);
54xf86AdjustFrameProc	*fbdevHWAdjustFrameWeak(void);
55xf86EnterVTProc		*fbdevHWEnterVTWeak(void);
56xf86LeaveVTProc		*fbdevHWLeaveVTWeak(void);
57xf86ValidModeProc	*fbdevHWValidModeWeak(void);
58xf86DPMSSetProc		*fbdevHWDPMSSetWeak(void);
59xf86LoadPaletteProc	*fbdevHWLoadPaletteWeak(void);
60SaveScreenProcPtr	fbdevHWSaveScreenWeak(void);
61
62#endif
63