Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 239075
Collapse All | Expand All

(-)configure.ac (+19 lines)
Lines 69-74 Link Here
69
AC_HEADER_STDC
69
AC_HEADER_STDC
70
AC_CHECK_HEADERS([inttypes.h])
70
AC_CHECK_HEADERS([inttypes.h])
71
71
72
# Check for libpciaccess usage
73
AC_CHECK_HEADER(xf86Modes.h,[XMODES=yes],[XMODES=no],[#include "xorg-server.h"])
74
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
75
             [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
76
             [#include "xorg/xorg-server.h"])
77
78
if test x$XSERVER_LIBPCIACCESS = xyes; then
79
       PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
80
fi
81
72
82
73
if test "x$DRI" != xno; then
83
if test "x$DRI" != xno; then
74
        AC_CHECK_FILE([${sdkdir}/dri.h],
84
        AC_CHECK_FILE([${sdkdir}/dri.h],
Lines 117-122 Link Here
117
127
118
AM_CONDITIONAL(XVMC, test x$XVMC = xyes)
128
AM_CONDITIONAL(XVMC, test x$XVMC = xyes)
119
129
130
+# Check the ABI_VIDEODRV_VERSION
131
SAVE_CFLAGS="$CFLAGS"
132
CFLAGS="$CFLAGS $XORG_CFLAGS"
133
134
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test x$XSERVER_LIBPCIACCESS = xyes)
135
if test "$XSERVER_LIBPCIACCESS" = yes; then
136
        AC_DEFINE(XSERVER_LIBPCIACCESS,1,[Enable libpciaccess])
137
fi
138
120
AC_SUBST([DRI_CFLAGS])
139
AC_SUBST([DRI_CFLAGS])
121
AC_SUBST([XORG_CFLAGS])
140
AC_SUBST([XORG_CFLAGS])
122
AC_SUBST([moduledir])
141
AC_SUBST([moduledir])
(-)src/via.h (+15 lines)
Lines 647-651 Link Here
647
#define	MPG_SLICE_DATA		0xA0
647
#define	MPG_SLICE_DATA		0xA0
648
648
649
649
650
#ifdef XSERVER_LIBPCIACCESS
651
#define VIA_MEMBASE(p,n)  (p)->regions[(n)].base_addr
652
#define VENDOR_ID(p)      (p)->vendor_id
653
#define DEVICE_ID(p)      (p)->device_id
654
#define SUBVENDOR_ID(p)   (p)->subvendor_id
655
#define SUBSYS_ID(p)      (p)->subdevice_id
656
#define CHIP_REVISION(p)  (p)->revision
657
#else
658
#define VIA_MEMBASE(p,n)  (p)->memBase[n]
659
#define VENDOR_ID(p)      (p)->vendor
660
#define DEVICE_ID(p)      (p)->chipType
661
#define SUBVENDOR_ID(p)   (p)->subsysVendor
662
#define SUBSYS_ID(p)      (p)->subsysCard
663
#define CHIP_REVISION(p)  (p)->chipRev
664
#endif
650
665
651
#endif /* _VIA_H_ */
666
#endif /* _VIA_H_ */
(-)src/via_dri.c (-4 / +16 lines)
Lines 107-115 Link Here
107
 
107
 
108
    pVIADRI->irqEnabled = drmGetInterruptFromBusID
108
    pVIADRI->irqEnabled = drmGetInterruptFromBusID
109
	(pVia->drmFD,
109
	(pVia->drmFD,
110
#ifdef XSERVER_LIBPCIACCESS
111
	 ((pVia->PciInfo->domain << 8) | pVia->PciInfo->bus),
112
	 pVia->PciInfo->dev, pVia->PciInfo->func
113
#else
110
	 ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum,
114
	 ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum,
111
	 ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum,
115
	 ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum,
112
	 ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum);
116
	 ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum
117
#endif
118
	 );
113
    if ((drmCtlInstHandler(pVia->drmFD, pVIADRI->irqEnabled))) {
119
    if ((drmCtlInstHandler(pVia->drmFD, pVIADRI->irqEnabled))) {
114
	xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
120
	xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
115
		   "[drm] Failure adding irq handler. "
121
		   "[drm] Failure adding irq handler. "
Lines 664-672 Link Here
664
    pDRIInfo->clientDriverName = VIAClientDriverName;
670
    pDRIInfo->clientDriverName = VIAClientDriverName;
665
    pDRIInfo->busIdString = xalloc(64);
671
    pDRIInfo->busIdString = xalloc(64);
666
    sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d",
672
    sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d",
667
        ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum,
673
#ifdef XSERVER_LIBPCIACCESS
668
        ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum,
674
            ((pVia->PciInfo->domain << 8) | pVia->PciInfo->bus),
669
        ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum);
675
            pVia->PciInfo->dev, pVia->PciInfo->func
676
#else
677
            ((pciConfigPtr)pVia->PciInfo->thisCard)->busnum,
678
            ((pciConfigPtr)pVia->PciInfo->thisCard)->devnum,
679
            ((pciConfigPtr)pVia->PciInfo->thisCard)->funcnum
680
#endif
681
           );
670
    pDRIInfo->ddxDriverMajorVersion = VIA_DRIDDX_VERSION_MAJOR;
682
    pDRIInfo->ddxDriverMajorVersion = VIA_DRIDDX_VERSION_MAJOR;
671
    pDRIInfo->ddxDriverMinorVersion = VIA_DRIDDX_VERSION_MINOR;
683
    pDRIInfo->ddxDriverMinorVersion = VIA_DRIDDX_VERSION_MINOR;
672
    pDRIInfo->ddxDriverPatchVersion = VIA_DRIDDX_VERSION_PATCH;
684
    pDRIInfo->ddxDriverPatchVersion = VIA_DRIDDX_VERSION_PATCH;
(-)src/via_driver.c (-18 / +264 lines)
Lines 58-64 Link Here
58
 */
58
 */
59
59
60
static void VIAIdentify(int flags);
60
static void VIAIdentify(int flags);
61
62
#ifdef XSERVER_LIBPCIACCESS
63
struct pci_device *
64
via_pci_device(const struct pci_slot_match *bridge_match)
65
{
66
    struct pci_device_iterator *slot_iterator;
67
    struct pci_device *bridge;
68
69
    slot_iterator = pci_slot_match_iterator_create(bridge_match);
70
    bridge = pci_device_next(slot_iterator);
71
    pci_iterator_destroy(slot_iterator);
72
    return bridge;
73
}
74
75
struct pci_device *
76
via_host_bridge(void)
77
{
78
    static const struct pci_slot_match bridge_match = {
79
        0, 0, 0, 0, 0
80
    };
81
    return via_pci_device(&bridge_match);
82
}
83
84
viaPciDeviceVga(void)
85
{
86
    static const struct pci_slot_match bridge_match = {
87
        0, 0, 0, 3, 0
88
    };
89
    return via_pci_device(&bridge_match);
90
}
91
92
static Bool via_pci_probe(DriverPtr drv, int entity_num,
93
                          struct pci_device *dev, intptr_t match_data);
94
#else /* !XSERVER_LIBPCIACCESS */
61
static Bool VIAProbe(DriverPtr drv, int flags);
95
static Bool VIAProbe(DriverPtr drv, int flags);
96
#endif
97
62
static Bool VIAPreInit(ScrnInfoPtr pScrn, int flags);
98
static Bool VIAPreInit(ScrnInfoPtr pScrn, int flags);
63
static Bool VIAEnterVT(int scrnIndex, int flags);
99
static Bool VIAEnterVT(int scrnIndex, int flags);
64
static void VIALeaveVT(int scrnIndex, int flags);
100
static void VIALeaveVT(int scrnIndex, int flags);
Lines 80-94 Link Here
80
static Bool VIAMapFB(ScrnInfoPtr pScrn);
116
static Bool VIAMapFB(ScrnInfoPtr pScrn);
81
static void VIAUnmapMem(ScrnInfoPtr pScrn);
117
static void VIAUnmapMem(ScrnInfoPtr pScrn);
82
118
119
#ifdef XSERVER_LIBPCIACCESS
120
121
#define VIA_DEVICE_MATCH(d,i) \
122
    { 0x1106, (d), PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 0, (i) }
123
124
static const struct pci_id_match via_device_match[] = {
125
   VIA_DEVICE_MATCH (PCI_CHIP_VT3204, 0 ),
126
   VIA_DEVICE_MATCH (PCI_CHIP_VT3259, 0 ),
127
   VIA_DEVICE_MATCH (PCI_CHIP_CLE3122, 0 ),
128
   VIA_DEVICE_MATCH (PCI_CHIP_VT3205, 0 ),
129
   VIA_DEVICE_MATCH (PCI_CHIP_VT3314, 0 ),
130
   VIA_DEVICE_MATCH (PCI_CHIP_VT3336, 0 ),
131
   VIA_DEVICE_MATCH (PCI_CHIP_VT3364, 0 ),
132
   VIA_DEVICE_MATCH (PCI_CHIP_VT3324, 0 ),
133
   VIA_DEVICE_MATCH (PCI_CHIP_VT3327, 0 ),
134
    { 0, 0, 0 },
135
};
136
137
#endif /* XSERVER_LIBPCIACCESS */
138
83
_X_EXPORT DriverRec VIA =
139
_X_EXPORT DriverRec VIA =
84
{
140
{
85
    VIA_VERSION,
141
    VIA_VERSION,
86
    DRIVER_NAME,
142
    DRIVER_NAME,
87
    VIAIdentify,
143
    VIAIdentify,
144
#ifdef XSERVER_LIBPCIACCESS
145
    NULL,
146
#else
88
    VIAProbe,
147
    VIAProbe,
148
#endif
89
    VIAAvailableOptions,
149
    VIAAvailableOptions,
90
    NULL,
150
    NULL,
91
    0
151
    0
152
,
153
    NULL,
154
#ifdef XSERVER_LIBPCIACCESS
155
    via_device_match,
156
    via_pci_probe
157
#endif
92
};
158
};
93
159
94
160
Lines 374-380 Link Here
374
440
375
    if (!setupDone) {
441
    if (!setupDone) {
376
        setupDone = TRUE;
442
        setupDone = TRUE;
377
        xf86AddDriver(&VIA, module, 0);
443
        xf86AddDriver(&VIA, module,
444
#ifdef XSERVER_LIBPCIACCESS
445
                     HaveDriverFuncs
446
#else
447
                     0
448
#endif
449
                     );
378
        LoaderRefSymLists(vgaHWSymbols,
450
        LoaderRefSymLists(vgaHWSymbols,
379
                          fbSymbols,
451
                          fbSymbols,
380
                          ramdacSymbols,
452
                          ramdacSymbols,
Lines 459-464 Link Here
459
} /* VIAIdentify */
531
} /* VIAIdentify */
460
532
461
533
534
#ifdef XSERVER_LIBPCIACCESS
535
static Bool
536
via_pci_probe(DriverPtr driver, int entity_num,
537
              struct pci_device *device, intptr_t match_data)
538
{
539
    ScrnInfoPtr scrn = NULL;
540
    EntityInfoPtr entity;
541
    DevUnion *private;
542
543
    scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VIAPciChipsets,
544
                               NULL, NULL, NULL, NULL, NULL);
545
546
    if (scrn != NULL) {
547
        scrn->driverVersion = VIA_VERSION;
548
        scrn->driverName = DRIVER_NAME;
549
        scrn->name = "VIA";
550
        scrn->Probe = NULL;
551
552
        entity = xf86GetEntityInfo(entity_num);
553
554
        scrn->PreInit = VIAPreInit;
555
        scrn->ScreenInit = VIAScreenInit;
556
        scrn->SwitchMode = VIASwitchMode;
557
        scrn->AdjustFrame = VIAAdjustFrame;
558
        scrn->EnterVT = VIAEnterVT;
559
        scrn->LeaveVT = VIALeaveVT;
560
        scrn->FreeScreen = VIAFreeScreen;
561
        scrn->ValidMode = ViaValidMode;
562
563
        xf86Msg(X_NOTICE,
564
                "VIA Technologies does not support this driver in any way.\n");
565
        xf86Msg(X_NOTICE,
566
                "For support, please contact the driver maintainer or your X vendor.\n");
567
    }
568
    return scrn != NULL;
569
}
570
#else /* !XSERVER_LIBPCIACCESS */
571
462
static Bool VIAProbe(DriverPtr drv, int flags)
572
static Bool VIAProbe(DriverPtr drv, int flags)
463
{
573
{
464
    GDevPtr *devSections;
574
    GDevPtr *devSections;
Lines 565-570 Link Here
565
    return foundScreen;
675
    return foundScreen;
566
676
567
} /* VIAProbe */
677
} /* VIAProbe */
678
#endif /* !XSERVER_LIBPCIACCESS */
568
679
569
#ifdef XF86DRI
680
#ifdef XF86DRI
570
static void kickVblank(ScrnInfoPtr pScrn)
681
static void kickVblank(ScrnInfoPtr pScrn)
Lines 636-641 Link Here
636
    int             i, bMemSize = 0;
747
    int             i, bMemSize = 0;
637
    Bool            UseVBEModes = FALSE;
748
    Bool            UseVBEModes = FALSE;
638
749
750
#ifdef XSERVER_LIBPCIACCESS
751
    struct pci_device *bridge = via_host_bridge();
752
#endif
753
639
    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAPreInit\n"));
754
    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAPreInit\n"));
640
755
641
    if (pScrn->numEntities > 1)
756
    if (pScrn->numEntities > 1)
Lines 1149-1155 Link Here
1149
                   pEnt->device->chipID);
1264
                   pEnt->device->chipID);
1150
    } else {
1265
    } else {
1151
        from = X_PROBED;
1266
        from = X_PROBED;
1152
        pVia->ChipId = pVia->PciInfo->chipType;
1267
        pVia->ChipId = DEVICE_ID(pVia->PciInfo);
1153
        pVia->Chipset = LookupChipID(VIAPciChipsets, pVia->ChipId);
1268
        pVia->Chipset = LookupChipID(VIAPciChipsets, pVia->ChipId);
1154
        pScrn->chipset = (char *)xf86TokenToString(VIAChipsets,
1269
        pScrn->chipset = (char *)xf86TokenToString(VIAChipsets,
1155
                                                   pVia->Chipset);
1270
                                                   pVia->Chipset);
Lines 1163-1169 Link Here
1163
    else {
1278
    else {
1164
        /*pVia->ChipRev = pVia->PciInfo->chipRev;*/
1279
        /*pVia->ChipRev = pVia->PciInfo->chipRev;*/
1165
        /* Read PCI bus 0, dev 0, function 0, index 0xF6 to get chip rev. */
1280
        /* Read PCI bus 0, dev 0, function 0, index 0xF6 to get chip rev. */
1281
#ifdef XSERVER_LIBPCIACCESS
1282
        struct pci_device *bridge = via_host_bridge();
1283
1284
        pci_device_cfg_read_u8(bridge, &pVia->ChipRev, 0xF6);
1285
#else
1166
        pVia->ChipRev = pciReadByte(pciTag(0, 0, 0), 0xF6);
1286
        pVia->ChipRev = pciReadByte(pciTag(0, 0, 0), 0xF6);
1287
#endif
1167
    }
1288
    }
1168
1289
1169
    if (pEnt->device->videoRam != 0) {
1290
    if (pEnt->device->videoRam != 0) {
Lines 1205-1212 Link Here
1205
    }
1326
    }
1206
#endif /* HAVE_PM800 */
1327
#endif /* HAVE_PM800 */
1207
1328
1329
#ifndef XSERVER_LIBPCIACCESS
1208
    pVia->PciTag = pciTag(pVia->PciInfo->bus, pVia->PciInfo->device,
1330
    pVia->PciTag = pciTag(pVia->PciInfo->bus, pVia->PciInfo->device,
1209
                          pVia->PciInfo->func);
1331
                          pVia->PciInfo->func);
1332
#endif
1210
1333
1211
    if (!VIAMapMMIO(pScrn)) {
1334
    if (!VIAMapMMIO(pScrn)) {
1212
	VIAFreeRec(pScrn);
1335
	VIAFreeRec(pScrn);
Lines 1271-1290 Link Here
1271
    }
1394
    }
1272
1395
1273
    /* detect amount of installed ram */
1396
    /* detect amount of installed ram */
1274
    if (pScrn->videoRam < 16384 || pScrn->videoRam > 65536) {
1397
    from = X_PROBED;
1275
	if(pVia->Chipset == VIA_CLE266)
1398
    CARD8 videoRam;
1276
	    bMemSize = hwp->readSeq(hwp, 0x34);
1277
	else
1278
	    bMemSize = hwp->readSeq(hwp, 0x39);
1279
1399
1280
	if (bMemSize > 16 && bMemSize <= 128)
1400
#ifdef XSERVER_LIBPCIACCESS
1281
	    pScrn->videoRam = (bMemSize + 1) << 9;
1401
    struct pci_device *vgaDevice = viaPciDeviceVga();
1282
	else if (bMemSize > 0 && bMemSize < 31)
1402
#endif
1283
	    pScrn->videoRam = bMemSize << 12;
1403
1284
	else {
1404
    switch (pVia->Chipset) {
1285
	    xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Memory size detection failed: using 16MB\n");
1405
        case VIA_CLE266:
1286
	    pScrn->videoRam = 16 << 10;	/* Assume the base 16Mb */
1406
        case VIA_KM400:
1287
	}
1407
#ifdef XSERVER_LIBPCIACCESS
1408
            pci_device_cfg_read_u8(bridge, &videoRam, 0xE1);
1409
#else
1410
            videoRam = pciReadByte(pciTag(0, 0, 0), 0xE1) & 0x70;
1411
#endif
1412
            pScrn->videoRam = (1 << ((videoRam & 0x70) >> 4)) << 10;
1413
            break;
1414
        case VIA_PM800:
1415
        case VIA_VM800:
1416
        case VIA_K8M800:
1417
#ifdef XSERVER_LIBPCIACCESS
1418
            pci_device_cfg_read_u8(vgaDevice, &videoRam, 0xA1);
1419
#else
1420
            videoRam = pciReadByte(pciTag(0, 0, 3), 0xA1) & 0x70;
1421
#endif
1422
            pScrn->videoRam = (1 << ((videoRam & 0x70) >> 4)) << 10;
1423
            break;
1424
        case VIA_K8M890:
1425
        case VIA_P4M890:
1426
        case VIA_P4M900:
1427
        case VIA_CX700:
1428
#ifdef XSERVER_LIBPCIACCESS
1429
            pci_device_cfg_read_u8(vgaDevice, &videoRam, 0xA1);
1430
#else
1431
            videoRam = pciReadByte(pciTag(0, 0, 3), 0xA1) & 0x70;
1432
#endif
1433
            pScrn->videoRam = (1 << ((videoRam & 0x70) >> 4)) << 12;
1434
            break;
1435
        default:
1436
            if (pScrn->videoRam < 16384 || pScrn->videoRam > 65536) {
1437
                xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
1438
                           "Using old memory-detection method.\n");
1439
                bMemSize = hwp->readSeq(hwp, 0x39);
1440
                if (bMemSize > 16 && bMemSize <= 128)
1441
                    pScrn->videoRam = (bMemSize + 1) << 9;
1442
                else if (bMemSize > 0 && bMemSize < 31)
1443
                    pScrn->videoRam = bMemSize << 12;
1444
                else {
1445
                    from = X_DEFAULT;
1446
                    xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
1447
                               "Memory size detection failed: using 16 MB.\n");
1448
                    pScrn->videoRam = 16 << 10;
1449
                }
1450
            } else {
1451
                from = X_DEFAULT;
1452
                xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
1453
                           "No memory-detection done. Use VideoRAM option.\n");
1454
            }
1288
    }
1455
    }
1289
1456
1290
    /* Split FB for SAMM */
1457
    /* Split FB for SAMM */
Lines 1774-1798 Link Here
1774
{
1941
{
1775
    VIAPtr pVia = VIAPTR(pScrn);
1942
    VIAPtr pVia = VIAPTR(pScrn);
1776
1943
1944
#ifdef XSERVER_LIBPCIACCESS
1945
    int err;
1946
#endif
1947
1777
    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapMMIO\n"));
1948
    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapMMIO\n"));
1778
1949
1950
#ifdef XSERVER_LIBPCIACCESS
1951
    pVia->FrameBufferBase = pVia->PciInfo->regions[0].base_addr;
1952
    pVia->MmioBase = pVia->PciInfo->regions[1].base_addr;
1953
#else
1779
    pVia->FrameBufferBase = pVia->PciInfo->memBase[0];
1954
    pVia->FrameBufferBase = pVia->PciInfo->memBase[0];
1780
    pVia->MmioBase = pVia->PciInfo->memBase[1];
1955
    pVia->MmioBase = pVia->PciInfo->memBase[1];
1956
#endif
1781
1957
1782
    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
1958
    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
1783
               "mapping MMIO @ 0x%lx with size 0x%x\n",
1959
               "mapping MMIO @ 0x%lx with size 0x%x\n",
1784
               pVia->MmioBase, VIA_MMIO_REGSIZE);
1960
               pVia->MmioBase, VIA_MMIO_REGSIZE);
1785
1961
1962
#ifdef XSERVER_LIBPCIACCESS
1963
    err = pci_device_map_range(pVia->PciInfo,
1964
                               pVia->MmioBase,
1965
                               VIA_MMIO_REGSIZE,
1966
                               PCI_DEV_MAP_FLAG_WRITABLE,
1967
                               (void **)&pVia->MapBase);
1968
1969
    if (err) {
1970
        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
1971
                   "Unable to map mmio BAR. %s (%d)\n", strerror(err), err);
1972
        return FALSE;
1973
    }
