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