Removing a hack in the hopes of finding a better way and some minor changes.
[nouveau] / src / nv_proto.h
1 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_proto.h,v 1.11 2004/03/20 01:52:16 mvojkovi Exp $ */
2
3 #ifndef __NV_PROTO_H__
4 #define __NV_PROTO_H__
5
6 /* in nv_accel_common.c */
7 Bool NVAccelCommonInit(ScrnInfoPtr pScrn);
8 uint32_t NVAccelGetPixmapOffset(PixmapPtr pPix);
9 Bool NVAccelGetCtxSurf2DFormatFromPixmap(PixmapPtr pPix, int *fmt_ret);
10 Bool NVAccelGetCtxSurf2DFormatFromPicture(PicturePtr pPix, int *fmt_ret);
11 Bool NVAccelSetCtxSurf2D(PixmapPtr psPix, PixmapPtr pdPix, int fmt);
12
13 /* in nv_driver.c */
14 Bool   NVSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
15 void   NVAdjustFrame(int scrnIndex, int x, int y, int flags);
16 Bool   NVI2CInit(ScrnInfoPtr pScrn);
17
18 /* in nv_mem.c */
19 NVAllocRec *NVAllocateMemory(NVPtr pNv, int type, int size);
20 void        NVFreeMemory(NVPtr pNv, NVAllocRec *mem);
21
22 /* in nv_notifier.c */
23 struct drm_nouveau_notifierobj_alloc *
24 NVNotifierAlloc(ScrnInfoPtr, uint32_t handle);
25 void NVNotifierDestroy(ScrnInfoPtr, struct drm_nouveau_notifierobj_alloc *);
26 void NVNotifierReset(ScrnInfoPtr, struct drm_nouveau_notifierobj_alloc *);
27 uint32_t NVNotifierStatus(ScrnInfoPtr, struct drm_nouveau_notifierobj_alloc *);
28 uint32_t NVNotifierErrorCode(ScrnInfoPtr,
29                              struct drm_nouveau_notifierobj_alloc *);
30 uint32_t NVNotifierReturnVal(ScrnInfoPtr,
31                              struct drm_nouveau_notifierobj_alloc *);
32 Bool NVNotifierWaitStatus(ScrnInfoPtr, struct drm_nouveau_notifierobj_alloc *,
33                           uint32_t status, uint32_t timeout);
34
35 /* in nv_dri.c */
36 unsigned int NVDRMGetParam(NVPtr pNv, unsigned int param);
37 Bool NVDRMSetParam(NVPtr pNv, unsigned int param, unsigned int value);
38 Bool NVDRIScreenInit(ScrnInfoPtr pScrn);
39 Bool NVDRIFinishScreenInit(ScrnInfoPtr pScrn);
40 extern const char *drmSymbols[], *driSymbols[];
41 Bool NVDRIGetVersion(ScrnInfoPtr pScrn);
42
43 /* in nv_dac.c */
44 Bool   NVDACInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
45 void   NVDACSave(ScrnInfoPtr pScrn, vgaRegPtr vgaReg,
46                  NVRegPtr nvReg, Bool saveFonts);
47 void   NVDACRestore(ScrnInfoPtr pScrn, vgaRegPtr vgaReg,
48                     NVRegPtr nvReg, Bool restoreFonts);
49 void   NVDACLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
50                         LOCO *colors, VisualPtr pVisual );
51 Bool   NVDACi2cInit(ScrnInfoPtr pScrn);
52
53
54 /* in nv_video.c */
55 void NVInitVideo(ScreenPtr);
56 void NVResetVideo (ScrnInfoPtr pScrnInfo);
57
58 /* in nv_setup.c */
59 void   RivaEnterLeave(ScrnInfoPtr pScrn, Bool enter);
60 void   NVCommonSetup(ScrnInfoPtr pScrn);
61
62 /* in nv_cursor.c */
63 Bool   NVCursorInit(ScreenPtr pScreen);
64
65 /* in nv_dma.c */
66 void  NVDmaKickoff(NVPtr pNv);
67 void  NVDmaKickoffCallback(NVPtr pNv);
68 void  NVDmaWait(ScrnInfoPtr pScrn, int size);
69 void  NVSync(ScrnInfoPtr pScrn);
70 void  NVResetGraphics(ScrnInfoPtr pScrn);
71 Bool  NVDmaCreateContextObject(NVPtr pNv, int handle, int class);
72 Bool  NVInitDma(ScrnInfoPtr pScrn);
73
74 /* in nv_exa.c */
75 Bool NVExaInit(ScreenPtr pScreen);
76 Bool NVAccelUploadM2MF(ScrnInfoPtr, uint64_t, const char * , int, int, int, int);
77
78 /* in riva_hw.c */
79 void NVCalcStateExt(NVPtr,struct _riva_hw_state *,int,int,int,int,int,int);
80 void NVLoadStateExt(ScrnInfoPtr pScrn,struct _riva_hw_state *);
81 void NVUnloadStateExt(NVPtr,struct _riva_hw_state *);
82 void NVSetStartAddress(NVPtr,CARD32);
83 int  NVShowHideCursor(NVPtr,int);
84 void NVLockUnlock(NVPtr,int);
85 uint8_t nvReadVGA(NVPtr pNv, uint8_t index);
86 void nvWriteVGA(NVPtr pNv, uint8_t index, uint8_t data);
87 void nvWriteRAMDAC(NVPtr pNv, uint8_t head, uint32_t ramdac_reg, CARD32 val);
88 CARD32 nvReadRAMDAC(NVPtr pNv, uint8_t head, uint32_t ramdac_reg);
89 void nvWriteCRTC(NVPtr pNv, uint8_t head, uint32_t reg, CARD32 val);
90 CARD32 nvReadCRTC(NVPtr pNv, uint8_t head, uint32_t reg);
91
92 /* in nv_shadow.c */
93 void NVRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
94 void NVRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
95 void NVRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
96 void NVRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
97 void NVPointerMoved(int index, int x, int y);
98
99 /* in nv_bios.c */
100 unsigned int NVParseBios(ScrnInfoPtr pScrn);
101
102 void nForceUpdateArbitrationSettings (unsigned      VClk,  unsigned      pixelDepth,
103                                       unsigned     *burst, unsigned     *lwm,
104                                       NVPtr        pNv);
105
106
107 /* nv_crtc.c */
108 void NVSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode);
109 DisplayModePtr NVCrtcFindClosestMode(xf86CrtcPtr crtc, DisplayModePtr pMode);
110 void NVCrtcSetBase (xf86CrtcPtr crtc, int x, int y);
111 void NVCrtcLoadPalette(xf86CrtcPtr crtc);
112 void NVCrtcBlankScreen(xf86CrtcPtr crtc, Bool on);
113 void NVCrtcSetCursor(xf86CrtcPtr crtc, Bool state);
114 void nv_crtc_init(ScrnInfoPtr pScrn, int crtc_num);
115 void NVCrtcLockUnlock(xf86CrtcPtr crtc, Bool Lock);
116
117 /* nv_output.h */
118 void NvSetupOutputs(ScrnInfoPtr pScrn);
119
120 /* nv_hw.c */
121 void nForceUpdateArbitrationSettings (unsigned VClk, unsigned pixelDepth,
122                                       unsigned     *burst, unsigned     *lwm,
123                                       NVPtr        pNv);
124 void nv30UpdateArbitrationSettings (NVPtr        pNv,
125                                     unsigned     *burst,
126                                     unsigned     *lwm);
127 void nv10UpdateArbitrationSettings (unsigned      VClk, 
128                                     unsigned      pixelDepth, 
129                                     unsigned     *burst,
130                                     unsigned     *lwm,
131                                     NVPtr        pNv);
132 void nv4UpdateArbitrationSettings (unsigned      VClk, 
133                                    unsigned      pixelDepth, 
134                                    unsigned     *burst,
135                                    unsigned     *lwm,
136                                    NVPtr        pNv);
137
138 void NVInitSurface(ScrnInfoPtr pScrn, RIVA_HW_STATE *state);
139 void NVInitGraphContext(ScrnInfoPtr pScrn);
140
141 /* nv_i2c.c */
142 Bool NV_I2CInit(ScrnInfoPtr pScrn, I2CBusPtr *bus_ptr, int i2c_reg, char *name);
143
144 /* in nv30_exa.c */
145 Bool NVAccelInitNV30TCL(ScrnInfoPtr pScrn);
146 Bool NVAccelInitNV40TCL(ScrnInfoPtr pScrn);
147 Bool NV30EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
148 Bool NV30EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
149                                   PixmapPtr, PixmapPtr, PixmapPtr);
150 void NV30EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
151 void NV30EXADoneComposite(PixmapPtr);
152
153 /* in nv50_exa.c */
154 Bool NV50EXAPrepareSolid(PixmapPtr, int, Pixel, Pixel);
155 void NV50EXASolid(PixmapPtr, int, int, int, int);
156 void NV50EXADoneSolid(PixmapPtr);
157 Bool NV50EXAPrepareCopy(PixmapPtr, PixmapPtr, int, int, int, Pixel);
158 void NV50EXACopy(PixmapPtr, int, int, int, int, int, int);
159 void NV50EXADoneCopy(PixmapPtr);
160 Bool NV50EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
161 Bool NV50EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
162                                   PixmapPtr, PixmapPtr, PixmapPtr);
163 void NV50EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
164 void NV50EXADoneComposite(PixmapPtr);
165
166 #endif /* __NV_PROTO_H__ */
167