1 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_proto.h,v 1.11 2004/03/20 01:52:16 mvojkovi Exp $ */
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);
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);
19 NVAllocRec *NVAllocateMemory(NVPtr pNv, int type, int size);
20 void NVFreeMemory(NVPtr pNv, NVAllocRec *mem);
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);
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);
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);
55 void NVInitVideo(ScreenPtr);
56 void NVResetVideo (ScrnInfoPtr pScrnInfo);
59 void RivaEnterLeave(ScrnInfoPtr pScrn, Bool enter);
60 void NVCommonSetup(ScrnInfoPtr pScrn);
63 Bool NVCursorInit(ScreenPtr pScreen);
65 Bool NVCursorInitRandr12(ScreenPtr pScreen);
66 void nv_crtc_show_cursor(xf86CrtcPtr crtc);
67 void nv_crtc_hide_cursor(xf86CrtcPtr crtc);
68 void nv_crtc_set_cursor_position(xf86CrtcPtr crtc, int x, int y);
69 void nv_crtc_set_cursor_colors(xf86CrtcPtr crtc, int bg, int fg);
70 void nv_crtc_load_cursor_image(xf86CrtcPtr crtc, CARD8 *image);
71 void nv_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image);
72 #endif /* ENABLE_RANDR12 */
75 void NVDmaKickoffNNN(NVPtr pNv);
76 void NVDmaKickoffCallback(NVPtr pNv);
77 void NVDmaWaitNNN(ScrnInfoPtr pScrn, int size);
78 void NVSync(ScrnInfoPtr pScrn);
79 void NVResetGraphics(ScrnInfoPtr pScrn);
80 Bool NVDmaCreateContextObject(NVPtr pNv, int handle, int class);
81 Bool NVInitDma(ScrnInfoPtr pScrn);
84 Bool NVExaInit(ScreenPtr pScreen);
87 void NVCalcStateExt(NVPtr,struct _riva_hw_state *,int,int,int,int,int,int);
88 void NVLoadStateExt(ScrnInfoPtr pScrn,struct _riva_hw_state *);
89 void NVUnloadStateExt(NVPtr,struct _riva_hw_state *);
90 void NVSetStartAddress(NVPtr,CARD32);
91 int NVShowHideCursor(NVPtr,int);
92 void NVLockUnlock(NVPtr,int);
93 uint8_t nvReadVGA(NVPtr pNv, uint8_t index);
94 void nvWriteVGA(NVPtr pNv, uint8_t index, uint8_t data);
95 uint8_t NVReadVGA0(NVPtr pNv, uint8_t index);
96 uint8_t NVReadVGA1(NVPtr pNv, uint8_t index);
97 void NVWriteVGA0(NVPtr pNv, uint8_t index, uint8_t data);
98 void NVWriteVGA1(NVPtr pNv, uint8_t index, uint8_t data);
99 void nvWriteRAMDAC(NVPtr pNv, uint8_t head, uint32_t ramdac_reg, CARD32 val);
100 CARD32 nvReadRAMDAC(NVPtr pNv, uint8_t head, uint32_t ramdac_reg);
101 void nvWriteCRTC(NVPtr pNv, uint8_t head, uint32_t reg, CARD32 val);
102 CARD32 nvReadCRTC(NVPtr pNv, uint8_t head, uint32_t reg);
105 void NVRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
106 void NVRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
107 void NVRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
108 void NVRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
109 void NVPointerMoved(int index, int x, int y);
112 unsigned int NVParseBios(ScrnInfoPtr pScrn);
114 void nForceUpdateArbitrationSettings (unsigned VClk, unsigned pixelDepth,
115 unsigned *burst, unsigned *lwm,
120 #ifdef ENABLE_RANDR12
121 DisplayModePtr NVCrtcFindClosestMode(xf86CrtcPtr crtc, DisplayModePtr pMode);
122 void NVCrtcSetBase (xf86CrtcPtr crtc, int x, int y);
123 void NVCrtcLoadPalette(xf86CrtcPtr crtc);
124 void NVCrtcBlankScreen(xf86CrtcPtr crtc, Bool on);
125 void NVCrtcSetCursor(xf86CrtcPtr crtc, Bool state);
126 void nv_crtc_init(ScrnInfoPtr pScrn, int crtc_num);
127 void NVCrtcLockUnlock(xf86CrtcPtr crtc, Bool Lock);
128 void NVWriteVgaCrtc(xf86CrtcPtr crtc, CARD8 index, CARD8 value);
129 CARD8 NVReadVgaCrtc(xf86CrtcPtr crtc, CARD8 index);
130 #endif /* ENABLE_RANDR12 */
133 #ifdef ENABLE_RANDR12
134 void NvSetupOutputs(ScrnInfoPtr pScrn);
135 void NVOutputWriteRAMDAC(xf86OutputPtr output, CARD32 ramdac_reg, CARD32 val);
136 CARD32 NVOutputReadRAMDAC(xf86OutputPtr output, CARD32 ramdac_reg);
137 #endif /* ENABLE_RANDR12 */
142 void nForceUpdateArbitrationSettings (unsigned VClk, unsigned pixelDepth,
143 unsigned *burst, unsigned *lwm,
145 void nv30UpdateArbitrationSettings (NVPtr pNv,
148 void nv10UpdateArbitrationSettings (unsigned VClk,
153 void nv4UpdateArbitrationSettings (unsigned VClk,
159 void NVInitSurface(ScrnInfoPtr pScrn, RIVA_HW_STATE *state);
160 void NVInitGraphContext(ScrnInfoPtr pScrn);
163 Bool NV_I2CInit(ScrnInfoPtr pScrn, I2CBusPtr *bus_ptr, int i2c_reg, char *name);
166 Bool NVAccelInitNV10TCL(ScrnInfoPtr pScrn);
167 Bool NV10CheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
168 Bool NV10PrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
169 PixmapPtr, PixmapPtr, PixmapPtr);
170 void NV10Composite(PixmapPtr, int, int, int, int, int, int, int, int);
171 void NV10DoneComposite(PixmapPtr);
174 Bool NVAccelInitNV30TCL(ScrnInfoPtr pScrn);
175 Bool NV30EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
176 Bool NV30EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
177 PixmapPtr, PixmapPtr, PixmapPtr);
178 void NV30EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
179 void NV30EXADoneComposite(PixmapPtr);
182 Bool NVAccelInitNV40TCL(ScrnInfoPtr pScrn);
183 Bool NV40EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
184 Bool NV40EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
185 PixmapPtr, PixmapPtr, PixmapPtr);
186 void NV40EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
187 void NV40EXADoneComposite(PixmapPtr);
190 Bool NV50EXAPrepareSolid(PixmapPtr, int, Pixel, Pixel);
191 void NV50EXASolid(PixmapPtr, int, int, int, int);
192 void NV50EXADoneSolid(PixmapPtr);
193 Bool NV50EXAPrepareCopy(PixmapPtr, PixmapPtr, int, int, int, Pixel);
194 void NV50EXACopy(PixmapPtr, int, int, int, int, int, int);
195 void NV50EXADoneCopy(PixmapPtr);
196 Bool NV50EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
197 Bool NV50EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
198 PixmapPtr, PixmapPtr, PixmapPtr);
199 void NV50EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
200 void NV50EXADoneComposite(PixmapPtr);
202 #ifdef ENABLE_RANDR12
203 /* in nv50_display.c */
204 Bool NV50CrtcModeFixup(xf86CrtcPtr crtc,
205 DisplayModePtr mode, DisplayModePtr adjusted_mode);
206 void NV50CrtcPrepare(xf86CrtcPtr crtc);
207 void NV50CrtcModeSet(xf86CrtcPtr crtc, DisplayModePtr mode,
208 DisplayModePtr adjusted_mode, int x, int y);
209 void NV50CrtcCommit(xf86CrtcPtr crtc);
210 void NV50CrtcSetPClk(xf86CrtcPtr crtc);
212 /* in nv50_cursor.c */
213 void NV50SetCursorPosition(xf86CrtcPtr crtc, int x, int y);
214 void NV50CrtcShowCursor(xf86CrtcPtr crtc);
215 void NV50CrtcHideCursor(xf86CrtcPtr crtc);
216 void NV50LoadCursorARGB(xf86CrtcPtr crtc, CARD32 *src);
219 void NV50DispCreateCrtcs(ScrnInfoPtr pScrn);
220 void NV50DisplayCommand(ScrnInfoPtr pScrn, CARD32 addr, CARD32 value);
221 void NV50CrtcCommand(xf86CrtcPtr crtc, CARD32 addr, CARD32 value);
222 #endif /* ENABLE_RANDR12 */
225 #endif /* __NV_PROTO_H__ */