Lines Matching refs:pSiS
83 SISPtr pSiS = SISPTR(pScrn);
84 int depth = pSiS->CurrentLayout.bitsPerPixel;
86 pSiS->SiS_Pr->CModeFlag = 0;
88 pSiS->SiS_Pr->CDClock = mode->Clock;
90 pSiS->SiS_Pr->CHDisplay = mode->HDisplay;
91 pSiS->SiS_Pr->CHSyncStart = mode->HSyncStart;
92 pSiS->SiS_Pr->CHSyncEnd = mode->HSyncEnd;
93 pSiS->SiS_Pr->CHTotal = mode->HTotal;
95 pSiS->SiS_Pr->CVDisplay = mode->VDisplay;
96 pSiS->SiS_Pr->CVSyncStart = mode->VSyncStart;
97 pSiS->SiS_Pr->CVSyncEnd = mode->VSyncEnd;
98 pSiS->SiS_Pr->CVTotal = mode->VTotal;
100 pSiS->SiS_Pr->CFlags = mode->Flags;
102 if(pSiS->SiS_Pr->CFlags & V_INTERLACE) {
103 pSiS->SiS_Pr->CVDisplay >>= 1;
104 pSiS->SiS_Pr->CVSyncStart >>= 1;
105 pSiS->SiS_Pr->CVSyncEnd >>= 1;
106 pSiS->SiS_Pr->CVTotal >>= 1;
107 } else if(pSiS->SiS_Pr->CFlags & V_DBLSCAN) {
108 pSiS->SiS_Pr->CVDisplay <<= 1;
109 pSiS->SiS_Pr->CVSyncStart <<= 1;
110 pSiS->SiS_Pr->CVSyncEnd <<= 1;
111 pSiS->SiS_Pr->CVTotal <<= 1;
114 pSiS->SiS_Pr->CHBlankStart = pSiS->SiS_Pr->CHDisplay;
115 pSiS->SiS_Pr->CHBlankEnd = pSiS->SiS_Pr->CHTotal;
116 pSiS->SiS_Pr->CVBlankStart = pSiS->SiS_Pr->CVSyncStart - 1;
117 pSiS->SiS_Pr->CVBlankEnd = pSiS->SiS_Pr->CVTotal;
120 pSiS->SiS_Pr->CModeFlag |= HalfDCLK;
121 pSiS->SiS_Pr->CDClock <<= 1;
128 SiS_MakeClockRegs(pScrn, pSiS->SiS_Pr->CDClock, &pSiS->SiS_Pr->CSR2B, &pSiS->SiS_Pr->CSR2C);
130 pSiS->SiS_Pr->CSRClock = (pSiS->SiS_Pr->CDClock / 1000) + 1;
132 SiS_CalcCRRegisters(pSiS->SiS_Pr, depth);
135 case 8: pSiS->SiS_Pr->CModeFlag |= 0x223b; break;
136 case 16: pSiS->SiS_Pr->CModeFlag |= 0x227d; break;
137 case 32: pSiS->SiS_Pr->CModeFlag |= 0x22ff; break;
141 if(pSiS->SiS_Pr->CFlags & V_DBLSCAN)
142 pSiS->SiS_Pr->CModeFlag |= DoubleScanMode;
144 if((pSiS->SiS_Pr->CVDisplay >= 1024) ||
145 (pSiS->SiS_Pr->CVTotal >= 1024) ||
146 (pSiS->SiS_Pr->CHDisplay >= 1024))
147 pSiS->SiS_Pr->CModeFlag |= LineCompareOff;
149 pSiS->SiS_Pr->CInfoFlag = 0x0007;
151 if(pSiS->SiS_Pr->CFlags & V_NHSYNC)
152 pSiS->SiS_Pr->CInfoFlag |= 0x4000;
154 if(pSiS->SiS_Pr->CFlags & V_NVSYNC)
155 pSiS->SiS_Pr->CInfoFlag |= 0x8000;
157 if(pSiS->SiS_Pr->CFlags & V_INTERLACE)
158 pSiS->SiS_Pr->CInfoFlag |= InterlaceMode;
160 pSiS->SiS_Pr->UseCustomMode = TRUE;
163 pSiS->SiS_Pr->CHDisplay,pSiS->SiS_Pr->CVDisplay);
165 pSiS->SiS_Pr->CModeFlag, pSiS->SiS_Pr->CInfoFlag);
167 pSiS->SiS_Pr->CCRT1CRTC[0], pSiS->SiS_Pr->CCRT1CRTC[1],
168 pSiS->SiS_Pr->CCRT1CRTC[2], pSiS->SiS_Pr->CCRT1CRTC[3],
169 pSiS->SiS_Pr->CCRT1CRTC[4], pSiS->SiS_Pr->CCRT1CRTC[5],
170 pSiS->SiS_Pr->CCRT1CRTC[6], pSiS->SiS_Pr->CCRT1CRTC[7]);
172 pSiS->SiS_Pr->CCRT1CRTC[8], pSiS->SiS_Pr->CCRT1CRTC[9],
173 pSiS->SiS_Pr->CCRT1CRTC[10], pSiS->SiS_Pr->CCRT1CRTC[11],
174 pSiS->SiS_Pr->CCRT1CRTC[12], pSiS->SiS_Pr->CCRT1CRTC[13],
175 pSiS->SiS_Pr->CCRT1CRTC[14], pSiS->SiS_Pr->CCRT1CRTC[15]);
176 xf86DrvMsg(0, X_INFO, " 0x%02x}},\n", pSiS->SiS_Pr->CCRT1CRTC[16]);
178 pSiS->SiS_Pr->CSR2B, pSiS->SiS_Pr->CSR2C, pSiS->SiS_Pr->CSRClock);
191 SISPtr pSiS = SISPTR(pScrn);
201 pSiS->backupmodelist = NULL;
202 pSiS->AddedPlasmaModes = FALSE;
204 UseWide = pSiS->SiS_Pr->SiS_UseWide;
205 if(IsForCRT2) UseWide = pSiS->SiS_Pr->SiS_UseWideCRT2;
207 if(!SiSInitPtr(pSiS->SiS_Pr)) return NULL;
210 while(pSiS->SiS_Pr->SiS_RefIndex[i].Ext_InfoFlag != 0xFFFF) {
212 if(pSiS->SiS_Pr->SiS_RefIndex[i].Ext_InfoFlag & HaveWideTiming) {
214 if((pSiS->SiS_Pr->SiS_RefIndex[i].Ext_CRT1CRTC_WIDE == 0xff) &&
215 (pSiS->SiS_Pr->SiS_RefIndex[i].Ext_CRTVCLK_WIDE == 0xff)) {
220 if((pSiS->SiS_Pr->SiS_RefIndex[i].Ext_CRT1CRTC_NORM == 0xff) &&
221 (pSiS->SiS_Pr->SiS_RefIndex[i].Ext_CRTVCLK_NORM == 0xff)) {
228 index = SiS_GetRefCRT1CRTC(pSiS->SiS_Pr, i, UseWide);
230 if(pSiS->SiS_Pr->SiS_RefIndex[i].Ext_FakeCRT2CRTC) {
231 index = pSiS->SiS_Pr->SiS_RefIndex[i].Ext_FakeCRT2CRTC;
236 if(pSiS->SiS_Pr->SiS_RefIndex[i].ModeID == 0x5a) {
255 sprintf(current->name, "%hu%hu", pSiS->SiS_Pr->SiS_RefIndex[i].XRes,
256 pSiS->SiS_Pr->SiS_RefIndex[i].YRes);
262 vclkindex = SiS_GetRefCRTVCLK(pSiS->SiS_Pr, i, UseWide);
264 if(pSiS->SiS_Pr->SiS_RefIndex[i].Ext_FakeCRT2Clk) {
265 vclkindex = pSiS->SiS_Pr->SiS_RefIndex[i].Ext_FakeCRT2Clk;
269 sr2b = pSiS->SiS_Pr->SiS_VCLKData[vclkindex].SR2B;
270 sr2c = pSiS->SiS_Pr->SiS_VCLKData[vclkindex].SR2C;
286 SiS_Generic_ConvertCRData(pSiS->SiS_Pr,
287 (unsigned char *)&pSiS->SiS_Pr->SiS_CRT1Table[index].CR[0],
288 pSiS->SiS_Pr->SiS_RefIndex[i].XRes,
289 pSiS->SiS_Pr->SiS_RefIndex[i].YRes, current);
291 if(pSiS->SiS_Pr->SiS_RefIndex[i].Ext_InfoFlag & 0x4000)
296 if(pSiS->SiS_Pr->SiS_RefIndex[i].Ext_InfoFlag & 0x8000)
301 if(pSiS->SiS_Pr->SiS_RefIndex[i].Ext_InfoFlag & 0x0080)
306 while(pSiS->SiS_Pr->SiS_EModeIDTable[j].Ext_ModeID != 0xff) {
307 if(pSiS->SiS_Pr->SiS_EModeIDTable[j].Ext_ModeID ==
308 pSiS->SiS_Pr->SiS_RefIndex[i].ModeID) {
309 if(pSiS->SiS_Pr->SiS_EModeIDTable[j].Ext_ModeFlag & DoubleScanMode) {
312 if(pSiS->SiS_Pr->SiS_EModeIDTable[j].Ext_ModeFlag & HalfDCLK) {
354 if(pSiS->SiS_Pr->CP_Vendor) {
356 pSiS->SiS_Pr->CP_Vendor, pSiS->SiS_Pr->CP_Product);
360 while((!done) && (SiS_PlasmaTable[i].vendor) && (pSiS->SiS_Pr->CP_Vendor)) {
362 if(SiS_PlasmaTable[i].vendor == pSiS->SiS_Pr->CP_Vendor) {
366 if(SiS_PlasmaTable[i].product[j] == pSiS->SiS_Pr->CP_Product) {
382 if(!(pSiS->VBFlags2 & VB2_LCDOVER1280BRIDGE)) {
403 pSiS->AddedPlasmaModes = TRUE;
448 if(current->HDisplay > pSiS->LCDwidth)
449 pSiS->LCDwidth = pSiS->SiS_Pr->CP_MaxX = current->HDisplay;
450 if(current->VDisplay > pSiS->LCDheight)
451 pSiS->LCDheight = pSiS->SiS_Pr->CP_MaxY = current->VDisplay;
467 if(pSiS->SiS_Pr->CP_HaveCustomData) {
471 if(pSiS->SiS_Pr->CP_DataValid[i]) {
488 sprintf(current->name, "%dx%d", pSiS->SiS_Pr->CP_HDisplay[i],
489 pSiS->SiS_Pr->CP_VDisplay[i]);
495 current->Clock = pSiS->SiS_Pr->CP_Clock[i];
498 current->HDisplay = pSiS->SiS_Pr->CP_HDisplay[i];
499 current->HSyncStart = pSiS->SiS_Pr->CP_HSyncStart[i];
500 current->HSyncEnd = pSiS->SiS_Pr->CP_HSyncEnd[i];
501 current->HTotal = pSiS->SiS_Pr->CP_HTotal[i];
503 current->VDisplay = pSiS->SiS_Pr->CP_VDisplay[i];
504 current->VSyncStart = pSiS->SiS_Pr->CP_VSyncStart[i];
505 current->VSyncEnd = pSiS->SiS_Pr->CP_VSyncEnd[i];
506 current->VTotal = pSiS->SiS_Pr->CP_VTotal[i];
509 current->CrtcHBlankStart = pSiS->SiS_Pr->CP_HBlankStart[i];
512 current->CrtcHBlankEnd = pSiS->SiS_Pr->CP_HBlankEnd[i];
516 current->CrtcVBlankStart = pSiS->SiS_Pr->CP_VBlankStart[i];
519 current->CrtcVBlankEnd = pSiS->SiS_Pr->CP_VBlankEnd[i];
522 if(pSiS->SiS_Pr->CP_SyncValid[i]) {
523 if(pSiS->SiS_Pr->CP_HSync_P[i])
528 if(pSiS->SiS_Pr->CP_VSync_P[i])
549 SISPtr pSiS = SISPTR(pScrn);
552 if(!SiSInitPtr(pSiS->SiS_Pr)) return -1;
557 if(pSiS->ROM661New) { /* Not XGI! */
566 while(pSiS->SiS_Pr->SiS_EModeIDTable[i].Ext_ModeID != 0xff) {
567 if(pSiS->SiS_Pr->SiS_EModeIDTable[i].Ext_ModeID == modenumber) {
568 return (int)pSiS->SiS_Pr->SiS_EModeIDTable[i].Ext_VESAID;
705 SiS_FindPanelFromDB(SISPtr pSiS, unsigned short panelvendor, unsigned short panelproduct,
722 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
739 SiS_SenseLCDDDC(struct SiS_Private *SiS_Pr, SISPtr pSiS)
749 int panel1280x960 = (pSiS->VGAEngine == SIS_315_VGA) ? Panel310_1280x960 : Panel300_1280x960;
760 if(!(pSiS->VBFlags2 & VB2_SISTMDSBRIDGE)) return 0;
761 if(pSiS->VBFlags2 & VB2_30xBDH) return 0;
773 if(SiS_InitDDCRegs(SiS_Pr, pSiS->VBFlags, pSiS->VGAEngine, adapternum, 0, FALSE, pSiS->VBFlags2) == 0xFFFF)
781 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_INFO,
799 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
809 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
824 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
830 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
837 pSiS->CRT2LCDMonitorGamma = (buffer[0x17] + 100) * 10;
852 if((indb = SiS_FindPanelFromDB(pSiS, panelvendor, panelproduct, &maxx, &maxy, &prefx, &prefy))) {
896 if(pSiS->VGAEngine == SIS_315_VGA) {
904 if((pSiS->VGAEngine == SIS_315_VGA) && (pSiS->VBFlags2 & VB2_30xC)) {
926 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_WARNING,
1047 (((pSiS->VBFlags2 & VB2_30xC) && (SiS_Pr->CP_Clock[i] > 162500)) ||
1048 ((!(pSiS->VBFlags2 & VB2_30xC)) &&
1066 SiS_MakeClockRegs(pSiS->pScrn, SiS_Pr->CP_Clock[i], &SiS_Pr->CP_PrefSR2B, &SiS_Pr->CP_PrefSR2C);
1129 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1136 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1140 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1143 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1150 pSiS->CRT2LCDMonitorGamma = (buffer[0x56] + 100) * 10;
1176 if(pSiS->VGAEngine == SIS_315_VGA) {
1238 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_WARNING,
1242 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_WARNING,
1252 if((SiS_FindPanelFromDB(pSiS, panelvendor, panelproduct, &maxx, &maxy, &prefx, &prefy))) {
1303 (((pSiS->VBFlags2 & VB2_30xC) && (SiS_Pr->CP_Clock[i] > 162500)) ||
1304 ((!(pSiS->VBFlags2 & VB2_30xC)) &&
1320 SiS_MakeClockRegs(pSiS->pScrn, SiS_Pr->CP_Clock[i], &SiS_Pr->CP_PrefSR2B, &SiS_Pr->CP_PrefSR2C);
1351 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1353 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1357 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1361 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1363 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_INFO,
1379 xf86DrvMsgVerb(pSiS->pScrn->scrnIndex, X_PROBED, 3,
1390 SiS_SenseVGA2DDC(struct SiS_Private *SiS_Pr, SISPtr pSiS)
1397 if(!(pSiS->VBFlags2 & VB2_SISVGA2BRIDGE)) return 0;
1411 if(SiS_InitDDCRegs(SiS_Pr, pSiS->VBFlags, pSiS->VGAEngine, 2, 0, FALSE, pSiS->VBFlags2) == 0xFFFF)
1428 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1437 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_PROBED,
1452 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_ERROR,
1457 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_ERROR,
1466 pSiS->CRT2VGAMonitorGamma = (buffer[0x17] + 100) * 10;
1473 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_ERROR,
1481 xf86DrvMsg(pSiS->pScrn->scrnIndex, X_ERROR,
1491 pSiS->CRT2VGAMonitorGamma = (buffer[0x56] + 100) * 10;