1974
#else
1786
    pVia->MapBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO, pVia->PciTag,
1975
    pVia->MapBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO, pVia->PciTag,
1787
                                  pVia->MmioBase, VIA_MMIO_REGSIZE);
1976
                                  pVia->MmioBase, VIA_MMIO_REGSIZE);
1977
    if (!pVia->MapBase)
1978
        return FALSE;
1979
#endif
1788
1980
1789
    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
1981
    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
1790
               "mapping BitBlt MMIO @ 0x%lx with size 0x%x\n",
1982
               "mapping BitBlt MMIO @ 0x%lx with size 0x%x\n",
1791
               pVia->MmioBase + VIA_MMIO_BLTBASE, VIA_MMIO_BLTSIZE);
1983
               pVia->MmioBase + VIA_MMIO_BLTBASE, VIA_MMIO_BLTSIZE);
1792
1984
1985
#ifdef XSERVER_LIBPCIACCESS
1986
    err = pci_device_map_range(pVia->PciInfo,
1987
                               pVia->MmioBase + VIA_MMIO_BLTBASE,
1988
                               VIA_MMIO_BLTSIZE,
1989
                               (PCI_DEV_MAP_FLAG_WRITABLE
1990
                                | PCI_DEV_MAP_FLAG_WRITE_COMBINE),
1991
                               (void **)&pVia->BltBase);
1992
1993
    if (err) {
1994
        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
1995
                   "Unable to map blt BAR. %s (%d)\n", strerror(err), err);
1996
        return FALSE;
1997
    }
1998
#else
1793
    pVia->BltBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO, pVia->PciTag,
1999
    pVia->BltBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO, pVia->PciTag,
1794
                                  pVia->MmioBase + VIA_MMIO_BLTBASE,
2000
                                  pVia->MmioBase + VIA_MMIO_BLTBASE,
1795
                                  VIA_MMIO_BLTSIZE);
2001
                                  VIA_MMIO_BLTSIZE);
2002
    if (!pVia->BltBase)
2003
        return FALSE;
2004
#endif
1796
2005
1797
    if (!pVia->MapBase || !pVia->BltBase) {
2006
    if (!pVia->MapBase || !pVia->BltBase) {
1798
        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
2007
        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
Lines 1838-1843 Link Here
1838
{
2047
{
1839
    VIAPtr pVia = VIAPTR(pScrn);
2048
    VIAPtr pVia = VIAPTR(pScrn);
1840
2049
2050
#ifdef XSERVER_LIBPCIACCESS
2051
    int err;
2052
#endif
2053
1841
    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapFB\n"));
2054
    DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAMapFB\n"));
1842
    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
2055
    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
1843
               "mapping framebuffer @ 0x%lx with size 0x%lx\n",
2056
               "mapping framebuffer @ 0x%lx with size 0x%lx\n",
Lines 1845-1850 Link Here
1845
2058
1846
    if (pVia->videoRambytes) {
2059
    if (pVia->videoRambytes) {
1847
2060
2061
#ifdef XSERVER_LIBPCIACCESS
2062
        err = pci_device_map_range(pVia->PciInfo, pVia->FrameBufferBase,
2063
                                   pVia->videoRambytes,
2064
                                   PCI_DEV_MAP_FLAG_WRITABLE,
2065
                                   (void **)&pVia->FBBase);
2066
        if (err) {
2067
            xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
2068
                       "Unable to map mmio BAR. %s (%d)\n", strerror(err), err);
2069
            return FALSE;
2070
        }
2071
#else
1848
        pVia->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
2072
        pVia->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
1849
                                     pVia->PciTag, pVia->FrameBufferBase,
2073
                                     pVia->PciTag, pVia->FrameBufferBase,
1850
                                     pVia->videoRambytes);
2074
                                     pVia->videoRambytes);
Lines 1854-1859 Link Here
1854
                       "Internal error: could not map framebuffer\n");
2078
                       "Internal error: could not map framebuffer\n");
1855
            return FALSE;
2079
            return FALSE;
1856
        }
2080
        }
2081
#endif
1857
2082
1858
        pVia->FBFreeStart = (pScrn->displayWidth * pScrn->bitsPerPixel >> 3) *
2083
        pVia->FBFreeStart = (pScrn->displayWidth * pScrn->bitsPerPixel >> 3) *
1859
                            pScrn->virtualY;
2084
                            pScrn->virtualY;
Lines 1864-1870 Link Here
1864
                   pVia->FBBase, pVia->FBFreeStart, pVia->FBFreeEnd);
2089
                   pVia->FBBase, pVia->FBFreeStart, pVia->FBFreeEnd);
1865
    }
2090
    }
1866
2091
2092
#ifdef XSERVER_LIBPCIACCESS
2093
    pScrn->memPhysBase = pVia->PciInfo->regions[0].base_addr;
2094
#else
1867
    pScrn->memPhysBase = pVia->PciInfo->memBase[0];
2095
    pScrn->memPhysBase = pVia->PciInfo->memBase[0];
2096
#endif
1868
    pScrn->fbOffset = 0;
2097
    pScrn->fbOffset = 0;
1869
    if(pVia->IsSecondary) pScrn->fbOffset = pScrn->videoRam << 10;
2098
    if(pVia->IsSecondary) pScrn->fbOffset = pScrn->videoRam << 10;
1870
2099
Lines 1882-1895 Link Here
1882
    /* Disable MMIO */
2111
    /* Disable MMIO */
1883
    ViaSeqMask(VGAHWPTR(pScrn), 0x1A, 0x00, 0x60);
2112
    ViaSeqMask(VGAHWPTR(pScrn), 0x1A, 0x00, 0x60);
1884
2113
2114
#ifdef XSERVER_LIBPCIACCESS
2115
    if (pVia->MapBase)
2116
        pci_device_unmap_range(pVia->PciInfo, (pointer) pVia->MapBase,
2117
                               VIA_MMIO_REGSIZE);
2118
2119
    if (pVia->BltBase)
2120
        pci_device_unmap_range(pVia->PciInfo, (pointer) pVia->BltBase,
2121
                               VIA_MMIO_BLTSIZE);
2122
2123
    if (pVia->FBBase)
2124
        pci_device_unmap_range(pVia->PciInfo, (pointer) pVia->FBBase,
2125
                               pVia->videoRambytes);
2126
#else
1885
    if (pVia->MapBase)
2127
    if (pVia->MapBase)
1886
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pVia->MapBase, VIA_MMIO_REGSIZE);
2128
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer) pVia->MapBase,
2129
                        VIA_MMIO_REGSIZE);
1887
2130
1888
    if (pVia->BltBase)
2131
    if (pVia->BltBase)
1889
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pVia->BltBase, VIA_MMIO_BLTSIZE);
2132
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer) pVia->BltBase,
2133
                        VIA_MMIO_BLTSIZE);
1890
2134
1891
    if (pVia->FBBase)
2135
    if (pVia->FBBase)
1892
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pVia->FBBase, pVia->videoRambytes);
2136
        xf86UnMapVidMem(pScrn->scrnIndex, (pointer) pVia->FBBase,
2137
                        pVia->videoRambytes);
2138
#endif
1893
}
2139
}
1894
2140
1895
/*
2141
/*
(-)src/via_driver.h (+33 lines)
Lines 57-62 Link Here
57
#include "via_dmabuffer.h"
57
#include "via_dmabuffer.h"
58
#include "via_3d.h"
58
#include "via_3d.h"
59
59
60
/* Adapt to libpciaccess */
61
#include "xorg-server.h"
62
#ifdef XSERVER_LIBPCIACCESS
63
#include <pciaccess.h>
64
#endif
65
60
#ifdef XF86DRI
66
#ifdef XF86DRI
61
#define _XF86DRI_SERVER_
67
#define _XF86DRI_SERVER_
62
#include "sarea.h"
68
#include "sarea.h"
Lines 213-220 Link Here
213
    int                 rotate;
219
    int                 rotate;
214
220
215
    CloseScreenProcPtr  CloseScreen;
221
    CloseScreenProcPtr  CloseScreen;
222
223
    /* Adapt to libpciaccess */
224
#ifdef XSERVER_LIBPCIACCESS
225
    struct pci_device*  PciInfo;
226
    int                 mmio_bar;
227
    int                 fb_bar;
228
    int                 gtt_bar;
229
#else
216
    pciVideoPtr         PciInfo;
230
    pciVideoPtr         PciInfo;
217
    PCITAG              PciTag;
231
    PCITAG              PciTag;
232
#endif
233
218
    int                 Chipset;
234
    int                 Chipset;
219
    int                 ChipId;
235
    int                 ChipId;
220
    int                 ChipRev;
236
    int                 ChipRev;
Lines 438-441 Link Here
438
Bool VIADRIRingBufferInit(ScrnInfoPtr pScrn);
454
Bool VIADRIRingBufferInit(ScrnInfoPtr pScrn);
439
#endif /* XF86DRI */
455
#endif /* XF86DRI */
440
456
457
/* Macros allowing libpciaccess usage */
458
#ifdef XSERVER_LIBPCIACCESS
459
#define I810_MEMBASE(p,n) (p)->regions[(n)].base_addr
460
#define VENDOR_ID(p)      (p)->vendor_id
461
#define DEVICE_ID(p)      (p)->device_id
462
#define SUBVENDOR_ID(p)          (p)->subvendor_id
463
#define SUBSYS_ID(p)      (p)->subdevice_id
464
#define CHIP_REVISION(p)  (p)->revision
465
#else
466
#define I810_MEMBASE(p,n) (p)->memBase[n]
467
#define VENDOR_ID(p)      (p)->vendor
468
#define DEVICE_ID(p)      (p)->chipType
469
#define SUBVENDOR_ID(p)          (p)->subsysVendor
470
#define SUBSYS_ID(p)      (p)->subsysCard
471
#define CHIP_REVISION(p)  (p)->chipRev
472
#endif /* XSERVER_LIBPCIACCESS */
473
441
#endif /* _VIA_DRIVER_H_ */
474
#endif /* _VIA_DRIVER_H_ */
(-)src/via_id.c (-22 / +113 lines)
Lines 87-134 Link Here
87
 *
87
 *
88
 */
88
 */
