Lines Matching refs:pTga
256 TGAPtr pTga;
261 pTga = TGAPTR(pScrn);
263 if(pTga->buffers[0])
264 free(pTga->buffers[0]);
399 /* TGAPtr pTga = TGAPTR(pScrn); */
423 TGAPtr pTga;
452 pTga = TGAPTR(pScrn);
467 pTga->pEnt = xf86GetEntityInfo(pScrn->entityList[i]);
469 if (pTga->pEnt->resources) return FALSE;
471 pTga->Chipset = pTga->pEnt->chipset;
473 pTga->pEnt->chipset);
476 if (pTga->pEnt->location.type == BUS_PCI) {
477 pciPtr = xf86GetPciInfoForEntity(pTga->pEnt->index);
478 pTga->PciInfo = pciPtr;
480 pTga->PciTag = pciTag(pTga->PciInfo->bus,
481 pTga->PciInfo->device,
482 pTga->PciInfo->func);
495 "ChipID 0x%04X is not recognised\n", pTga->Chipset);
498 if (pTga->Chipset < 0) {
508 pTga->PciTag = pciTag(pTga->PciInfo->bus, pTga->PciInfo->device,
509 pTga->PciInfo->func);
540 if (!(pTga->Options = malloc(sizeof(TGAOptions))))
542 memcpy(pTga->Options, TGAOptions, sizeof(TGAOptions));
543 xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pTga->Options);
544 if (xf86ReturnOptValBool(pTga->Options, OPTION_PCI_RETRY, FALSE)) {
545 pTga->UsePCIRetry = TRUE;
549 if(xf86ReturnOptValBool(pTga->Options, OPTION_SYNC_ON_GREEN, FALSE)) {
550 pTga->SyncOnGreen = TRUE;
554 if(xf86ReturnOptValBool(pTga->Options, OPTION_DAC_6_BIT, FALSE)) {
555 pTga->Dac6Bit = TRUE;
559 if(xf86ReturnOptValBool(pTga->Options, OPTION_NOXAAPOLYSEGMENT, FALSE)) {
560 pTga->NoXaaPolySegment = TRUE;
610 if(pTga->Dac6Bit)
617 pTga->HWCursor = TRUE;
618 if (xf86GetOptValBool(pTga->Options, OPTION_HW_CURSOR, &pTga->HWCursor))
620 if (xf86ReturnOptValBool(pTga->Options, OPTION_SW_CURSOR, FALSE)) {
622 pTga->HWCursor = FALSE;
626 pTga->HWCursor = FALSE;
632 pTga->HWCursor ? "HW" : "SW");
634 if (xf86ReturnOptValBool(pTga->Options, OPTION_NOACCEL, FALSE)) {
635 pTga->NoAccel = TRUE;
639 if (pTga->pEnt->device->MemBase != 0) {
640 pTga->CardAddress = pTga->pEnt->device->MemBase;
643 pTga->CardAddress = PCI_REGION_BASE(pTga->PciInfo, 0, REGION_MEM) & 0xFFC00000;/*??*/
646 pTga->FbAddress = pTga->CardAddress;
648 pTga->IOAddress = pTga->CardAddress + TGA_REGS_OFFSET;
657 if(pTga->pEnt->device->videoRam) {
658 switch(pTga->pEnt->device->videoRam) {
660 pTga->CardType = TYPE_TGA_8PLANE;
663 pTga->CardType = TYPE_TGA_24PLANE;
666 pTga->CardType = TYPE_TGA_24PLUSZ;
671 pTga->pEnt->device->videoRam);
676 switch (pTga->Chipset)
681 pTga->PciTag, pTga->IOAddress, 0x1000);
686 int err = pci_device_map_range(pTga->PciInfo,
687 pTga->IOAddress,
695 pTga->CardType = (*(unsigned int *)((char *)Base+TGA_REVISION_REG) >> 21) & 0x3;
696 pTga->CardType ^= (pTga->CardType == 1) ? 0 : 3;
701 pci_device_unmap_range(pTga->PciInfo, Base, 0x1000);
707 pTga->PciTag, pTga->FbAddress, 4);
711 int err = pci_device_map_range(pTga->PciInfo,
712 pTga->FbAddress,
720 pTga->CardType = (*(unsigned int *)Base >> 12) & 0xf;
724 pci_device_unmap_range(pTga->PciInfo, Base, 4);
730 switch (pTga->CardType) {
735 tga_cardnames[pTga->CardType]);
739 "Card \"0x%02x\" is not recognised\n", pTga->CardType);
742 pTga->CardType = TYPE_TGA_8PLANE;
747 pTga->FbAddress += fb_offset_presets[pTga->CardType];
749 if (!(((pScrn->depth == 8) && (pTga->CardType == TYPE_TGA_8PLANE)) ||
750 ((pScrn->depth == 24) && (pTga->CardType == TYPE_TGA_24PLANE)) ||
751 ((pScrn->depth == 24) && (pTga->CardType == TYPE_TGA_24PLUSZ)))) {
759 (unsigned long)pTga->FbAddress);
762 (unsigned long)pTga->IOAddress);
767 if (xf86RegisterResources(pTga->pEnt->index, NULL, ResExclusive)) {
776 pTga->HwBpp = pScrn->bitsPerPixel;
778 if (pTga->pEnt->device->videoRam != 0) {
779 pScrn->videoRam = pTga->pEnt->device->videoRam;
782 switch (pTga->CardType) {
798 pTga->FbMapSize = pScrn->videoRam * 1024;
806 if (!pTga->NoAccel || pTga->HWCursor) {
818 pTga->RamDac = NULL;
820 if (pTga->CardType != TYPE_TGA_8PLANE) {
821 pTga->RamDacRec = NULL;
822 pTga->RamDac = NULL;
825 pTga->RamDacRec = RamDacCreateInfoRec();
826 switch (pTga->Chipset)
829 pTga->RamDacRec->ReadDAC = tgaBTInIndReg;
830 pTga->RamDacRec->WriteDAC = tgaBTOutIndReg;
831 pTga->RamDacRec->ReadAddress = tgaBTReadAddress;
832 pTga->RamDacRec->WriteAddress = tgaBTWriteAddress;
833 pTga->RamDacRec->ReadData = tgaBTReadData;
834 pTga->RamDacRec->WriteData = tgaBTWriteData;
837 pTga->RamDacRec->ReadDAC = tga2BTInIndReg;
838 pTga->RamDacRec->WriteDAC = tga2BTOutIndReg;
839 pTga->RamDacRec->ReadAddress = tga2BTReadAddress;
840 pTga->RamDacRec->WriteAddress = tga2BTWriteAddress;
841 pTga->RamDacRec->ReadData = tga2BTReadData;
842 pTga->RamDacRec->WriteData = tga2BTWriteData;
846 if (!RamDacInit(pScrn, pTga->RamDacRec)) {
847 RamDacDestroyInfoRec(pTga->RamDacRec);
853 pTga->RamDac = BTramdacProbe(pScrn, BTramdacs);
857 if (pTga->RamDac == NULL)
868 pTga->MinClock = 16250; /* XXX Guess, need to check this */
870 pTga->MinClock / 1000);
876 if (pTga->pEnt->device->dacSpeeds[0]) {
881 speed = pTga->pEnt->device->dacSpeeds[DAC_BPP8];
884 speed = pTga->pEnt->device->dacSpeeds[DAC_BPP32];
888 pTga->MaxClock = pTga->pEnt->device->dacSpeeds[0];
890 pTga->MaxClock = speed;
893 switch (pTga->Chipset) {
895 pTga->MaxClock = 135000;
898 pTga->MaxClock = 170000;
903 pTga->MaxClock / 1000);
911 clockRanges->minClock = pTga->MinClock;
912 clockRanges->maxClock = pTga->MaxClock;
941 pTga->FbMapSize,
981 if (pTga->Chipset == PCI_CHIP_TGA2) {
1002 TGAPtr pTga;
1004 pTga = TGAPTR(pScrn);
1014 pTga->IOBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
1015 pTga->PciTag,
1016 pTga->IOAddress, 0x100000);
1019 void** result = (void**)&pTga->IOBase;
1020 int err = pci_device_map_range(pTga->PciInfo,
1021 pTga->IOAddress,
1029 if (pTga->IOBase == NULL)
1033 pTga->FbBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
1034 pTga->PciTag,
1035 (unsigned long)pTga->FbAddress,
1036 pTga->FbMapSize);
1039 void** result = (void**)&pTga->FbBase;
1040 int err = pci_device_map_range(pTga->PciInfo,
1041 pTga->FbAddress,
1042 pTga->FbMapSize,
1050 if (pTga->FbBase == NULL)
1053 if (pTga->Chipset == PCI_CHIP_DEC21030)
1057 pTga->ClkBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
1058 pTga->PciTag,
1059 (unsigned long)pTga->CardAddress + TGA2_CLOCK_OFFSET,
1063 void** result = (void**)&pTga->ClkBase;
1064 int err = pci_device_map_range(pTga->PciInfo,
1065 pTga->CardAddress + TGA2_CLOCK_OFFSET,
1073 if (pTga->ClkBase == NULL)
1077 pTga->DACBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
1078 pTga->PciTag,
1079 (unsigned long)pTga->CardAddress + TGA2_RAMDAC_OFFSET,
1083 void** result = (void**)&pTga->DACBase;
1084 int err = pci_device_map_range(pTga->PciInfo,
1085 pTga->CardAddress + TGA2_RAMDAC_OFFSET,
1093 if (pTga->DACBase == NULL)
1111 pTga->HACKBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
1112 pTga->PciTag,
1113 (unsigned long)pTga->FbAddress - getpagesize(),
1117 void** result = (void**)&pTga->DACBase;
1118 int err = pci_device_map_range(pTga->PciInfo,
1119 pTga->FbAddress - getpagesize(),
1129 if (pTga->HACKBase == NULL)
1143 TGAPtr pTga;
1145 pTga = TGAPTR(pScrn);
1148 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->IOBase, 0x100000);
1150 pci_device_unmap_range(pTga->PciInfo, pTga->IOBase, 0x100000);
1152 pTga->IOBase = NULL;
1155 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->FbBase, pTga->FbMapSize);
1157 pci_device_unmap_range(pTga->PciInfo, pTga->FbBase, pTga->FbMapSize);
1159 pTga->FbBase = NULL;
1161 if (pTga->Chipset == PCI_CHIP_DEC21030)
1165 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->ClkBase, 0x10000);
1167 pci_device_unmap_range(pTga->PciInfo, pTga->ClkBase, 0x10000);
1169 pTga->ClkBase = NULL;
1172 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->DACBase, 0x10000);
1174 pci_device_unmap_range(pTga->PciInfo, pTga->DACBase, 0x10000);
1176 pTga->DACBase = NULL;
1179 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->HACKBase, getpagesize());
1181 pci_device_unmap_range(pTga->PciInfo, pTga->HACKBase, getpagesize());
1183 pTga->HACKBase = NULL;
1195 TGAPtr pTga;
1200 pTga = TGAPTR(pScrn);
1201 tgaReg = &pTga->SavedReg;
1204 if (pTga->RamDac) { /* must be BT485... */
1207 (*pTga->RamDac->Save)(pScrn, pTga->RamDacRec, BTreg);
1208 } else switch (pTga->Chipset)
1211 IBM561ramdacSave(pScrn, pTga->Ibm561saveReg);
1214 BT463ramdacSave(pScrn, pTga->Bt463saveReg);
1230 TGAPtr pTga;
1235 pTga = TGAPTR(pScrn);
1241 if (pTga->Chipset == PCI_CHIP_TGA2 && pTga->RamDac == NULL)
1248 tgaReg = &pTga->ModeReg;
1252 if (pTga->RamDac != NULL) {
1255 (*pTga->RamDac->Restore)(pScrn, pTga->RamDacRec, BTreg);
1256 if (pTga->Chipset == PCI_CHIP_TGA2) {
1257 pTga->RamDacRec->WriteDAC(pScrn, BT_WRITE_ADDR, 0x00, 0x01);
1258 pTga->RamDacRec->WriteDAC(pScrn, BT_STATUS_REG, 0x00, 0x0c);
1260 pTga->RamDacRec->WriteDAC(pScrn, BT_PIXEL_MASK, 0x00, 0xff);
1262 switch (pTga->Chipset) {
1264 IBM561ramdacRestore(pScrn, pTga->Ibm561modeReg);
1267 BT463ramdacRestore(pScrn, pTga->Bt463modeReg);
1280 TGAPtr pTga;
1285 pTga = TGAPTR(pScrn);
1286 tgaReg = &pTga->SavedReg;
1293 if (pTga->RamDac != NULL) {
1296 (*pTga->RamDac->Restore)(pScrn, pTga->RamDacRec, BTreg);
1297 if (pTga->Chipset == PCI_CHIP_TGA2) {
1298 pTga->RamDacRec->WriteDAC(pScrn, BT_WRITE_ADDR, 0x00, 0x01);
1299 pTga->RamDacRec->WriteDAC(pScrn, BT_STATUS_REG, 0x00, 0x00);
1301 pTga->RamDacRec->WriteDAC(pScrn, BT_PIXEL_MASK, 0x00, 0xff);
1302 } else switch (pTga->Chipset) {
1304 IBM561ramdacRestore(pScrn, pTga->Ibm561saveReg);
1307 BT463ramdacRestore(pScrn, pTga->Bt463saveReg);
1311 if (pTga->HWCursor)
1324 TGAPtr pTga;
1332 pTga = TGAPTR(pScrn);
1417 ret = fbScreenInit(pScreen, pTga->FbBase, pScrn->virtualX,
1459 if (pTga->Chipset == PCI_CHIP_TGA2)
1464 if (pTga->Chipset == PCI_CHIP_TGA2)
1470 if (!pTga->NoAccel) {
1471 switch (pTga->Chipset)
1489 if (pTga->HWCursor) {
1507 pTga->CloseScreen = pScreen->CloseScreen;
1518 pScrn->memPhysBase = pTga->FbAddress;
1598 /* TGAPtr pTga = TGAPTR(pScrn); */
1603 /* memset(pTga->FbBase, 0, pTga->FbMapSize); */
1618 TGAPtr pTga = TGAPTR(pScrn);
1621 /* memset(pTga->FbBase, 0, pScrn->videoRam * 1024); */
1626 if(pTga->AccelInfoRec)
1627 XAADestroyInfoRec(pTga->AccelInfoRec);
1631 pScreen->CloseScreen = pTga->CloseScreen;
1669 TGAPtr pTga;
1675 pTga = TGAPTR(pScrn);
1703 TGAPtr pTga;
1706 pTga = TGAPTR(pScrn);
1747 TGAPtr pTga;
1769 pTga = TGAPTR(pScrn);
1774 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_X_LOW, 0x00, 0);
1775 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_X_HIGH, 0xF0, 0);
1777 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_Y_LOW, 0x00, 0);
1778 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_Y_HIGH, 0xF0, 0);
1782 pTga->RamDacRec->WriteDAC(pScrn, BT_COMMAND_REG_2, 0xFC, 0x02);
1785 /* pTga->RamDacRec->WriteDAC(pScrn, BT_COMMAND_REG_0, 0x7F, 0x80); */
1786 /* pTga->RamDacRec->WriteDAC(pScrn, BT_WRITE_ADDR, 0x00, 0x01); */
1787 /* pTga->RamDacRec->WriteDAC(pScrn, BT_STATUS_REG, 0xF8, 0x04); */
1790 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_WR_ADDR, 0xFC, 0x01);
1792 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0xaa);
1793 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0xaa);
1794 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0xaa);
1796 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1797 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1798 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1800 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1801 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1802 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1804 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1805 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1806 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_DATA, 0x00, 0x00);
1810 pTga->RamDacRec->WriteDAC(pScrn, BT_WRITE_ADDR, 0xFC, 0x00);
1813 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_RAM_DATA, 0x00, *p++);
1815 pTga->RamDacRec->WriteDAC(pScrn, BT_CURS_RAM_DATA, 0x00, 0xff);
1827 TGAPtr pTga = TGAPTR(pScrn);
1830 switch (pTga->Chipset)