randr12: Disable crt load detect again, until i know how to use it properly.
[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 Bool NVAccelGetCtxSurf2DFormatFromPixmap(PixmapPtr pPix, int *fmt_ret);
9 Bool NVAccelGetCtxSurf2DFormatFromPicture(PicturePtr pPix, int *fmt_ret);
10
11 /* in nv_driver.c */
12 Bool   NVSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
13 void   NVAdjustFrame(int scrnIndex, int x, int y, int flags);
14 Bool   NVI2CInit(ScrnInfoPtr pScrn);
15
16 /* in nv_dri.c */
17 Bool NVDRIScreenInit(ScrnInfoPtr pScrn);
18 Bool NVDRIFinishScreenInit(ScrnInfoPtr pScrn);
19 extern const char *drmSymbols[], *driSymbols[];
20 Bool NVDRIGetVersion(ScrnInfoPtr pScrn);
21
22 /* in nv_dac.c */
23 Bool   NVDACInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
24 void   NVDACSave(ScrnInfoPtr pScrn, vgaRegPtr vgaReg,
25                  NVRegPtr nvReg, Bool saveFonts);
26 void   NVDACRestore(ScrnInfoPtr pScrn, vgaRegPtr vgaReg,
27                     NVRegPtr nvReg, Bool restoreFonts);
28 void   NVDACLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
29                         LOCO *colors, VisualPtr pVisual );
30 Bool   NVDACi2cInit(ScrnInfoPtr pScrn);
31
32 /* in nv_video.c */
33 void NVInitVideo(ScreenPtr);
34 void NVResetVideo (ScrnInfoPtr pScrnInfo);
35
36 /* in nv_setup.c */
37 void   RivaEnterLeave(ScrnInfoPtr pScrn, Bool enter);
38 void   NVCommonSetup(ScrnInfoPtr pScrn);
39
40 /* in nv_cursor.c */
41 Bool   NVCursorInit(ScreenPtr pScreen);
42 Bool NVCursorInitRandr12(ScreenPtr pScreen);
43 void nv_crtc_show_cursor(xf86CrtcPtr crtc);
44 void nv_crtc_hide_cursor(xf86CrtcPtr crtc);
45 void nv_crtc_set_cursor_position(xf86CrtcPtr crtc, int x, int y);
46 void nv_crtc_set_cursor_colors(xf86CrtcPtr crtc, int bg, int fg);
47 void nv_crtc_load_cursor_image(xf86CrtcPtr crtc, CARD8 *image);
48 void nv_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image);
49
50 /* in nv_dma.c */
51 void  NVSync(ScrnInfoPtr pScrn);
52 void  NVResetGraphics(ScrnInfoPtr pScrn);
53 Bool  NVInitDma(ScrnInfoPtr pScrn);
54
55 /* in nv_exa.c */
56 Bool NVExaInit(ScreenPtr pScreen);
57
58 /* in nv_hw.c */
59 void NVCalcStateExt(NVPtr,struct _riva_hw_state *,int,int,int,int,int,int);
60 void NVLoadStateExt(ScrnInfoPtr pScrn,struct _riva_hw_state *);
61 void NVUnloadStateExt(NVPtr,struct _riva_hw_state *);
62 void NVSetStartAddress(NVPtr,CARD32);
63 int  NVShowHideCursor(NVPtr,int);
64 void NVLockUnlock(NVPtr,int);
65 uint8_t nvReadVGA(NVPtr pNv, uint8_t index);
66 void nvWriteVGA(NVPtr pNv, uint8_t index, uint8_t data);
67 uint8_t NVReadVGA0(NVPtr pNv, uint8_t index);
68 uint8_t NVReadVGA1(NVPtr pNv, uint8_t index);
69 void NVWriteVGA0(NVPtr pNv, uint8_t index, uint8_t data);
70 void NVWriteVGA1(NVPtr pNv, uint8_t index, uint8_t data);
71 void nvWriteRAMDAC(NVPtr pNv, uint8_t head, uint32_t ramdac_reg, CARD32 val);
72 CARD32 nvReadRAMDAC(NVPtr pNv, uint8_t head, uint32_t ramdac_reg);
73 void nvWriteCRTC(NVPtr pNv, uint8_t head, uint32_t reg, CARD32 val);
74 CARD32 nvReadCRTC(NVPtr pNv, uint8_t head, uint32_t reg);
75
76 /* in nv_shadow.c */
77 void NVRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
78 void NVRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
79 void NVRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
80 void NVRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
81 void NVPointerMoved(int index, int x, int y);
82
83 /* in nv_bios.c */
84 unsigned int NVParseBios(ScrnInfoPtr pScrn);
85 void link_head_and_output(ScrnInfoPtr pScrn, int head, int dcb_entry, Bool overrideval);
86 void call_lvds_script(ScrnInfoPtr pScrn, int head, int dcb_entry, enum LVDS_script script, uint16_t pxclk);
87 void run_tmds_table(ScrnInfoPtr pScrn, int dcb_entry, int head, uint16_t pxclk);
88 Bool get_pll_limits(ScrnInfoPtr pScrn, enum pll_types plltype, struct pll_lims *pll_lim);
89 uint32_t getMNP_single(NVPtr pNv, uint32_t clk, int *NM, int *log2P);
90 uint32_t getMNP_double(NVPtr pNv, struct pll_lims *pll_lim, uint32_t clk, int *NM1, int *NM2, int *log2P);
91
92 void nForceUpdateArbitrationSettings (unsigned      VClk,  unsigned      pixelDepth,
93                                       unsigned     *burst, unsigned     *lwm,
94                                       NVPtr        pNv);
95
96 /* nv_crtc.c */
97 DisplayModePtr NVCrtcFindClosestMode(xf86CrtcPtr crtc, DisplayModePtr pMode);
98 void NVCrtcSetBase (xf86CrtcPtr crtc, int x, int y);
99 void NVCrtcLoadPalette(xf86CrtcPtr crtc);
100 void NVCrtcBlankScreen(xf86CrtcPtr crtc, Bool on);
101 void NVCrtcSetCursor(xf86CrtcPtr crtc, Bool state);
102 void nv_crtc_init(ScrnInfoPtr pScrn, int crtc_num);
103 void NVCrtcLockUnlock(xf86CrtcPtr crtc, Bool Lock);
104 void NVWriteVgaCrtc(xf86CrtcPtr crtc, CARD8 index, CARD8 value);
105 CARD8 NVReadVgaCrtc(xf86CrtcPtr crtc, CARD8 index);
106 void NVWriteVGA(NVPtr pNv, int head, CARD8 index, CARD8 value);
107 CARD8 NVReadVGA(NVPtr pNv, int head, CARD8 index);
108 xf86OutputPtr NVGetOutputFromCRTC(xf86CrtcPtr crtc);
109 xf86CrtcPtr nv_find_crtc_by_index(ScrnInfoPtr pScrn, int index);
110 void NVWriteVGACR5758(NVPtr pNv, int head, uint8_t index, uint8_t value);
111 uint8_t NVReadVGACR5758(NVPtr pNv, int head, uint8_t index);
112
113 /* nv_output.c */
114 void NvSetupOutputs(ScrnInfoPtr pScrn);
115 void NVOutputWriteRAMDAC(xf86OutputPtr output, CARD32 ramdac_reg, CARD32 val);
116 CARD32 NVOutputReadRAMDAC(xf86OutputPtr output, CARD32 ramdac_reg);
117 void NVWriteTMDS(NVPtr pNv, int ramdac, CARD32 tmds_reg, CARD32 val);
118 CARD8 NVReadTMDS(NVPtr pNv, int ramdac, CARD32 tmds_reg);
119 uint32_t nv_calc_tmds_clock_from_pll(xf86OutputPtr output);
120 void nv_set_tmds_registers(xf86OutputPtr output, uint32_t clock, Bool override, Bool crosswired);
121
122 /* nv_hw.c */
123 void nForceUpdateArbitrationSettings (unsigned VClk, unsigned pixelDepth,
124                                       unsigned     *burst, unsigned     *lwm,
125                                       NVPtr        pNv);
126 void nv30UpdateArbitrationSettings (NVPtr        pNv,
127                                     unsigned     *burst,
128                                     unsigned     *lwm);
129 void nv10UpdateArbitrationSettings (unsigned      VClk, 
130                                     unsigned      pixelDepth, 
131                                     unsigned     *burst,
132                                     unsigned     *lwm,
133                                     NVPtr        pNv);
134 void nv4UpdateArbitrationSettings (unsigned      VClk, 
135                                    unsigned      pixelDepth, 
136                                    unsigned     *burst,
137                                    unsigned     *lwm,
138                                    NVPtr        pNv);
139
140 void NVInitSurface(ScrnInfoPtr pScrn, RIVA_HW_STATE *state);
141 void NVInitGraphContext(ScrnInfoPtr pScrn);
142
143 /* nv_i2c.c */
144 Bool NV_I2CInit(ScrnInfoPtr pScrn, I2CBusPtr *bus_ptr, int i2c_reg, char *name);
145
146 /* in nv10_exa.c */
147 Bool NVAccelInitNV10TCL(ScrnInfoPtr pScrn);
148 Bool NV10CheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
149 Bool NV10PrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
150                                   PixmapPtr, PixmapPtr, PixmapPtr);
151 void NV10Composite(PixmapPtr, int, int, int, int, int, int, int, int);
152 void NV10DoneComposite(PixmapPtr);
153  
154 /* in nv30_exa.c */
155 Bool NVAccelInitNV30TCL(ScrnInfoPtr pScrn);
156 Bool NV30EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
157 Bool NV30EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
158                                   PixmapPtr, PixmapPtr, PixmapPtr);
159 void NV30EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
160 void NV30EXADoneComposite(PixmapPtr);
161
162 /* in nv40_exa.c */
163 Bool NVAccelInitNV40TCL(ScrnInfoPtr pScrn);
164 Bool NV40EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
165 Bool NV40EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
166                                   PixmapPtr, PixmapPtr, PixmapPtr);
167 void NV40EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
168 void NV40EXADoneComposite(PixmapPtr);
169
170 /* in nv40_video_texture.c */
171 int NV40PutTextureImage(ScrnInfoPtr pScrn, int src_offset,
172                 int src_offset2, int id,
173                 int src_pitch, BoxPtr dstBox,
174                 int x1, int y1, int x2, int y2,
175                 uint16_t width, uint16_t height,
176                 uint16_t src_w, uint16_t src_h,
177                 uint16_t drw_w, uint16_t drw_h,
178                 RegionPtr clipBoxes,
179                 DrawablePtr pDraw);
180
181 /* in nv50_exa.c */
182 Bool NV50EXAPrepareSolid(PixmapPtr, int, Pixel, Pixel);
183 void NV50EXASolid(PixmapPtr, int, int, int, int);
184 void NV50EXADoneSolid(PixmapPtr);
185 Bool NV50EXAPrepareCopy(PixmapPtr, PixmapPtr, int, int, int, Pixel);
186 void NV50EXACopy(PixmapPtr, int, int, int, int, int, int);
187 void NV50EXADoneCopy(PixmapPtr);
188 Bool NV50EXACheckComposite(int, PicturePtr, PicturePtr, PicturePtr);
189 Bool NV50EXAPrepareComposite(int, PicturePtr, PicturePtr, PicturePtr,
190                                   PixmapPtr, PixmapPtr, PixmapPtr);
191 void NV50EXAComposite(PixmapPtr, int, int, int, int, int, int, int, int);
192 void NV50EXADoneComposite(PixmapPtr);
193
194 /* in nv50_display.c */
195 Bool NV50CrtcModeFixup(xf86CrtcPtr crtc,
196                 DisplayModePtr mode, DisplayModePtr adjusted_mode);
197 void NV50CrtcPrepare(xf86CrtcPtr crtc);
198 void NV50CrtcModeSet(xf86CrtcPtr crtc, DisplayModePtr mode,
199                 DisplayModePtr adjusted_mode, int x, int y);
200 void NV50CrtcCommit(xf86CrtcPtr crtc);
201 void NV50CrtcSetPClk(xf86CrtcPtr crtc);
202
203 /* in nv50_cursor.c */
204 void NV50SetCursorPosition(xf86CrtcPtr crtc, int x, int y);
205 void NV50CrtcShowCursor(xf86CrtcPtr crtc);
206 void NV50CrtcHideCursor(xf86CrtcPtr crtc);
207 void NV50LoadCursorARGB(xf86CrtcPtr crtc, CARD32 *src);
208
209 /* in nv50_crtc.c */
210 void NV50DispCreateCrtcs(ScrnInfoPtr pScrn);
211 void NV50DisplayCommand(ScrnInfoPtr pScrn, CARD32 addr, CARD32 value);
212 void NV50CrtcCommand(xf86CrtcPtr crtc, CARD32 addr, CARD32 value);
213 void NV50CrtcWrite(xf86CrtcPtr crtc, CARD32 addr, CARD32 value);
214 CARD32 NV50CrtcRead(xf86CrtcPtr crtc, CARD32 addr);
215 void NV50DisplayWrite(ScrnInfoPtr pScrn, CARD32 addr, CARD32 value);
216 CARD32 NV50DisplayRead(ScrnInfoPtr pScrn, CARD32 addr);
217
218 /* in nv50_output.c */
219 void NV50OrWrite(ScrnInfoPtr pScrn, int or, CARD32 addr, CARD32 value);
220 CARD32 NV50OrRead(ScrnInfoPtr pScrn, int or, CARD32 addr);
221 void NV50OutputWrite(xf86OutputPtr output, CARD32 addr, CARD32 value);
222 CARD32 NV50OutputRead(xf86OutputPtr output, CARD32 addr);
223
224
225 #endif /* __NV_PROTO_H__ */
226