| @@ -589,37 +589,41 @@ VIADRIScreenInit(ScreenPtr pScreen) | | | @@ -589,37 +589,41 @@ VIADRIScreenInit(ScreenPtr pScreen) |
589 | pDRIInfo = pVia->pDRIInfo; | | 589 | pDRIInfo = pVia->pDRIInfo; |
590 | pDRIInfo->drmDriverName = VIAKernelDriverName; | | 590 | pDRIInfo->drmDriverName = VIAKernelDriverName; |
591 | switch (pVia->Chipset) { | | 591 | switch (pVia->Chipset) { |
592 | case VIA_K8M890: | | 592 | case VIA_K8M890: |
593 | case VIA_P4M900: | | 593 | case VIA_P4M900: |
594 | case VIA_VX800: | | 594 | case VIA_VX800: |
595 | case VIA_VX855: | | 595 | case VIA_VX855: |
596 | pDRIInfo->clientDriverName = "swrast"; | | 596 | pDRIInfo->clientDriverName = "swrast"; |
597 | break; | | 597 | break; |
598 | default: | | 598 | default: |
599 | pDRIInfo->clientDriverName = VIAClientDriverName; | | 599 | pDRIInfo->clientDriverName = VIAClientDriverName; |
600 | break; | | 600 | break; |
601 | } | | 601 | } |
602 | pDRIInfo->busIdString = xalloc(64); | | 602 | if (xf86LoaderCheckSymbol("DRICreatePCIBusID")) { |
603 | sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d", | | 603 | pDRIInfo->busIdString = DRICreatePCIBusID(pVia->PciInfo); |
| | | 604 | } else { |
| | | 605 | pDRIInfo->busIdString = xalloc(64); |
| | | 606 | sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d", |
604 | #ifdef XSERVER_LIBPCIACCESS | | 607 | #ifdef XSERVER_LIBPCIACCESS |
605 | ((pVia->PciInfo->domain << 8) | pVia->PciInfo->bus), | | 608 | ((pVia->PciInfo->domain << 8) | pVia->PciInfo->bus), |
606 | pVia->PciInfo->dev, pVia->PciInfo->func | | 609 | pVia->PciInfo->dev, pVia->PciInfo->func |
607 | #else | | 610 | #else |
608 | ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum, | | 611 | ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum, |
609 | ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum, | | 612 | ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum, |
610 | ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum | | 613 | ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum |
611 | #endif | | 614 | #endif |
612 | ); | | 615 | ); |
| | | 616 | } |
613 | pDRIInfo->ddxDriverMajorVersion = VIA_DRIDDX_VERSION_MAJOR; | | 617 | pDRIInfo->ddxDriverMajorVersion = VIA_DRIDDX_VERSION_MAJOR; |
614 | pDRIInfo->ddxDriverMinorVersion = VIA_DRIDDX_VERSION_MINOR; | | 618 | pDRIInfo->ddxDriverMinorVersion = VIA_DRIDDX_VERSION_MINOR; |
615 | pDRIInfo->ddxDriverPatchVersion = VIA_DRIDDX_VERSION_PATCH; | | 619 | pDRIInfo->ddxDriverPatchVersion = VIA_DRIDDX_VERSION_PATCH; |
616 | #if (DRIINFO_MAJOR_VERSION == 5) | | 620 | #if (DRIINFO_MAJOR_VERSION == 5) |
617 | pDRIInfo->frameBufferPhysicalAddress = (pointer) pVia->FrameBufferBase; | | 621 | pDRIInfo->frameBufferPhysicalAddress = (pointer) pVia->FrameBufferBase; |
618 | #else | | 622 | #else |
619 | pDRIInfo->frameBufferPhysicalAddress = pVia->FrameBufferBase; | | 623 | pDRIInfo->frameBufferPhysicalAddress = pVia->FrameBufferBase; |
620 | #endif | | 624 | #endif |
621 | pDRIInfo->frameBufferSize = pVia->videoRambytes; | | 625 | pDRIInfo->frameBufferSize = pVia->videoRambytes; |
622 | | | 626 | |
623 | pDRIInfo->frameBufferStride = (pScrn->displayWidth * | | 627 | pDRIInfo->frameBufferStride = (pScrn->displayWidth * |
624 | pScrn->bitsPerPixel / 8); | | 628 | pScrn->bitsPerPixel / 8); |
625 | pDRIInfo->ddxDrawableTableEntry = VIA_MAX_DRAWABLES; | | 629 | pDRIInfo->ddxDrawableTableEntry = VIA_MAX_DRAWABLES; |