Lines Matching refs:pXGI

191 		CR37=XGI_GetReg(pXGI->XGI_Pr->P3d4, 0x37); \
252 void Volari_SetDefaultIdleWait(XGIPtr pXGI, unsigned HDisplay,
263 if (pXGI->Chipset == PCI_CHIP_XGIXG20) {
274 pXGI->idle_wait_count = wait_table[i][3 & (depth / 8)];
277 pXGI->idle_wait_count = 65535;
281 void Volari_Idle(XGIPtr pXGI)
292 for (i = 0; i < pXGI->idle_wait_count; i++) {
293 cqrp = MMIO_IN32(pXGI->IOBase, 0x85CC);
312 /* if (pXGI->Chipset == PCI_CHIP_XGIXG20)
321 XGIPtr pXGI = XGIPTR(pScrn);
325 switch (pXGI->Chipset) {
339 if(pXGI->Chipset == PCI_CHIP_XGIXG21)
351 if( pXGI->TurboQueue )
397 XGIPtr pXGI = XGIPTR(pScrn);
407 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c0, XGIMMIOLONG(0x85c0))) ;
408 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c4, XGIMMIOLONG(0x85c4))) ;
409 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c8, XGIMMIOLONG(0x85c8))) ;
410 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85cc, XGIMMIOLONG(0x85cc))) ;
419 if(( pXGI->Chipset == PCI_CHIP_XGIXG20 )||( pXGI->Chipset == PCI_CHIP_XGIXG21 )||( pXGI->Chipset == PCI_CHIP_XGIXG27 ))
423 switch(pXGI->cmdQueueSize)
434 pXGI->cmdQueueSize = 128*1024 ; /* reset the command queue */
435 pXGI->cmdQueueSizeMask = pXGI->cmdQueueSize - 1 ;
438 if( FbDevExist && (pXGI->Chipset != PCI_CHIP_XGIXG20 ) && (pXGI->Chipset != PCI_CHIP_XGIXG21 ) && (pXGI->Chipset != PCI_CHIP_XGIXG27 ) )
442 pXGI->cmdQueueOffset = 4*1024*1024 - pXGI->cmdQueueSize ;
446 pXGI->cmdQueueOffset = 8*1024*1024 - pXGI->cmdQueueSize ;
450 pXGI->cmdQueueOffset = 13*1024*1024 - pXGI->cmdQueueSize ;
455 pXGI->cmdQueueOffset = (pScrn->videoRam)*1024 - pXGI->cmdQueueSize ;
458 pXGI->cmdQueueLen = 0 ;
459 pXGI->cmdQueueLenMin = 0x200 ;
460 pXGI->cmdQueueLenMax = pXGI->cmdQueueSize - pXGI->cmdQueueLenMin ;
470 switch(pXGI->cmdQueueSize)
487 pXGI->cmdQueueSize = 512*1024 ; /* reset the command queue */
488 pXGI->cmdQueueSizeMask = pXGI->cmdQueueSize - 1 ;
491 if( FbDevExist && (pXGI->Chipset != PCI_CHIP_XGIXG20 ) && (pXGI->Chipset != PCI_CHIP_XGIXG21 ) && (pXGI->Chipset != PCI_CHIP_XGIXG27 ))
495 pXGI->cmdQueueOffset = 4*1024*1024 - pXGI->cmdQueueSize ;
499 pXGI->cmdQueueOffset = 8*1024*1024 - pXGI->cmdQueueSize ;
503 pXGI->cmdQueueOffset = 13*1024*1024 - pXGI->cmdQueueSize ;
508 pXGI->cmdQueueOffset = (pScrn->videoRam)*1024 - pXGI->cmdQueueSize ;
511 pXGI->cmdQueueLen = 0 ;
512 pXGI->cmdQueueLenMin = 0x200 ;
513 pXGI->cmdQueueLenMax = pXGI->cmdQueueSize - pXGI->cmdQueueLenMin ;
520 pXGI->CursorOffset = pXGI->cmdQueueOffset - VOLARI_CURSOR_SHAPE_SIZE;
522 temp = (unsigned long)pXGI->FbBase ;
523 temp += pXGI->cmdQueueOffset ;
524 pXGI->cmdQueueBase = (unsigned char *)temp ;
526 PDEBUG(ErrorF( "pXGI->FbBase = 0x%lX\n", pXGI->FbBase )) ;
527 PDEBUG(ErrorF( "pXGI->cmdQueueOffset = 0x%lX\n", pXGI->cmdQueueOffset )) ;
528 PDEBUG(ErrorF( "pXGI->cmdQueueBase = 0x%lX\n", pXGI->cmdQueueBase )) ;
534 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c0, XGIMMIOLONG(0x85c0))) ;
535 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c4, XGIMMIOLONG(0x85c4))) ;
536 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c8, XGIMMIOLONG(0x85c8))) ;
537 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85cc, XGIMMIOLONG(0x85cc))) ;
540 pXGI->cmdQueue_shareWP_only2D = ulXGITempRP;
541 /* pXGI->pCQ_shareWritePort = &(pXGI->cmdQueue_shareWP_only2D); */
547 MMIO_OUT32(pXGI->IOBase, 0x85C0, pXGI->cmdQueueOffset) ;
551 if(pXGI->Chipset == PCI_CHIP_XGIXG40)
553 Volari_Idle(pXGI);
555 Volari_Idle(pXGI);
560 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c0, XGIMMIOLONG(0x85c0))) ;
561 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c4, XGIMMIOLONG(0x85c4))) ;
562 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85c8, XGIMMIOLONG(0x85c8))) ;
563 PDEBUG(ErrorF( "pXGI->IOBase = 0x%08lX, [%04X] = 0x%08lX\n",(unsigned long)(pXGI->IOBase),0x85cc, XGIMMIOLONG(0x85cc))) ;
569 XGIPtr pXGI = XGIPTR(pScrn) ;
571 unsigned long ulValue = MMIO_IN32(pXGI->IOBase, 0x8240) ;
576 *(CARD32 *)(pXGI->cmdQueueBase+ulTemp) = (CARD32)BE_SWAP32(GR_SKPC_HEADER + 0x8240) ;
577 *(CARD32 *)(pXGI->cmdQueueBase+ulTemp+4) = (CARD32)BE_SWAP32(ulValue) ;
579 if( pXGI->Chipset == PCI_CHIP_XGIXG40 )
581 *(CARD32 *)(pXGI->cmdQueueBase+ulTemp+8) = (CARD32)BE_SWAP32(GR_NIL_CMD) ;
582 *(CARD32 *)(pXGI->cmdQueueBase+ulTemp+12) = (CARD32)BE_SWAP32(GR_NIL_CMD) ;
586 else if(( pXGI->Chipset == PCI_CHIP_XGIXG20 ) || ( pXGI->Chipset == PCI_CHIP_XGIXG21 ) || ( pXGI->Chipset == PCI_CHIP_XGIXG27 ))
589 ulTemp &= pXGI->cmdQueueSizeMask ;
596 XGIPtr pXGI = XGIPTR(pScrn) ;
600 Volari_Idle(pXGI);
602 if( pXGI->TurboQueue )
619 XGIPtr pXGI = XGIPTR(pScrn) ;
631 XGIPtr pXGI = XGIPTR(pScrn);
633 pXGI->DoColorExpand = FALSE;
644 XGIPtr pXGI = XGIPTR(pScrn);
658 if( !((pXGI->Chipset == PCI_CHIP_XGIXG21) && ForceToDisable2DEngine(pScrn)) && !(pXGI->useEXA) )
661 pXGI->AccelInfoPtr = infoPtr = XAACreateInfoRec();
723 if(pXGI->useEXA)
730 if(!(pXGI->EXADriverPtr = exaDriverAlloc()))
732 if(!(pXGI->EXADriverPtr = xnfcalloc(sizeof(ExaDriverRec), 1)))
742 pXGI->EXADriverPtr->exa_major = 2;
743 pXGI->EXADriverPtr->exa_minor = 0;
745 pXGI->EXADriverPtr->memoryBase = pXGI->FbBase;
746 pXGI->EXADriverPtr->memorySize = pXGI->maxxfbmem;
748 pXGI->EXADriverPtr->card.memoryBase = pXGI->FbBase;
749 pXGI->EXADriverPtr->card.memorySize = pXGI->maxxfbmem;
757 pXGI->EXADriverPtr->offScreenBase = obase;
758 if(pXGI->EXADriverPtr->memorySize > pXGI->EXADriverPtr->offScreenBase)
761 pXGI->EXADriverPtr->flags = EXA_OFFSCREEN_PIXMAPS;
763 pXGI->EXADriverPtr->card.offScreenBase = obase;
765 if(pXGI->EXADriverPtr->card.memorySize > pXGI->EXADriverPtr->card.offScreenBase)
767 pXGI->EXADriverPtr->card.flags = EXA_OFFSCREEN_PIXMAPS;
772 pXGI->NoXvideo = TRUE;
779 pXGI->EXADriverPtr->pixmapOffsetAlign = 32; /* 16; */ /* src/dst: double quad word boundary */
780 pXGI->EXADriverPtr->pixmapPitchAlign = 4; /* pitch: double word boundary */
781 pXGI->EXADriverPtr->maxX = 4095;
782 pXGI->EXADriverPtr->maxY = 4095;
784 pXGI->EXADriverPtr->card.pixmapOffsetAlign = 32; /* 16; */ /* src/dst: double quad word boundary */
785 pXGI->EXADriverPtr->card.pixmapPitchAlign = 4; /* pitch: double word boundary */
786 pXGI->EXADriverPtr->card.maxX = 4095;
787 pXGI->EXADriverPtr->card.maxY = 4095;
795 pXGI->EXADriverPtr->WaitMarker = XGIEXASync;
798 pXGI->EXADriverPtr->PrepareSolid = XGIPrepareSolid;
799 pXGI->EXADriverPtr->Solid = XGISolid;
800 pXGI->EXADriverPtr->DoneSolid = XGIDoneSolid;
803 pXGI->EXADriverPtr->PrepareCopy = XGIPrepareCopy;
804 pXGI->EXADriverPtr->Copy = XGICopy;
805 pXGI->EXADriverPtr->DoneCopy = XGIDoneCopy;
808 pXGI->EXADriverPtr->UploadToScreen = XGIUploadToScreen;
809 pXGI->EXADriverPtr->DownloadFromScreen = XGIDownloadFromScreen;
812 pXGI->EXADriverPtr->CheckComposite = XGICheckComposite;
813 pXGI->EXADriverPtr->PrepareComposite = XGIPrepareComposite;
814 pXGI->EXADriverPtr->Composite = XGIComposite;
815 pXGI->EXADriverPtr->DoneComposite = XGIDoneComposite;
821 pXGI->EXADriverPtr->accel.WaitMarker = XGIEXASync;
824 pXGI->EXADriverPtr->accel.PrepareSolid = XGIPrepareSolid;
825 pXGI->EXADriverPtr->accel.Solid = XGISolid;
826 pXGI->EXADriverPtr->accel.DoneSolid = XGIDoneSolid;
829 pXGI->EXADriverPtr->accel.PrepareCopy = XGIPrepareCopy;
830 pXGI->EXADriverPtr->accel.Copy = XGICopy;
831 pXGI->EXADriverPtr->accel.DoneCopy = XGIDoneCopy;
834 pXGI->EXADriverPtr->accel.UploadToScreen = XGIUploadToScreen;
835 pXGI->EXADriverPtr->accel.DownloadFromScreen = XGIDownloadFromScreen;
838 pXGI->EXADriverPtr->accel.CheckComposite = XGICheckComposite;
839 pXGI->EXADriverPtr->accel.PrepareComposite = XGIPrepareComposite;
840 pXGI->EXADriverPtr->accel.Composite = XGIComposite;
841 pXGI->EXADriverPtr->accel.DoneComposite = XGIDoneComposite;
848 if(!(pXGI->useEXA)) {
851 if (pXGI->TurboQueue)
853 reservedFbSize += pXGI->cmdQueueSize ;
856 if (pXGI->HWCursor)
862 reservedFbSize += (pXGI->ColorExpandBufferNumber * pXGI->PerColorExpandBufferSize);
865 UsableFbSize = pXGI->FbMapSize - reservedFbSize;
866 AvailBufBase = pXGI->FbBase + UsableFbSize;
868 for (i = 0; i < pXGI->ColorExpandBufferNumber; i++) {
869 const int base = i * pXGI->PerColorExpandBufferSize;
871 pXGI->ColorExpandBufferAddr[i] = AvailBufBase + base;
872 pXGI->ColorExpandBufferScreenOffset[i] = UsableFbSize + base;
876 reservedFbSize += pXGI->ImageWriteBufferSize;
877 UsableFbSize = pXGI->FbMapSize - reservedFbSize;
878 pXGI->ImageWriteBufferAddr = AvailBufBase = pXGI->FbBase + UsableFbSize;
879 infoPtr->ImageWriteRange = pXGI->ImageWriteBufferAddr;
890 if( FbDevExist && (pXGI->Chipset != PCI_CHIP_XGIXG20 ) && (pXGI->Chipset != PCI_CHIP_XGIXG27 ) )
903 Avail.y2 = UsableFbSize / pXGI->scrnOffset ;
911 UsableFbSize = pXGI->CursorOffset ;
915 Avail.y2 = UsableFbSize / pXGI->scrnOffset ;
939 if(pXGI->useEXA)
942 if(!exaDriverInit(pScreen, pXGI->EXADriverPtr)) {
947 pXGI->exa_scratch = exaOffscreenAlloc(pScreen, 128 * 1024, 16, TRUE,
948 XGIScratchSave, pXGI);
949 if(pXGI->exa_scratch)
951 pXGI->exa_scratch_next = pXGI->exa_scratch->offset;
954 pXGI->EXADriverPtr->UploadToScratch = XGIUploadToScratch;
956 pXGI->EXADriverPtr->accel.UploadToScratch = XGIUploadToScratch;
968 XGIPtr pXGI = XGIPTR(pScrn);
971 pXGI->DoColorExpand = FALSE;
972 Volari_Idle(pXGI);
1023 XGIPtr pXGI = XGIPTR(pScrn);
1070 Volari_SetupDSTColorDepth(pXGI->DstColor);
1071 Volari_SetupSRCPitch(pXGI->scrnOffset) ;
1072 Volari_SetupDSTRect(pXGI->scrnOffset, Dst_Hight) ;
1083 XGIPtr pXGI = XGIPTR(pScrn);
1101 srcbase = pXGI->scrnOffset * mymin;
1102 dstbase = pXGI->scrnOffset * mymin;
1110 srcbase = pXGI->scrnOffset * src_y;
1115 dstbase = pXGI->scrnOffset * dst_y;
1122 srcbase=pXGI->scrnOffset*src_y;
1127 dstbase=pXGI->scrnOffset*dst_y;
1152 XGIPtr pXGI = XGIPTR(pScrn);
1156 PDEBUG1(ErrorF("DstPitch = #%04lX ",(pXGI->scrnOffset))) ;
1162 Volari_SetupDSTRect(pXGI->scrnOffset, Dst_Hight) ;
1174 XGIPtr pXGI = XGIPTR(pScrn);
1183 dstbase=pXGI->scrnOffset*y;
1201 XGIPtr pXGI = XGIPTR(pScrn);
1208 Volari_SetupDSTRect(pXGI->scrnOffset, Dst_Hight) ;
1214 Volari_SetupDSTColorDepth(pXGI->DstColor) ;
1223 XGIPtr pXGI = XGIPTR(pScrn);
1231 dstbase=pXGI->scrnOffset*y;
1240 /*Volari_Idle(pXGI)*/;
1249 XGIPtr pXGI = XGIPTR(xf86Screens[pScreen->myNum]);
1260 XGIPtr pXGI = XGIPTR(pScrn);
1295 pXGI->fillDstBase = (CARD32)exaGetPixmapOffset(pPixmap); /* FBOFFSET is not used for Z-series */
1296 PACCELDEBUG(ErrorF("pXGI->fillDstBase=0x%x...\n", pXGI->fillDstBase));
1305 XGIPtr pXGI = XGIPTR(pScrn);
1309 PACCELDEBUG(ErrorF("pXGI->CommandReg = 0x%x...\n", pXGI->CommandReg));
1314 Volari_SetupDSTBase(pXGI->fillDstBase);
1329 XGIPtr pXGI = XGIPTR(pScrn);
1389 XGIPtr pXGI = XGIPTR(pScrn);
1416 XGIPtr pXGI = XGIPTR(pScrn);
1442 XGIPtr pXGI = XGIPTR(pScrn);
1457 XGIPtr pXGI = XGIPTR(pScrn);
1481 void XGIMemCopyToVideoRam(XGIPtr pXGI, unsigned char *to, unsigned char *from, int size)
1515 void XGIMemCopyFromVideoRam(XGIPtr pXGI, unsigned char *to, unsigned char *from, int size)
1552 XGIPtr pXGI = XGIPTR(pScrn);
1584 XGIMemCopyToVideoRam(pXGI, dst, (unsigned char *)src,
1590 XGIMemCopyToVideoRam(pXGI, dst, (unsigned char *)src,
1605 XGIPtr pXGI = XGIPTR(pScrn);
1616 pXGI->EXADriverPtr->pixmapPitchAlign - 1) &
1617 ~(pXGI->EXADriverPtr->pixmapPitchAlign - 1);
1620 pXGI->EXADriverPtr->card.pixmapPitchAlign - 1) &
1621 ~(pXGI->EXADriverPtr->card.pixmapPitchAlign - 1);
1626 if(size > pXGI->exa_scratch->size)
1631 pXGI->exa_scratch_next = (pXGI->exa_scratch_next +
1632 pXGI->EXADriverPtr->pixmapOffsetAlign - 1) &
1633 ~(pXGI->EXADriverPtr->pixmapOffsetAlign - 1);
1635 pXGI->exa_scratch_next = (pXGI->exa_scratch_next +
1636 pXGI->EXADriverPtr->card.pixmapOffsetAlign - 1) &
1637 ~(pXGI->EXADriverPtr->card.pixmapOffsetAlign - 1);
1640 if(pXGI->exa_scratch_next + size >
1641 pXGI->exa_scratch->offset + pXGI->exa_scratch->size) {
1643 (pXGI->EXADriverPtr->WaitMarker)(pSrc->drawable.pScreen, 0);
1645 (pXGI->EXADriverPtr->accel.WaitMarker)(pSrc->drawable.pScreen, 0);
1647 pXGI->exa_scratch_next = pXGI->exa_scratch->offset;
1653 pDst->devPrivate.ptr = pXGI->EXADriverPtr->memoryBase + pXGI->exa_scratch_next;
1655 pDst->devPrivate.ptr = pXGI->EXADriverPtr->card.memoryBase + pXGI->exa_scratch_next;
1658 pXGI->exa_scratch_next += size;
1671 XGIMemCopyToVideoRam(pXGI, dst, src, size);
1683 XGIPtr pXGI = XGIPTR(pScrn);
1707 XGIMemCopyFromVideoRam(pXGI, (unsigned char *)dst, src,
1713 XGIMemCopyFromVideoRam(pXGI, (unsigned char *)dst, src,
1725 XGIPtr pXGI = XGIPTR(xf86Screens[pScreen->myNum]);
1726 pXGI->exa_scratch = NULL;
1733 XGIPtr pXGI = XGIPTR(pScrn);
1744 ErrorF("pXGI->cmdQueueBase=%p\n", pXGI->cmdQueueBase) ;
1748 (unsigned long)*(CARD32 *)(pXGI->cmdQueueBase+i));