mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 13:47:14 +08:00
421 lines
13 KiB
Diff
421 lines
13 KiB
Diff
From 10498d2730c651eb7a1890eb9e728269732e9dad Mon Sep 17 00:00:00 2001
|
|
From: Adam Jackson <ajax@redhat.com>
|
|
Date: Tue, 25 Sep 2012 12:54:59 +0000
|
|
Subject: Remove mibstore.h
|
|
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
---
|
|
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 <guillem@hadrons.org>
|
|
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 <guillem@hadrons.org>
|
|
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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 <string.h>
|
|
#include <stdio.h>
|
|
|
|
-#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 <guillem@hadrons.org>
|
|
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 <guillem@hadrons.org>
|
|
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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 <guillem@hadrons.org>
|
|
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 <guillem@hadrons.org>
|
|
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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 <guillem@hadrons.org>
|
|
Date: Tue, 1 Oct 2013 05:36:34 +0200
|
|
Subject: Remove unreachable breaks after return statements
|
|
|
|
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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 <guillem@hadrons.org>
|
|
Date: Wed, 2 Oct 2013 21:22:33 +0200
|
|
Subject: Use the PCI ID macros instead of hardcoded values
|
|
|
|
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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 <guillem@hadrons.org>
|
|
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 <guillem@hadrons.org>
|
|
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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 <guillem@hadrons.org>
|
|
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 <guillem@hadrons.org>
|
|
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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 <ajax@redhat.com>
|
|
Date: Tue, 29 Jul 2014 09:15:49 -0400
|
|
Subject: dri: Stop (uselessly) initializing the ValidateTree hooks
|
|
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
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
|
|
|