Lines Matching defs:psav
88 SavagePtr psav = SAVPTR(pScrn);
90 if(psav->xvmcContext)
94 psav->DRIrunning++;
104 SavagePtr psav = SAVPTR(pScrn);
106 psav->DRIrunning--;
113 SavagePtr psav = SAVPTR(pScrn);
115 psav->pDRIInfo->wrap.WakeupHandler = psav->coreWakeupHandler;
116 (*psav->pDRIInfo->wrap.WakeupHandler) (WAKEUPHANDLER_ARGS);
117 psav->pDRIInfo->wrap.WakeupHandler = SAVAGEWakeupHandler;
118 psav->LockHeld = 1;
119 if (psav->ShadowStatus) {
122 if (psav->ShadowCounter != (psav->ShadowVirtual[1023] & 0xffff))
125 psav->ShadowCounter, psav->ShadowVirtual[1023] & 0xffff);
127 psav->ShadowCounter = psav->ShadowVirtual[1023] & 0xffff;
129 if (psav->useEXA)
133 psav->AccelInfoRec->NeedToSync = TRUE;
142 SavagePtr psav = SAVPTR(pScrn);
144 if (psav->ShadowStatus) {
146 CARD32 globalShadowCounter = psav->ShadowVirtual[1023];
148 ((CARD32)psav->ShadowCounter & 0x0000ffff);
151 if (globalShadowCounter != psav->ShadowVirtual[1023])
154 psav->ShadowVirtual[1023], globalShadowCounter);
156 psav->ShadowVirtual[1023] = globalShadowCounter;
158 psav->LockHeld = 0;
159 psav->pDRIInfo->wrap.BlockHandler = psav->coreBlockHandler;
160 (*psav->pDRIInfo->wrap.BlockHandler) (BLOCKHANDLER_ARGS);
161 psav->pDRIInfo->wrap.BlockHandler = SAVAGEBlockHandler;
166 SavagePtr psav = SAVPTR(pScrn);
167 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
169 psav->WaitIdleEmpty(psav);
189 psav->WaitIdleEmpty(psav);
204 static Bool SAVAGESetAgpMode(SavagePtr psav, ScreenPtr pScreen)
206 unsigned long mode = drmAgpGetMode( psav->drmFD ); /* Default mode */
207 unsigned int vendor = drmAgpVendorId( psav->drmFD );
208 unsigned int device = drmAgpDeviceId( psav->drmFD );
212 switch ( psav->agpMode ) {
225 VENDOR_ID(psav->PciInfo),
226 DEVICE_ID(psav->PciInfo));
228 if ( drmAgpEnable( psav->drmFD, mode ) < 0 ) {
230 drmAgpRelease( psav->drmFD );
240 SavagePtr psav = SAVPTR(pScrn);
241 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
245 if (psav->agpSize < 2)
246 psav->agpSize = 2; /* at least 2MB for DMA buffers */
248 pSAVAGEDRIServer->agp.size = psav->agpSize * 1024 * 1024;
251 if ( drmAgpAcquire( psav->drmFD ) < 0 ) {
256 if (!SAVAGESetAgpMode(psav, pScreen)) {
261 ret = drmAgpAlloc( psav->drmFD, pSAVAGEDRIServer->agp.size,
265 drmAgpRelease( psav->drmFD );
274 if ( drmAgpBind( psav->drmFD, pSAVAGEDRIServer->agp.handle, 0 ) < 0 ) {
276 drmAgpFree( psav->drmFD, pSAVAGEDRIServer->agp.handle );
277 drmAgpRelease( psav->drmFD );
293 if ( psav->AgpDMA ) {
294 if ( psav->CommandDMA ) {
298 } else if ( psav->VertexDMA ) {
305 if (psav->AGPforXv) {
319 if ( psav->AgpDMA ) {
320 if ( psav->CommandDMA ) {
321 if ( drmAddMap( psav->drmFD,
334 if ( drmMap( psav->drmFD,
346 } else if ( psav->VertexDMA ) {
347 if ( drmAddMap( psav->drmFD,
360 if ( drmMap( psav->drmFD,
378 if ( drmAddMap( psav->drmFD,
396 if ( drmAddMap( psav->drmFD,
411 if ( drmMap( psav->drmFD,
431 SavagePtr psav = SAVPTR(pScrn);
432 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
436 if ( drmAddMap( psav->drmFD,
437 (drm_handle_t)psav->MmioRegion.base,
448 if ( drmAddMap( psav->drmFD,
449 (drm_handle_t)(psav->ApertureRegion.base),
462 /*if(drmMap(psav->drmFD,
473 if ( !psav->AgpDMA && psav->CommandDMA ) {
475 if ( drmAddMap( psav->drmFD, 0, pSAVAGEDRIServer->cmdDma.size,
479 psav->CommandDMA = FALSE;
489 if ( !psav->ShadowStatus && !psav->ForceShadowStatus ) {
490 psav->ShadowStatus = TRUE;
497 if ( psav->ShadowStatus ) {
500 if ( drmAddMap( psav->drmFD, 0, pSAVAGEDRIServer->status.size,
511 if ( drmMap( psav->drmFD,
523 psav->ShadowPhysical = pSAVAGEDRIServer->status.handle;
524 psav->ShadowVirtual = pSAVAGEDRIServer->status.map;
533 SavagePtr psav = SAVPTR(pScrn);
534 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
537 if ( !psav->VertexDMA || psav->CommandDMA ) {
538 /* At this point psav->CommandDMA == TRUE means that CommandDMA
540 psav->VertexDMA = FALSE;
544 if ( psav->AgpDMA ) {
545 count = drmAddBufs( psav->drmFD,
549 count = drmAddBufs( psav->drmFD,
564 pSAVAGEDRIServer->drmBuffers = drmMapBufs( psav->drmFD );
581 SavagePtr psav = SAVPTR(pScrn);
582 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
591 init.cob_size = psav->cobSize/4; /* size in 32-bit entries */
592 init.bci_threshold_lo = psav->bciThresholdLo;
593 init.bci_threshold_hi = psav->bciThresholdHi;
594 init.dma_type = psav->AgpDMA ? SAVAGE_DMA_AGP : SAVAGE_DMA_PCI;
618 if ( psav->CommandDMA )
620 else if ( psav->VertexDMA )
623 ret = drmCommandWrite( psav->drmFD, DRM_SAVAGE_BCI_INIT, &init, sizeof(init) );
636 SavagePtr psav = SAVPTR(pScrn);
683 psav->pDRIInfo = pDRIInfo;
688 pDRIInfo->busIdString = DRICreatePCIBusID(psav->PciInfo);
693 psav->PciInfo->bus,
695 psav->PciInfo->dev,
697 psav->PciInfo->device,
699 psav->PciInfo->func);
705 pDRIInfo->frameBufferPhysicalAddress = (pointer)(uintptr_t) psav->FbRegion.base;
706 pDRIInfo->frameBufferSize = psav->videoRambytes;
711 psav->coreBlockHandler = pDRIInfo->wrap.BlockHandler;
713 psav->coreWakeupHandler = pDRIInfo->wrap.WakeupHandler;
743 DRIDestroyInfoRec( psav->pDRIInfo );
744 psav->pDRIInfo = 0;
754 DRIDestroyInfoRec( psav->pDRIInfo );
755 psav->pDRIInfo = 0;
760 psav->DRIServerInfo = pSAVAGEDRIServer;
778 if ( !DRIScreenInit( pScreen, pDRIInfo, &psav->drmFD ) ) {
780 psav->DRIServerInfo = 0;
783 DRIDestroyInfoRec( psav->pDRIInfo );
784 psav->pDRIInfo = 0;
792 drmVersionPtr version = drmGetVersion(psav->drmFD);
808 if ( psav->CommandDMA && version->version_minor < 4 ) {
811 psav->CommandDMA = FALSE;
813 if ( !psav->VertexDMA && version->version_minor < 4 ) {
824 if ( !psav->IsPCI && !SAVAGEDRIAgpInit( pScreen ) ) {
831 psav->IsPCI = TRUE;
832 psav->AgpDMA = FALSE;
859 static void SAVAGEDRISetupTiledSurfaceRegs( SavagePtr psav )
861 SAVAGEDRIPtr pSAVAGEDRI = (SAVAGEDRIPtr)psav->pDRIInfo->devPrivate;
871 if ((psav->Chipset == S3_SAVAGE_MX) /* 3D/MX/IX seem to set up the tile stride differently */
872 || (psav->Chipset == S3_SAVAGE3D)) {
875 value |= ((psav->lDelta / 4) >> 5) << 24;
878 value |= ((psav->lDelta / 4) >> 5) << 24;
895 if (psav->Chipset == S3_SUPERSAVAGE) /* supersavages have a different shift */
906 SavagePtr psav = SAVPTR(pScrn);
907 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
908 SAVAGEDRIPtr pSAVAGEDRI = (SAVAGEDRIPtr)psav->pDRIInfo->devPrivate;
911 if ( !psav->pDRIInfo )
914 psav->pDRIInfo->driverSwapMethod = DRI_KERNEL_SWAP;
925 psav->LockHeld = 1;
932 pSAVAGEDRI->chipset = psav->Chipset;
939 pSAVAGEDRI->agpMode = psav->IsPCI ? 0 : psav->agpMode;
972 pSAVAGEDRI->aperturePitch = psav->ulAperturePitch;
1064 SAVAGEDRISetupTiledSurfaceRegs( psav );
1071 SavagePtr psav = SAVPTR(pScrn);
1075 if (!psav->IsPCI) {
1076 SAVAGESetAgpMode(psav, pScreen);
1078 SAVAGEDRISetupTiledSurfaceRegs(psav);
1087 SavagePtr psav = SAVPTR(pScrn);
1088 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
1118 drmRmMap(psav->drmFD,pSAVAGEDRIServer->status.handle);
1121 drmRmMap(psav->drmFD,pSAVAGEDRIServer->registers.handle);
1124 drmRmMap(psav->drmFD,pSAVAGEDRIServer->registers.handle);
1127 drmRmMap(psav->drmFD,pSAVAGEDRIServer->agpXVideo.handle);
1130 drmRmMap(psav->drmFD,pSAVAGEDRIServer->agpTextures.handle);
1133 drmRmMap(psav->drmFD,pSAVAGEDRIServer->cmdDma.handle);
1141 drmAgpUnbind( psav->drmFD, pSAVAGEDRIServer->agp.handle );
1142 drmAgpFree( psav->drmFD, pSAVAGEDRIServer->agp.handle );
1144 drmAgpRelease( psav->drmFD );
1152 psav->ShadowVirtual = NULL;
1153 psav->ShadowPhysical = 0;
1155 if(psav->reserved)
1156 xf86FreeOffscreenLinear(psav->reserved);
1158 if ( psav->pDRIInfo ) {
1159 if ( psav->pDRIInfo->devPrivate ) {
1160 free( psav->pDRIInfo->devPrivate );
1161 psav->pDRIInfo->devPrivate = 0;
1163 DRIDestroyInfoRec( psav->pDRIInfo );
1164 psav->pDRIInfo = 0;
1166 if ( psav->DRIServerInfo ) {
1167 free( psav->DRIServerInfo );
1168 psav->DRIServerInfo = 0;
1177 SavagePtr psav = SAVPTR(pScrn);
1184 if (!psav->LockHeld) {
1205 ret = drmCommandWrite(psav->drmFD, DRM_SAVAGE_BCI_CMDBUF,
1227 SavagePtr psav = SAVPTR(pScrn);
1238 if (!psav->LockHeld) {
1365 if (psav->useEXA)
1369 psav->AccelInfoRec->NeedToSync = TRUE;
1382 SavagePtr psav = SAVPTR(pScrn);
1393 psav->SavedBciCmd = cmd;
1394 psav->SavedBgColor = transparency_color;
1408 SavagePtr psav = SAVPTR(pScrn);
1412 if (!(psav->SavedBciCmd & BCI_CMD_RECT_XP)) {
1418 if (!(psav->SavedBciCmd & BCI_CMD_RECT_YP)) {
1425 psav->WaitQueue(psav,6);
1426 BCI_SEND(psav->SavedBciCmd);
1427 if (psav->SavedBgColor != -1)
1428 BCI_SEND(psav->SavedBgColor);
1444 SavagePtr psav = SAVPTR(pScrn);
1447 SAVAGEDRIPtr pSAVAGEDRI = (SAVAGEDRIPtr)psav->pDRIInfo->devPrivate;
1508 SavagePtr psav = SAVPTR(pScrn);
1512 psav->WaitIdleEmpty(psav);
1523 if (!psav->bTiled) {
1525 (((psav->lDelta * 2) << 16) & 0x3FFFE000) |
1526 (psav->lDelta & 0x00001fff));
1531 (((psav->lDelta * 2) << 16) & 0x3FFFE000)
1532 | 0x80000000 | (psav->lDelta & 0x00001fff));
1536 (((psav->lDelta * 2) << 16) & 0x3FFFE000)
1537 | 0xC0000000 | (psav->lDelta & 0x00001fff));
1545 OUTREG32(S3_GLB_BD_LOW,psav->GlobalBD.bd2.LoPart );
1546 OUTREG32(S3_GLB_BD_HIGH,psav->GlobalBD.bd2.HiPart | BCI_ENABLE | S3_LITTLE_ENDIAN | S3_BD64);