89
static struct ViaCardIdStruct ViaCardId[] = {
89
static struct ViaCardIdStruct ViaCardId[] = {
90
    /* CLE266 */
90
    /*** CLE266 ***/
91
    {"ECS CLE266 (1.0)",                      VIA_CLE266,  0x1019, 0x1B43, VIA_DEVICE_CRT | VIA_DEVICE_TV},
91
    {"LT21 VA28",                             VIA_CLE266,  0x1019, 0x1B44, VIA_DEVICE_CRT},
92
    {"LT21 VA28",                             VIA_CLE266,  0x1019, 0x1B44, VIA_DEVICE_CRT},
92
    {"ECS G320",                              VIA_CLE266,  0x1019, 0xB320, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
93
    {"ECS G320",                              VIA_CLE266,  0x1019, 0xB320, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
93
    {"Asustek Terminator C3V",                VIA_CLE266,  0x1043, 0x8155, VIA_DEVICE_CRT},
94
    {"Asustek Terminator C3V",                VIA_CLE266,  0x1043, 0x8155, VIA_DEVICE_CRT},
94
    {"VIA VT3122 (CLE266)-EPIA M/MII/...",    VIA_CLE266,  0x1106, 0x3122, VIA_DEVICE_CRT | VIA_DEVICE_TV},
95
    {"VIA VT3122 (CLE266)-EPIA M/MII/...",    VIA_CLE266,  0x1106, 0x3122, VIA_DEVICE_CRT | VIA_DEVICE_TV},
95
    /* KM400 */
96
    {"MSI MS-6723",                           VIA_CLE266,  0x1462, 0X7238, VIA_DEVICE_CRT | VIA_DEVICE_TV},
97
    {"Clevo T200V",                           VIA_CLE266,  0x1558, 0x200A, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
98
    {"Biostar ARKplus III",                   VIA_CLE266,  0x1565, 0x3204, VIA_DEVICE_CRT | VIA_DEVICE_TV}, /* FS454 TV encoder */
99
100
    /*** KM400, KM400A, KN400, P4M800 ***/
96
    {"ECS KM400-M2",                          VIA_KM400,   0x1019, 0x1842, VIA_DEVICE_CRT},
101
    {"ECS KM400-M2",                          VIA_KM400,   0x1019, 0x1842, VIA_DEVICE_CRT},
97
    {"Acer Aspire 135x",                      VIA_KM400,   0x1025, 0x0033, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
102
    {"Acer Aspire 135x",                      VIA_KM400,   0x1025, 0x0033, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
98
    {"Asustek A7V8X-MX",                      VIA_KM400,   0x1043, 0x80ED, VIA_DEVICE_CRT},
103
    {"Asustek A7V8X-MX",                      VIA_KM400,   0x1043, 0x80ED, VIA_DEVICE_CRT},
99
    {"Asustek A7V8X-LA",                      VIA_KM400,   0x1043, 0x80F9, VIA_DEVICE_CRT},
104
    {"Asustek A7V8X-LA",                      VIA_KM400,   0x1043, 0x80F9, VIA_DEVICE_CRT},
100
    {"Asustek A7V8X-MX SE/A7V400-MX",         VIA_KM400,   0x1043, 0x8118, VIA_DEVICE_CRT},
105
    {"Asustek A7V8X-MX SE / A7V400-MX",       VIA_KM400,   0x1043, 0x8118, VIA_DEVICE_CRT},
101
    {"Asustek Terminator A7VT",               VIA_KM400,   0x1043, 0x813E, VIA_DEVICE_CRT | VIA_DEVICE_TV},
106
    {"Asustek Terminator A7VT",               VIA_KM400,   0x1043, 0x813E, VIA_DEVICE_CRT | VIA_DEVICE_TV},
102
    {"Mitac 8375X",                           VIA_KM400,   0x1071, 0x8375, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka UMAX 585T */
107
    {"Mitac 8375X",                           VIA_KM400,   0x1071, 0x8375, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka "UMAX 585T" */
103
    {"Soltek SL-75MIV2",                      VIA_KM400,   0x1106, 0x0000, VIA_DEVICE_CRT}, /* VIA/0x0000 */
108
    {"Soltek SL-75MIV2",                      VIA_KM400,   0x1106, 0x0000, VIA_DEVICE_CRT}, /* VIA/0x0000 */
104
    {"VIA VT3205 (KM400)",                    VIA_KM400,   0x1106, 0x3205, VIA_DEVICE_CRT | VIA_DEVICE_TV}, /* borrowed by Soltek SL-B7C-FGR */ 
109
    {"VIA VT3205 (KM400)",                    VIA_KM400,   0x1106, 0x3205, VIA_DEVICE_CRT | VIA_DEVICE_TV}, /* borrowed by Soltek SL-B7C-FGR */ 
105
    {"VIA VT7205 (KM400A)",                   VIA_KM400,   0x1106, 0x7205, VIA_DEVICE_CRT}, /* borrowed by Biostar iDEQ 200V/Chaintech 7VIF4 */
110
    {"VIA VT7205 (KM400A)",                   VIA_KM400,   0x1106, 0x7205, VIA_DEVICE_CRT}, /* borrowed by Biostar iDEQ 200V/Chaintech 7VIF4 */
106
    {"Shuttle FX43",                          VIA_KM400,   0x1297, 0xF643, VIA_DEVICE_CRT | VIA_DEVICE_TV},
111
    {"Shuttle FX43",                          VIA_KM400,   0x1297, 0xF643, VIA_DEVICE_CRT | VIA_DEVICE_TV},
107
    {"Giga-byte 7VM400(A)M",                  VIA_KM400,   0x1458, 0xD000, VIA_DEVICE_CRT}, /* 7VM400M, GA-7VM400AM */
112
    {"Giga-byte 7VM400(A)M",                  VIA_KM400,   0x1458, 0xD000, VIA_DEVICE_CRT},
108
    {"MSI KM4(A)M-V",                         VIA_KM400,   0x1462, 0x7061, VIA_DEVICE_CRT}, /* aka "DFI KM400-MLV" */
113
    {"MSI KM4(A)M-V",                         VIA_KM400,   0x1462, 0x7061, VIA_DEVICE_CRT}, /* aka "DFI KM400-MLV" */
109
    {"MSI PM8M2-V",                           VIA_KM400,   0x1462, 0x7071, VIA_DEVICE_CRT},
114
    {"MSI PM8M2-V",                           VIA_KM400,   0x1462, 0x7071, VIA_DEVICE_CRT},
110
    {"MSI KM4(A)M-L",                         VIA_KM400,   0x1462, 0x7348, VIA_DEVICE_CRT},
115
    {"MSI KM4(A)M-L",                         VIA_KM400,   0x1462, 0x7348, VIA_DEVICE_CRT},
111
    {"MSI PM8M2-V",                           VIA_KM400,   0x1462, 0x7071, VIA_DEVICE_CRT},
112
    {"Abit VA-10 (1)",                        VIA_KM400,   0x147B, 0x140B, VIA_DEVICE_CRT},
116
    {"Abit VA-10 (1)",                        VIA_KM400,   0x147B, 0x140B, VIA_DEVICE_CRT},
113
    {"Abit VA-10 (2)",                        VIA_KM400,   0x147B, 0x140C, VIA_DEVICE_CRT},
117
    {"Abit VA-10 (2)",                        VIA_KM400,   0x147B, 0x140C, VIA_DEVICE_CRT},
114
    {"Abit VA-20",                            VIA_KM400,   0x147B, 0x1411, VIA_DEVICE_CRT},
118
    {"Abit VA-20",                            VIA_KM400,   0x147B, 0x1411, VIA_DEVICE_CRT},
115
    {"Averatec 322x",                         VIA_KM400,   0x14FF, 0x030D, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
119
    {"Averatec 322x",                         VIA_KM400,   0x14FF, 0x030D, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
116
    {"FIC K7M-400A",                          VIA_KM400,   0x1509, 0x9233, VIA_DEVICE_CRT},
120
    {"FIC K7M-400A",                          VIA_KM400,   0x1509, 0x9233, VIA_DEVICE_CRT},
121
    {"Biostar M7VIZ",                         VIA_KM400,   0x1565, 0x1200, VIA_DEVICE_CRT},
117
    {"Biostar P4M800-M7",                     VIA_KM400,   0x1565, 0x1202, VIA_DEVICE_CRT},
122
    {"Biostar P4M800-M7",                     VIA_KM400,   0x1565, 0x1202, VIA_DEVICE_CRT},
118
    {"Uniwill 755CI",                         VIA_KM400,   0x1584, 0x800A, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka "Gericom hummer advance", "Maxdata M-Book 1200X" */
123
    {"Uniwill 755CI",                         VIA_KM400,   0x1584, 0x800A, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka "Gericom Hummer Advance", "Maxdata M-Book 1200X" */
119
    {"Packard Bell Quasar2 (MSI MS6786)",     VIA_KM400,   0x1631, 0xD002, VIA_DEVICE_CRT},
124
    {"Packard Bell Quasar2 (MSI MS6786)",     VIA_KM400,   0x1631, 0xD002, VIA_DEVICE_CRT},
120
    {"Epox EP-8KMM3I",                        VIA_KM400,   0x1695, 0x9023, VIA_DEVICE_CRT},
125
    {"Epox EP-8KMM3I",                        VIA_KM400,   0x1695, 0x9023, VIA_DEVICE_CRT},
121
    {"ASRock Inc. K7VM2/3/4",                 VIA_KM400,   0x1849, 0x7205, VIA_DEVICE_CRT},
126
    {"ASRock Inc. K7VM2/3/4",                 VIA_KM400,   0x1849, 0x7205, VIA_DEVICE_CRT},
122
    {"ACorp KM400QP",                         VIA_KM400,   0x1915, 0x1100, VIA_DEVICE_CRT| VIA_DEVICE_TV},
127
    {"ACorp KM400QP",                         VIA_KM400,   0x1915, 0x1100, VIA_DEVICE_CRT | VIA_DEVICE_TV},
128
    {"Mercury P4VM800M7 (1.0)",               VIA_KM400,   0x3344, 0x1122, VIA_DEVICE_CRT},
123
    {"Soyo K7VME",                            VIA_KM400,   0xA723, 0x10FD, VIA_DEVICE_CRT},
129
    {"Soyo K7VME",                            VIA_KM400,   0xA723, 0x10FD, VIA_DEVICE_CRT},
124
    /* K8M800 */
130
131
    /*** K8M800, K8N800, K8N800A ***/
125
    {"ZX-5360",                               VIA_K8M800,  0x1019, 0x0F60, VIA_DEVICE_CRT | VIA_DEVICE_LCD },
132
    {"ZX-5360",                               VIA_K8M800,  0x1019, 0x0F60, VIA_DEVICE_CRT | VIA_DEVICE_LCD },
126
    {"ECS K8M800-M2",                         VIA_K8M800,  0x1019, 0x1828, VIA_DEVICE_CRT},
133
    {"ECS K8M800-M2 (1.0)",                   VIA_K8M800,  0x1019, 0x1828, VIA_DEVICE_CRT},
134
    {"ECS K8M800-M2 (2.0)",                   VIA_K8M800,  0x1019, 0x1B45, VIA_DEVICE_CRT},
127
    {"Acer Aspire 136x",                      VIA_K8M800,  0x1025, 0x006E, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
135
    {"Acer Aspire 136x",                      VIA_K8M800,  0x1025, 0x006E, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
128
    {"Asustek K8V-MX",                        VIA_K8M800,  0x1043, 0x8129, VIA_DEVICE_CRT},
136
    {"Asustek K8V-MX",                        VIA_K8M800,  0x1043, 0x8129, VIA_DEVICE_CRT},
129
    {"Mitac 8399",                            VIA_K8M800,  0x1071, 0x8399, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka "pogolinux konabook 3100" */
137
    {"Mitac 8399",                            VIA_K8M800,  0x1071, 0x8399, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV}, /* aka "Pogolinux Konabook 3100" */
130
    {"Mitac 8889",                            VIA_K8M800,  0x1071, 0x8889, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
138
    {"Mitac 8889",                            VIA_K8M800,  0x1071, 0x8889, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
131
    {"PCChips M861G",                         VIA_K8M800,  0x1106, 0x0204, VIA_DEVICE_CRT}, 
139
    {"MSI K8M Neo-V (broken pci id)",         VIA_K8M800,  0x1106, 0x0204, VIA_DEVICE_CRT},
132
    {"VIA VT3108 (K8M800)",                   VIA_K8M800,  0x1106, 0x3108, VIA_DEVICE_CRT}, /* borrowed by Asustek A8V-MX */ 
140
    {"VIA VT3108 (K8M800)",                   VIA_K8M800,  0x1106, 0x3108, VIA_DEVICE_CRT}, /* borrowed by Asustek A8V-MX */ 
133
    {"Shuttle FX21",                          VIA_K8M800,  0x1297, 0x3052, VIA_DEVICE_CRT},
141
    {"Shuttle FX21",                          VIA_K8M800,  0x1297, 0x3052, VIA_DEVICE_CRT},
134
    {"Shuttle FX83",                          VIA_K8M800,  0x1297, 0xF683, VIA_DEVICE_CRT | VIA_DEVICE_TV},
142
    {"Shuttle FX83",                          VIA_K8M800,  0x1297, 0xF683, VIA_DEVICE_CRT | VIA_DEVICE_TV},
Lines 137-142 Link Here
137
    {"MSI K8M Neo-V",                         VIA_K8M800,  0x1462, 0x0320, VIA_DEVICE_CRT},
145
    {"MSI K8M Neo-V",                         VIA_K8M800,  0x1462, 0x0320, VIA_DEVICE_CRT},
138
    {"MSI K8MM-V",                            VIA_K8M800,  0x1462, 0x7142, VIA_DEVICE_CRT},
146
    {"MSI K8MM-V",                            VIA_K8M800,  0x1462, 0x7142, VIA_DEVICE_CRT},
139
    {"MSI K8MM3-V",                           VIA_K8M800,  0x1462, 0x7181, VIA_DEVICE_CRT},
147
    {"MSI K8MM3-V",                           VIA_K8M800,  0x1462, 0x7181, VIA_DEVICE_CRT},
148
    {"MSI K9MM-V",                            VIA_K8M800,  0x1462, 0x7312, VIA_DEVICE_CRT},
140
    {"MSI K8MM-ILSR",                         VIA_K8M800,  0x1462, 0x7410, VIA_DEVICE_CRT},
149
    {"MSI K8MM-ILSR",                         VIA_K8M800,  0x1462, 0x7410, VIA_DEVICE_CRT},
141
    {"Abit KV-80",                            VIA_K8M800,  0x147B, 0x1419, VIA_DEVICE_CRT},
150
    {"Abit KV-80",                            VIA_K8M800,  0x147B, 0x1419, VIA_DEVICE_CRT},
142
    {"Abit KV-81",                            VIA_K8M800,  0x147B, 0x141A, VIA_DEVICE_CRT},
151
    {"Abit KV-81",                            VIA_K8M800,  0x147B, 0x141A, VIA_DEVICE_CRT},
Lines 145-175 Link Here
145
    {"Averatec 3715",                         VIA_K8M800,  0x14FF, 0x0322, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
154
    {"Averatec 3715",                         VIA_K8M800,  0x14FF, 0x0322, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
146
    {"Averatec 54xx",                         VIA_K8M800,  0x1509, 0x3930, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
155
    {"Averatec 54xx",                         VIA_K8M800,  0x1509, 0x3930, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
147
    {"FIC K8M-800M",                          VIA_K8M800,  0x1509, 0x6001, VIA_DEVICE_CRT},
156
    {"FIC K8M-800M",                          VIA_K8M800,  0x1509, 0x6001, VIA_DEVICE_CRT},
157
    {"Clevo L570W",                           VIA_K8M800,  0x1558, 0x0570, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
158
    {"Mesh Pegasus",                          VIA_K8M800,  0x1558, 0x4702, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
148
    {"Biostar K8VGA-M",                       VIA_K8M800,  0x1565, 0x1203, VIA_DEVICE_CRT},
159
    {"Biostar K8VGA-M",                       VIA_K8M800,  0x1565, 0x1203, VIA_DEVICE_CRT},
149
    {"DFI K8M800-MLVF",                       VIA_K8M800,  0x15BD, 0x1002, VIA_DEVICE_CRT},
160
    {"DFI K8M800-MLVF",                       VIA_K8M800,  0x15BD, 0x1002, VIA_DEVICE_CRT},
150
    {"Packard Bell Easynote E6116/E63xx",     VIA_K8M800,  0x1631, 0xC008, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
161
    {"Packard Bell Easynote E6116/E63xx",     VIA_K8M800,  0x1631, 0xC008, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
151
    {"Packard Bell Easynote B3 800/B3340",    VIA_K8M800,  0x1631, 0xC009, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
162
    {"Packard Bell Easynote B3 800/B3340",    VIA_K8M800,  0x1631, 0xC009, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
163
    {"Packard Bell Imedia 2097",              VIA_K8M800,  0x1631, 0xD007, VIA_DEVICE_CRT},
164
    {"Fujitsu-Siemens Amilo K7610",           VIA_K8M800,  0x1734, 0x10B3, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
152
    {"ASRock K8Upgrade-VM800",                VIA_K8M800,  0x1849, 0x3108, VIA_DEVICE_CRT},
165
    {"ASRock K8Upgrade-VM800",                VIA_K8M800,  0x1849, 0x3108, VIA_DEVICE_CRT},
153
    /* PM800 */
166
167
    /*** PM800, PM880, PN800, CN400 ***/
154
    {"VIA VT3118 (PM800)",                    VIA_PM800,   0x1106, 0x3118, VIA_DEVICE_CRT}, /* borrowed by ECS PM800-M2 */
168
    {"VIA VT3118 (PM800)",                    VIA_PM800,   0x1106, 0x3118, VIA_DEVICE_CRT}, /* borrowed by ECS PM800-M2 */
169
    {"Hasee F700C",                           VIA_PM800,   0x1071, 0x8650, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
155
    {"Mitac 8666",                            VIA_PM800,   0x1071, 0x8666, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
170
    {"Mitac 8666",                            VIA_PM800,   0x1071, 0x8666, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
156
    {"Medion MIM2080",                        VIA_PM800,   0x1071, 0x8965, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
171
    {"Medion MIM2080",                        VIA_PM800,   0x1071, 0x8965, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
172
    {"TwinHead E12BL",                        VIA_PM800,   0x14FF, 0x0314, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
157
    {"MaxSelect Optima C4",                   VIA_PM800,   0x1558, 0x5402, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
173
    {"MaxSelect Optima C4",                   VIA_PM800,   0x1558, 0x5402, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
158
    {"Biostar P4VMA-M",                       VIA_PM800,   0x1565, 0x1202, VIA_DEVICE_CRT},
174
    {"Biostar P4VMA-M",                       VIA_PM800,   0x1565, 0x1202, VIA_DEVICE_CRT},
175
    {"Sotec WA2330S5",                        VIA_PM800,   0x161F, 0x2037, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
159
    {"Packard Bell Easynote R1100",           VIA_PM800,   0x1631, 0xC015, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
176
    {"Packard Bell Easynote R1100",           VIA_PM800,   0x1631, 0xC015, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
160
    {"Fujitsu/Siemens Amilo Pro V2010",       VIA_PM800,   0x1734, 0x1078, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
177
    {"Fujitsu/Siemens Amilo Pro V2010",       VIA_PM800,   0x1734, 0x1078, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
178
    {"Fujitsu/Siemens Amilo L7310",           VIA_PM800,   0x1734, 0x10AB, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
161
    {"ASRock P4VM8",                          VIA_PM800,   0x1849, 0x3118, VIA_DEVICE_CRT},
179
    {"ASRock P4VM8",                          VIA_PM800,   0x1849, 0x3118, VIA_DEVICE_CRT},
162
    {"Chaintech MPM800-3",                    VIA_PM800,   0x270F, 0x7671, VIA_DEVICE_CRT},
180
    {"Chaintech MPM800-3",                    VIA_PM800,   0x270F, 0x7671, VIA_DEVICE_CRT},
163
    {"MaxSelect Optima C4",                   VIA_PM800,   0x1558, 0x5402, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
181
    {"KamLAB KINO-LUKE-533-R20",              VIA_PM800,   0x3344, 0x1122, VIA_DEVICE_CRT},
164
    /* VN800 */
182
183
    /*** P4M800Pro, VN800, CN700 ***/
184
    {"Clevo/RoverBook Partner E419L",         VIA_VM800,   0x1019, 0x0F75, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
185
    {"PCChips P23G",                          VIA_VM800,   0x1019, 0x1623, VIA_DEVICE_CRT},
186
    {"ECS P4M800PRO-M",                       VIA_VM800,   0x1019, 0x2122, VIA_DEVICE_CRT},
187
    {"ECS C7VCM",                             VIA_VM800,   0x1019, 0xAA2D, VIA_DEVICE_CRT},
188
    {"PCChips V21G",                          VIA_VM800,   0x1019, 0xAA51, VIA_DEVICE_CRT},
189
    {"Asustek P5VDC-MX",                      VIA_VM800,   0x1043, 0x3344, VIA_DEVICE_CRT},
190
    {"Asustek P5VDC-TVM",                     VIA_VM800,   0x1043, 0x81CE, VIA_DEVICE_CRT},
165
    {"Gateway MX3210",                        VIA_VM800,   0x107B, 0x0216, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
191
    {"Gateway MX3210",                        VIA_VM800,   0x107B, 0x0216, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
192
    {"VIA VT3344 (VM800) - EPIA EN",          VIA_VM800,   0x1106, 0x3344, VIA_DEVICE_CRT | VIA_DEVICE_TV},
166
    {"Gigabyte GA-8VM800M-775",               VIA_VM800,   0x1458, 0xD000, VIA_DEVICE_CRT},
193
    {"Gigabyte GA-8VM800M-775",               VIA_VM800,   0x1458, 0xD000, VIA_DEVICE_CRT},
167
    {"MSI PM8M-V",                            VIA_VM800,   0x1462, 0x7104, VIA_DEVICE_CRT},
194
    {"MSI PM8M-V",                            VIA_VM800,   0x1462, 0x7104, VIA_DEVICE_CRT},
195
    {"MSI Fuzzy CN700/CN700T/CN700G",         VIA_VM800,   0x1462, 0x7199, VIA_DEVICE_CRT | VIA_DEVICE_TV},
196
    {"MSI PM8M3-V",                           VIA_VM800,   0x1462, 0x7211, VIA_DEVICE_CRT},
168
    {"MSI PM8PM",                             VIA_VM800,   0x1462, 0x7222, VIA_DEVICE_CRT},
197
    {"MSI PM8PM",                             VIA_VM800,   0x1462, 0x7222, VIA_DEVICE_CRT},
169
    {"Biostar P4M80-M4",                      VIA_VM800,   0x1565, 0x1202, VIA_DEVICE_CRT},
198
    {"RoverBook Partner W500",                VIA_VM800,   0x1509, 0x4330, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
199
    {"Clevo/RoverBook Voyager V511L",         VIA_VM800,   0x1558, 0x0662, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
200
    {"Clevo M5xxS",                           VIA_VM800,   0x1558, 0x5406, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
201
    {"Biostar P4M80-M4 / P4VMA-M",            VIA_VM800,   0x1565, 0x1202, VIA_DEVICE_CRT},
202
    {"Biostar P4M800 Pro-M7",                 VIA_VM800,   0x1565, 0x1206, VIA_DEVICE_CRT},
170
    {"Fujitsu/Siemens Amilo Pro V2030",       VIA_VM800,   0x1734, 0x109B, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
203
    {"Fujitsu/Siemens Amilo Pro V2030",       VIA_VM800,   0x1734, 0x109B, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
204
    {"Fujitsu/Siemens Amilo Pro V2035",       VIA_VM800,   0x1734, 0x10AE, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
205
    {"Fujitsu/Siemens Amilo Pro V2055",       VIA_VM800,   0x1734, 0x10CA, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
206
    {"Fujitsu/Siemens Amilo L7320",           VIA_VM800,   0x1734, 0x10CD, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
171
    {"ASRock P4VM800",                        VIA_VM800,   0x1849, 0x3344, VIA_DEVICE_CRT},
207
    {"ASRock P4VM800",                        VIA_VM800,   0x1849, 0x3344, VIA_DEVICE_CRT},
172
    {"Asustek P5V800-MX",                     VIA_VM800,   0x3344, 0x1122, VIA_DEVICE_CRT},
208
    {"Asustek P5V800-MX",                     VIA_VM800,   0x3344, 0x1122, VIA_DEVICE_CRT},
209
210
    /*** K8M890 ***/
211
    {"IBM AnyPlace Kiosk 3xx",                VIA_K8M890,  0x1106, 0x3230, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
212
    {"Asustek A8V-VM",                        VIA_K8M890,  0x1043, 0x81B5, VIA_DEVICE_CRT},
213
    {"Asustek M2V-MX SE",                     VIA_K8M890,  0x1043, 0x8297, VIA_DEVICE_CRT},
214
    {"Foxconn K8M890M2MA-RS2H",               VIA_K8M890,  0x105B, 0x0C84, VIA_DEVICE_CRT},
215
    {"Shuttle FX22V1",                        VIA_K8M890,  0x1297, 0x3080, VIA_DEVICE_CRT},
216
    {"MSI K9VGM-V",                           VIA_K8M890,  0x1462, 0x7253, VIA_DEVICE_CRT},
217
    {"Averatec 226x",                         VIA_K8M890,  0x14FF, 0xA002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
218
    {"Fujitsu/Siemens Amilo La 1703",         VIA_K8M890,  0x1734, 0x10D9, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
219
220
    /*** P4M900, VN896, CN896 ***/
221
    {"VIA Epia SN",                           VIA_P4M900,  0x0908, 0x1975, VIA_DEVICE_CRT},
222
    {"Hewlett Packard 2133 Mini-Note",        VIA_P4M900,  0x103C, 0x3030, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
223
    {"Asustek P5VD2-VM",                      VIA_P4M900,  0x1043, 0x81CE, VIA_DEVICE_CRT},
224
    {"Asustek P5VD2-VM SE",                   VIA_P4M900,  0x1043, 0x8252, VIA_DEVICE_CRT},
225
    {"Foxconn P4M9007MB-8RS2H",               VIA_P4M900,  0x105B, 0x0C87, VIA_DEVICE_CRT},
226
    {"Mitac 8515",                            VIA_P4M900,  0x1071, 0x8515, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
227
    {"Medion Notebook MD96483",               VIA_P4M900,  0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
228
    {"Mitac 8624",                            VIA_P4M900,  0x1071, 0x8624, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
229
    {"VIA VT3364 (P4M900)",                   VIA_P4M900,  0x1106, 0x3371, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
230
    {"Gigabyte GA-VM900M",                    VIA_P4M900,  0x1458, 0xD000, VIA_DEVICE_CRT},
231
    {"MSI VR321",                             VIA_P4M900,  0x1462, 0x3355, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
232
    {"MSI P4M900M / P4M900M2-F/L",            VIA_P4M900,  0x1462, 0x7255, VIA_DEVICE_CRT},
233
    {"Everex NC1501/NC1503",                  VIA_P4M900,  0x1509, 0x1E30, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
234
    {"Clevo M660SE",                          VIA_P4M900,  0x1558, 0x0664, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
235
    {"Clevo M660SR",                          VIA_P4M900,  0x1558, 0x0669, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
236
    {"Neo Endura 540SLe",                     VIA_P4M900,  0x1558, 0x5408, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
237
    {"Clevo M54xSR",                          VIA_P4M900,  0x1558, 0x5409, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
238
    {"Biostar P4M900M-M7 SE",                 VIA_P4M900,  0x1565, 0x1207, VIA_DEVICE_CRT},
239
    {"Fujitsu/Siemens Amilo Pro V3515",       VIA_P4M900,  0x1734, 0x10CB, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
240
    {"Fujitsu/Siemens Amilo Li1705",          VIA_P4M900,  0x1734, 0x10F7, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
241
    {"ASRock P4VM900-SATA2",                  VIA_P4M900,  0x1849, 0x3371, VIA_DEVICE_CRT},
242
243
    /*** CX700 ***/
244
    {"VIA VT8454B",                           VIA_CX700,   0x0908, 0x1975, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, /* Evaluation board, reference possibly wrong */
245
    {"VIA VT3324 (CX700)",                    VIA_CX700,   0x1106, 0x3157, VIA_DEVICE_CRT},
246
    {"MSI Fuzzy CX700/CX700D",                VIA_CX700,   0x1462, 0x8020, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
247
    {"Samsung Q1B",                           VIA_CX700,   0x144D, 0xC02C, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
248
    {"FIC CE260",                             VIA_CX700,   0x1509, 0x2D30, VIA_DEVICE_LCD},
249
    {"FIC CE261",                             VIA_CX700,   0x1509, 0x2F07, VIA_DEVICE_LCD},
250
    {"Gigabyte M704 / RoverPC A700GQ",        VIA_CX700,   0x161F, 0x2060, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
251
    {"Packard Bell EasyNote XS",              VIA_CX700,   0x1631, 0xC201, VIA_DEVICE_LCD}, /* aka Everex Cloudbook CE1200V */
252
253
    /*** P4M890, VN890 ***/
254
    {"PCChips P29G",                          VIA_P4M890,  0x1019, 0x1629, VIA_DEVICE_CRT},
255
    {"PCChips ????",                          VIA_P4M890,  0x1019, 0x2174, VIA_DEVICE_CRT},
256
    {"Asustek P5V-VM ULTRA",                  VIA_P4M890,  0x1043, 0x81B5, VIA_DEVICE_CRT},
257
    {"Asustek P5V-VM DH",                     VIA_P4M890,  0x1043, 0x81CE, VIA_DEVICE_CRT},
258
    {"Mitac 8615",                            VIA_P4M890,  0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
259
    {"VIA VT3343 (P4M890)",                   VIA_P4M890,  0x1106, 0x3343, VIA_DEVICE_CRT},
260
    {"MSI P4M890M-L/IL (MS-7255)",            VIA_P4M890,  0x1462, 0x7255, VIA_DEVICE_CRT},
261
    {"Biostar P4M890-M7 TE",                  VIA_P4M890,  0x1565, 0x1207, VIA_DEVICE_CRT},
262
    {"ASRock P4VM890",                        VIA_P4M890,  0x1849, 0x3343, VIA_DEVICE_CRT},
263
173
    /* keep this */
264
    /* keep this */
174
    {NULL,                                    VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
265
    {NULL,                                    VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
175
};
266
};
Lines 209-223 Link Here
209
    struct ViaCardIdStruct *Id;
300
    struct ViaCardIdStruct *Id;
210
    VIAPtr pVia = VIAPTR(pScrn);
301
    VIAPtr pVia = VIAPTR(pScrn);
211
    
302
    
212
    if ((pVia->PciInfo->subsysVendor == pVia->PciInfo->vendor) &&
303
    if ((SUBVENDOR_ID(pVia->PciInfo) == VENDOR_ID(pVia->PciInfo)) &&
213
	(pVia->PciInfo->subsysCard == pVia->PciInfo->chipType))
304
       (SUBSYS_ID(pVia->PciInfo) == DEVICE_ID(pVia->PciInfo)))
214
	xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Manufacturer plainly copied main PCI"
305
	xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Manufacturer plainly copied main PCI"
215
		   " ids to Subsystem/Card ids.\n");
306
		   " ids to Subsystem/Card ids.\n");
216
    
307
    
217
    for (Id = ViaCardId; Id->String; Id++) {
308
    for (Id = ViaCardId; Id->String; Id++) {
218
	if ((Id->Chip == pVia->Chipset) && 
309
	if ((Id->Chip == pVia->Chipset) && 
219
	    (Id->Vendor == pVia->PciInfo->subsysVendor) &&
310
           (Id->Vendor == SUBVENDOR_ID(pVia->PciInfo)) &&
220
	    (Id->Device == pVia->PciInfo->subsysCard)) {
311
           (Id->Device == SUBSYS_ID(pVia->PciInfo))) {
221
	    xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Detected %s.\n", Id->String);
312
	    xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Detected %s.\n", Id->String);
222
	    pVia->Id = Id;
313
	    pVia->Id = Id;
223
	    return;
314
	    return;
Lines 225-232 Link Here
225
    }
316
    }
226
    
317
    
227
    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, 
318
    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, 
228
	       "Unknown Card-Ids (%4X|%4X), report this to the driver maintainer ASAP\n"
319
	       "Unknown Card-Ids (%4X|%4X), report this to the driver maintainer ASAP\n",
229
	       , pVia->PciInfo->subsysVendor, pVia->PciInfo->subsysCard);
320
               DEVICE_ID(pVia->PciInfo), SUBVENDOR_ID(pVia->PciInfo), SUBSYS_ID(pVia->PciInfo));
230
    pVia->Id = NULL;
321
    pVia->Id = NULL;
231
}
322
}
232
323
(-)src/via_id.h (+8 lines)
Lines 43-48 Link Here
43
    VIA_K8M800,
43
    VIA_K8M800,
44
    VIA_PM800,
44
    VIA_PM800,
45
    VIA_VM800,
45
    VIA_VM800,
46
    VIA_K8M890,
47
    VIA_P4M900,
48
    VIA_CX700,
49
    VIA_P4M890,
46
    VIA_LAST
50
    VIA_LAST
47
};
51
};
48
52
Lines 62-67 Link Here
62
#define PCI_CHIP_CLE3122        0x3122 /* CLE266 */
66
#define PCI_CHIP_CLE3122        0x3122 /* CLE266 */
63
#define PCI_CHIP_VT3205         0x7205 /* KM400 */
67
#define PCI_CHIP_VT3205         0x7205 /* KM400 */
64
#define PCI_CHIP_VT3314         0x3344 /* VM800 */
68
#define PCI_CHIP_VT3314         0x3344 /* VM800 */
69
#define PCI_CHIP_VT3336         0x3230 /* K8M890 */
70
#define PCI_CHIP_VT3364         0x3371 /* P4M900 */
71
#define PCI_CHIP_VT3324         0x3157 /* CX700 */
72
#define PCI_CHIP_VT3327         0x3343 /* P4M890 */
65
73
66
/*
74
/*
67
 * There is also quite some conflicting information on the
75
 * There is also quite some conflicting information on the
(-)src/xvmc/viaLowLevel.h (+9 lines)
Lines 63-68 Link Here
63
#define VIA_SLICEIDLEVAL         0x00000200
63
#define VIA_SLICEIDLEVAL         0x00000200
64
#define VIA_IDLEVAL              0x00000204
64
#define VIA_IDLEVAL              0x00000204
65
65
66
/* Define uint32_t for <drm/drm.h> */
67
#if HAVE_INTTYPES_H
68
#  include <inttypes.h>
69
#else
70
#  ifndef uint32_t
71
#    define uint32_t CARD32
72
#  endif
73
#endif
74
66
#include "via_drm.h"
75
#include "via_drm.h"
67
#include "viaXvMCPriv.h"
76
#include "viaXvMCPriv.h"
68
77

Return to bug 239075