040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifndef _FBDEVHW_H_
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define _FBDEVHW_H_
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "xf86str.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "colormapst.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include <pciaccess.h>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define FBDEVHW_PACKED_PIXELS 0 /* Packed Pixels */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define FBDEVHW_PLANES 1 /* Non interleaved planes */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define FBDEVHW_INTERLEAVED_PLANES 2 /* Interleaved planes */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define FBDEVHW_TEXT 3 /* Text/attributes */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define FBDEVHW_VGA_PLANES 4 /* EGA/VGA planes */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWGetRec(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWFreeRec(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWProbe(struct pci_device * pPci, char *device, char **namep);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWInit(ScrnInfoPtr pScrn, struct pci_device * pPci, char *device);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncchar* fbdevHWGetName(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint fbdevHWGetDepth(ScrnInfoPtr pScrn, int *fbbpp);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint fbdevHWGetLineLength(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint fbdevHWGetType(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint fbdevHWGetVidmem(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid* fbdevHWMapVidmem(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint fbdevHWLinearOffset(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWUnmapVidmem(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid* fbdevHWMapMMIO(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWUnmapMMIO(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWSetVideoModes(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDisplayModePtr fbdevHWGetBuildinMode(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWUseBuildinMode(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWSave(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWRestore(ScrnInfoPtr pScrn);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync LOCO *colors, VisualPtr pVisual);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncModeStatus fbdevHWValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWAdjustFrame(int scrnIndex, int x, int y, int flags);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWEnterVT(int scrnIndex, int flags);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWLeaveVT(int scrnIndex, int flags);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mode, int flags);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool fbdevHWSaveScreen(ScreenPtr pScreen, int mode);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncxf86SwitchModeProc *fbdevHWSwitchModeWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncxf86AdjustFrameProc *fbdevHWAdjustFrameWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncxf86EnterVTProc *fbdevHWEnterVTWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncxf86LeaveVTProc *fbdevHWLeaveVTWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncxf86ValidModeProc *fbdevHWValidModeWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncxf86DPMSSetProc *fbdevHWDPMSSetWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncxf86LoadPaletteProc *fbdevHWLoadPaletteWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSaveScreenProcPtr fbdevHWSaveScreenWeak(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif