From 10498d2730c651eb7a1890eb9e728269732e9dad Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 25 Sep 2012 12:54:59 +0000 Subject: Remove mibstore.h Signed-off-by: Adam Jackson --- diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c index ddd5431..412da07 100644 --- a/src/tdfx_driver.c +++ b/src/tdfx_driver.c @@ -62,10 +62,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "compiler.h" -/* Drivers using the mi implementation of backing store need: */ - -#include "mibstore.h" - /* All drivers using the vgahw module need this */ /* This driver needs to be modified to not use vgaHW for multihead operation */ #include "vgaHW.h" @@ -2373,7 +2369,6 @@ TDFXScreenInit(SCREEN_INIT_ARGS_DECL) { } } - miInitializeBackingStore(pScreen); xf86SetBackingStore(pScreen); xf86SetSilkenMouse(pScreen); -- cgit v0.9.0.2-2-gbebe From 457bd576a4895f0d3a65e550dbe2470177bf650d Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Fri, 27 Sep 2013 18:52:01 +0200 Subject: Define local PCI IDs instead of using xf86PciInfo.h The header file is deprecated and issues a warning now. Stop using it, and move the definitions to the local tree as recommended by the warning. Signed-off-by: Guillem Jover Reviewed-by: Adam Jackson diff --git a/src/tdfx.h b/src/tdfx.h index 7782473..7e3be81 100644 --- a/src/tdfx.h +++ b/src/tdfx.h @@ -12,7 +12,6 @@ #include #include -#include "xf86PciInfo.h" #include "xf86Pci.h" #include "xf86DDC.h" #include "xf86xv.h" @@ -73,6 +72,17 @@ (p)->memBase[region] #endif +#define PCI_VENDOR_3DFX 0x121A + +#define PCI_CHIP_VOODOO_GRAPHICS 0x0001 +#define PCI_CHIP_VOODOO2 0x0002 +#define PCI_CHIP_BANSHEE 0x0003 +#define PCI_CHIP_VOODOO3 0x0005 +#define PCI_CHIP_VOODOO5 0x0009 + +#define PCI_CARD_VOODOO3_2000 0x0036 +#define PCI_CARD_VOODOO3_3000 0x003A + struct _TDFXRec; typedef struct _TDFXRec *TDFXPtr; diff --git a/src/tdfx_accel.c b/src/tdfx_accel.c index 65933b4..e62e193 100644 --- a/src/tdfx_accel.c +++ b/src/tdfx_accel.c @@ -11,9 +11,6 @@ /* Drivers that need to access the PCI config space directly need this */ #include "xf86Pci.h" -/* Drivers for PCI hardware need this */ -#include "xf86PciInfo.h" - /* Drivers that use XAA need this */ #ifdef HAVE_XAA_H #include "xaalocal.h" diff --git a/src/tdfx_dri.c b/src/tdfx_dri.c index 76064c3..87ec0e8 100644 --- a/src/tdfx_dri.c +++ b/src/tdfx_dri.c @@ -5,7 +5,6 @@ #include "xf86.h" #include "xf86_OSproc.h" -#include "xf86PciInfo.h" #include "xf86Pci.h" #include "fb.h" #include "miline.h" -- cgit v0.10.2 From 646137de571a9df950d3a3edb454803268fd5f98 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Fri, 27 Sep 2013 19:06:31 +0200 Subject: Rename XSERVER_PCIACCESS to XSERVER_LIBPCIACCESS Using the wrong macro name means that the code uses an obsolete typedef that issues warnings. Signed-off-by: Guillem Jover Reviewed-by: Adam Jackson diff --git a/src/tdfx.h b/src/tdfx.h index 7e3be81..d8a72db 100644 --- a/src/tdfx.h +++ b/src/tdfx.h @@ -226,7 +226,7 @@ typedef struct _TDFXRec { unsigned long MMIOAddr[MAXCHIPS]; EntityInfoPtr pEnt; int numChips; -#ifndef XSERVER_PCIACCESS +#ifndef XSERVER_LIBPCIACCESS PCITAG PciTag[MAXCHIPS]; #endif Bool Primary; -- cgit v0.10.2 From 774461a4ac92c39c3b3ec975a887540dfa791eae Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Fri, 27 Sep 2013 19:20:11 +0200 Subject: Use new pci_device_(un)map_range functions instead of deprecated ones Signed-off-by: Guillem Jover Reviewed-by: Adam Jackson diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c index 412da07..6bc123b 100644 --- a/src/tdfx_driver.c +++ b/src/tdfx_driver.c @@ -1253,11 +1253,11 @@ TDFXMapMem(ScrnInfoPtr pScrn) * FIXME: don't have any such hardware to test. */ for (i = 0; i < pTDFX->numChips; i++) { - err = pci_device_map_memory_range(pTDFX->PciInfo[i], - pTDFX->MMIOAddr[i], - TDFXIOMAPSIZE, - TRUE, - & pTDFX->MMIOBase[i]); + err = pci_device_map_range(pTDFX->PciInfo[i], + pTDFX->MMIOAddr[i], + TDFXIOMAPSIZE, + PCI_DEV_MAP_FLAG_WRITABLE, + & pTDFX->MMIOBase[i]); if (err) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to map MMIO region for card %u (%d).\n", @@ -1267,11 +1267,11 @@ TDFXMapMem(ScrnInfoPtr pScrn) } - err = pci_device_map_memory_range(pTDFX->PciInfo[0], - pTDFX->LinearAddr[0], - pTDFX->FbMapSize, - TRUE, - & pTDFX->FbBase); + err = pci_device_map_range(pTDFX->PciInfo[0], + pTDFX->LinearAddr[0], + pTDFX->FbMapSize, + PCI_DEV_MAP_FLAG_WRITABLE, + & pTDFX->FbBase); if (err) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to map framebuffer (%d).\n", err); @@ -1307,8 +1307,12 @@ TDFXUnmapMem(ScrnInfoPtr pScrn) pTDFX = TDFXPTR(pScrn); #ifdef XSERVER_LIBPCIACCESS - pci_device_unmap_region(pTDFX->PciInfo[0], 0); - pci_device_unmap_region(pTDFX->PciInfo[0], 1); + pci_device_unmap_range(pTDFX->PciInfo[0], + pTDFX->FbBase, + pTDFX->FbMapSize); + pci_device_unmap_range(pTDFX->PciInfo[0], + pTDFX->MMIOBase[0], + TDFXIOMAPSIZE); (void) memset(pTDFX->MMIOBase, 0, sizeof(pTDFX->MMIOBase)); pTDFX->FbBase = NULL; -- cgit v0.10.2 From 58b2ac6dd1487580f49869f582a8852b003a34fa Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Tue, 1 Oct 2013 05:36:34 +0200 Subject: Remove unreachable breaks after return statements Signed-off-by: Guillem Jover Reviewed-by: Adam Jackson diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c index 6bc123b..7e76814 100644 --- a/src/tdfx_driver.c +++ b/src/tdfx_driver.c @@ -2585,14 +2585,11 @@ TDFXValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) { switch (pTDFX->ChipType) { case PCI_CHIP_BANSHEE: return MODE_BAD; - break; case PCI_CHIP_VOODOO3: case PCI_CHIP_VOODOO5: return MODE_OK; - break; default: return MODE_BAD; - break; } } /* In clock doubled mode widths must be divisible by 16 instead of 8 */ -- cgit v0.10.2 From 828c151064083e4488a4cb3854f8dcb23265e5cb Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Wed, 2 Oct 2013 21:22:33 +0200 Subject: Use the PCI ID macros instead of hardcoded values Signed-off-by: Guillem Jover Reviewed-by: Adam Jackson diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c index 7e76814..130c066 100644 --- a/src/tdfx_driver.c +++ b/src/tdfx_driver.c @@ -149,15 +149,15 @@ static void TDFXDisplayPowerManagementSet(ScrnInfoPtr pScrn, #ifdef XSERVER_LIBPCIACCESS #define TDFX_DEVICE_MATCH(d, sub, i) \ - { 0x121A, (d), PCI_MATCH_ANY, (sub), 0, 0, (i) } + { PCI_VENDOR_3DFX, (d), PCI_MATCH_ANY, (sub), 0, 0, (i) } static const struct pci_id_match tdfx_device_match[] = { TDFX_DEVICE_MATCH(PCI_CHIP_BANSHEE, PCI_MATCH_ANY, Banshee), /* There are *many* missing PCI IDs here. */ - TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, 0x0036, Voodoo3_2000), - TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, 0x003A, Voodoo3_3000), + TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, PCI_CARD_VOODOO3_2000, Voodoo3_2000), + TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, PCI_CARD_VOODOO3_3000, Voodoo3_3000), TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, PCI_MATCH_ANY, Voodoo3_Unknown), TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO5, PCI_MATCH_ANY, Voodoo5), -- cgit v0.10.2 From b15c1e8ef9858c85ead44ded22c7d48bd8ffa501 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Thu, 3 Oct 2013 14:25:45 +0200 Subject: Unmap MMIO ranges for all chips This is relevant on SLI setups, where each chip has their own MMIO range. Signed-off-by: Guillem Jover Reviewed-by: Adam Jackson diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c index 130c066..bcd674f 100644 --- a/src/tdfx_driver.c +++ b/src/tdfx_driver.c @@ -1310,9 +1310,12 @@ TDFXUnmapMem(ScrnInfoPtr pScrn) pci_device_unmap_range(pTDFX->PciInfo[0], pTDFX->FbBase, pTDFX->FbMapSize); - pci_device_unmap_range(pTDFX->PciInfo[0], - pTDFX->MMIOBase[0], - TDFXIOMAPSIZE); + + for (i = 0; i < pTDFX->numChips; i++) { + pci_device_unmap_range(pTDFX->PciInfo[i], + pTDFX->MMIOBase[i], + TDFXIOMAPSIZE); + } (void) memset(pTDFX->MMIOBase, 0, sizeof(pTDFX->MMIOBase)); pTDFX->FbBase = NULL; -- cgit v0.10.2 From d8873445199bf1d229503ff1d12c6a2f3f23c863 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Thu, 3 Oct 2013 15:35:05 +0200 Subject: Add more PCI IDs for supported chips Add support for Velocity and Voodoo4 chips. Signed-off-by: Guillem Jover Reviewed-by: Adam Jackson diff --git a/src/tdfx.h b/src/tdfx.h index d8a72db..38a7ad3 100644 --- a/src/tdfx.h +++ b/src/tdfx.h @@ -77,7 +77,9 @@ #define PCI_CHIP_VOODOO_GRAPHICS 0x0001 #define PCI_CHIP_VOODOO2 0x0002 #define PCI_CHIP_BANSHEE 0x0003 +#define PCI_CHIP_VELOCITY 0x0004 #define PCI_CHIP_VOODOO3 0x0005 +#define PCI_CHIP_VOODOO4 0x0007 #define PCI_CHIP_VOODOO5 0x0009 #define PCI_CARD_VOODOO3_2000 0x0036 diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c index bcd674f..03fa165 100644 --- a/src/tdfx_driver.c +++ b/src/tdfx_driver.c @@ -154,12 +154,15 @@ static void TDFXDisplayPowerManagementSet(ScrnInfoPtr pScrn, static const struct pci_id_match tdfx_device_match[] = { TDFX_DEVICE_MATCH(PCI_CHIP_BANSHEE, PCI_MATCH_ANY, Banshee), + TDFX_DEVICE_MATCH(PCI_CHIP_VELOCITY, PCI_MATCH_ANY, Voodoo3_Unknown), + /* There are *many* missing PCI IDs here. */ TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, PCI_CARD_VOODOO3_2000, Voodoo3_2000), TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, PCI_CARD_VOODOO3_3000, Voodoo3_3000), TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO3, PCI_MATCH_ANY, Voodoo3_Unknown), + TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO4, PCI_MATCH_ANY, Voodoo5), TDFX_DEVICE_MATCH(PCI_CHIP_VOODOO5, PCI_MATCH_ANY, Voodoo5), { 0, 0, 0 } }; @@ -198,7 +201,9 @@ _X_EXPORT DriverRec TDFX = { /* Chipsets */ static SymTabRec TDFXChipsets[] = { { PCI_CHIP_BANSHEE, "3dfx Banshee"}, + { PCI_CHIP_VELOCITY, "3dfx Velocity"}, { PCI_CHIP_VOODOO3, "3dfx Voodoo3"}, + { PCI_CHIP_VOODOO4, "3dfx Voodoo4"}, { PCI_CHIP_VOODOO5, "3dfx Voodoo5"}, { -1, NULL } }; @@ -206,7 +211,9 @@ static SymTabRec TDFXChipsets[] = { #ifndef XSERVER_LIBPCIACCESS static PciChipsets TDFXPciChipsets[] = { { PCI_CHIP_BANSHEE, PCI_CHIP_BANSHEE, RES_SHARED_VGA }, + { PCI_CHIP_VELOCITY, PCI_CHIP_VELOCITY, RES_SHARED_VGA }, { PCI_CHIP_VOODOO3, PCI_CHIP_VOODOO3, RES_SHARED_VGA }, + { PCI_CHIP_VOODOO4, PCI_CHIP_VOODOO4, RES_SHARED_VGA }, { PCI_CHIP_VOODOO5, PCI_CHIP_VOODOO5, RES_SHARED_VGA }, { -1, -1, RES_UNDEFINED } }; @@ -1050,6 +1057,7 @@ TDFXPreInit(ScrnInfoPtr pScrn, int flags) case PCI_CHIP_BANSHEE: pTDFX->MaxClock = 270000; break; + case PCI_CHIP_VELOCITY: case PCI_CHIP_VOODOO3: switch(match->subsysCard) { case PCI_CARD_VOODOO3_2000: @@ -1063,6 +1071,7 @@ TDFXPreInit(ScrnInfoPtr pScrn, int flags) break; } break; + case PCI_CHIP_VOODOO4: case PCI_CHIP_VOODOO5: pTDFX->MaxClock = 350000; break; @@ -1078,7 +1087,9 @@ TDFXPreInit(ScrnInfoPtr pScrn, int flags) case PCI_CHIP_BANSHEE: clockRanges->interlaceAllowed = FALSE; break; + case PCI_CHIP_VELOCITY: case PCI_CHIP_VOODOO3: + case PCI_CHIP_VOODOO4: case PCI_CHIP_VOODOO5: clockRanges->interlaceAllowed = TRUE; break; @@ -2267,7 +2278,7 @@ TDFXScreenInit(SCREEN_INIT_ARGS_DECL) { } scanlines = (pTDFX->backOffset - pTDFX->fbOffset) / pTDFX->stride; - if(pTDFX->ChipType < PCI_CHIP_VOODOO5) { + if(pTDFX->ChipType < PCI_CHIP_VOODOO4) { if (scanlines > 2047) scanlines = 2047; } else { @@ -2588,7 +2599,9 @@ TDFXValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) { switch (pTDFX->ChipType) { case PCI_CHIP_BANSHEE: return MODE_BAD; + case PCI_CHIP_VELOCITY: case PCI_CHIP_VOODOO3: + case PCI_CHIP_VOODOO4: case PCI_CHIP_VOODOO5: return MODE_OK; default: -- cgit v0.10.2 From 2f71b05e29ae13a0fb6fbc74f4f76c78b6ddb0d7 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 29 Jul 2014 09:15:49 -0400 Subject: dri: Stop (uselessly) initializing the ValidateTree hooks Signed-off-by: Adam Jackson diff --git a/src/tdfx_dri.c b/src/tdfx_dri.c index 87ec0e8..981867a 100644 --- a/src/tdfx_dri.c +++ b/src/tdfx_dri.c @@ -361,8 +361,6 @@ Bool TDFXDRIScreenInit(ScreenPtr pScreen) pDRIInfo->frameBufferStride = pTDFX->stride; pDRIInfo->ddxDrawableTableEntry = TDFX_MAX_DRAWABLES; - pDRIInfo->wrap.ValidateTree = 0; - pDRIInfo->wrap.PostValidateTree = 0; pTDFX->coreBlockHandler = pDRIInfo->wrap.BlockHandler; pDRIInfo->wrap.BlockHandler = TDFXDoBlockHandler; pTDFX->coreWakeupHandler = pDRIInfo->wrap.WakeupHandler; -- cgit v0.10.2