summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-03-17 20:31:04 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-03-17 20:31:04 +0000
commit025ec69c2b3ebaaaeae47102c614c4cc66cc8112 (patch)
tree3eddbf6bd9b229f83f8a17bc47fe0cc4f3b2870c
parenta465c54ca726966c7eb5f4a33b72c10ff9cc0284 (diff)
merge with XORG-RELEASE-1 (tag XORG-CYGWIN-LAST-MERGE)CYGWIN-RELEASE-1-MERGE
-rw-r--r--man/trident.man2
-rw-r--r--src/trident.h2
-rw-r--r--src/trident_bank.c2
-rw-r--r--src/trident_dac.c4
-rw-r--r--src/trident_dga.c2
-rw-r--r--src/trident_driver.c11
-rw-r--r--src/trident_i2c.c2
-rw-r--r--src/trident_regs.h7
-rw-r--r--src/trident_shadow.c2
-rw-r--r--src/trident_tv.c2
-rw-r--r--src/trident_video.c8
-rw-r--r--src/tridenthelper.c2
-rw-r--r--src/tridentramdac.c2
-rw-r--r--src/tvga_dac.c2
14 files changed, 35 insertions, 15 deletions
diff --git a/man/trident.man b/man/trident.man
index b9eeae8..57c6813 100644
--- a/man/trident.man
+++ b/man/trident.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident.man,v 1.15 2003/07/03 07:52:46 alanh Exp $
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident.man,v 1.14 2003/05/29 21:48:09 herrb Exp $
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH TRIDENT __drivermansuffix__ __vendorversion__
diff --git a/src/trident.h b/src/trident.h
index ddae58e..c3fda74 100644
--- a/src/trident.h
+++ b/src/trident.h
@@ -21,7 +21,7 @@
*
* Authors: Alan Hourihane, <alanh@fairlite.demon.co.uk>
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident.h,v 1.60 2003/10/30 13:38:01 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident.h,v 1.59 2003/09/05 22:07:28 alanh Exp $ */
/*#define VBE_INFO*/
#ifndef _TRIDENT_H_
diff --git a/src/trident_bank.c b/src/trident_bank.c
index 2b1db07..eba91bb 100644
--- a/src/trident_bank.c
+++ b/src/trident_bank.c
@@ -21,7 +21,7 @@
*
* Author: Alan Hourihane, alanh@fairlite.demon.co.uk
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_bank.c,v 1.5 2003/09/05 22:07:28 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_bank.c,v 1.4 2000/12/07 16:48:04 alanh Exp $ */
/* All drivers should typically include these */
#include "xf86.h"
diff --git a/src/trident_dac.c b/src/trident_dac.c
index 0df9f1b..da68f93 100644
--- a/src/trident_dac.c
+++ b/src/trident_dac.c
@@ -734,6 +734,10 @@ TridentInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
if (pTrident->Chipset == CYBERBLADEXP4)
pReg->tridentRegs3CE[DisplayEngCont] = 0x08;
+
+ /* Avoid lockup on Blade3D, PCI Retry is permanently on */
+ if (pTrident->Chipset == BLADE3D)
+ pReg->tridentRegs3x4[PCIRetry] = 0x9F;
return(TRUE);
}
diff --git a/src/trident_dga.c b/src/trident_dga.c
index eed60f4..2c06c78 100644
--- a/src/trident_dga.c
+++ b/src/trident_dga.c
@@ -21,7 +21,7 @@
*
* Authors: Alan Hourihane, <alanh@fairlite.demon.co.uk>
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_dga.c,v 1.5 2003/09/05 22:07:28 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_dga.c,v 1.4 2002/10/08 22:14:11 tsi Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
diff --git a/src/trident_driver.c b/src/trident_driver.c
index 6b23835..b8256f1 100644
--- a/src/trident_driver.c
+++ b/src/trident_driver.c
@@ -28,7 +28,7 @@
* Massimiliano Ghilardi, max@Linuz.sns.it, some fixes to the
* clockchip programming code.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v 1.189 2003/11/06 18:38:09 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v 1.190 2004/01/21 22:31:54 alanh Exp $ */
#include "xf1bpp.h"
#include "xf4bpp.h"
@@ -1923,6 +1923,7 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags)
chipset = "Blade3D";
pTrident->NewClockCode = TRUE;
pTrident->frequency = NTSC;
+ pTrident->UsePCIRetry = TRUE; /* To avoid lockups */
break;
case CYBERBLADEI7:
pTrident->ddc1Read = Tridentddc1Read;
@@ -2604,6 +2605,8 @@ TRIDENTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
TRIDENTRegPtr tridentReg;
+ WAITFORVSYNC;
+
TridentFindClock(pScrn,mode->Clock);
switch (pTrident->Chipset) {
@@ -3182,6 +3185,9 @@ TRIDENTLeaveVT(int scrnIndex, int flags)
TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
vgaHWPtr hwp = VGAHWPTR(pScrn);
+ if (!pTrident->NoAccel)
+ pTrident->AccelInfoRec->Sync(pScrn);
+
TRIDENTRestore(pScrn);
vgaHWLock(hwp);
@@ -3205,6 +3211,9 @@ TRIDENTCloseScreen(int scrnIndex, ScreenPtr pScreen)
vgaHWPtr hwp = VGAHWPTR(pScrn);
TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+ if (!pTrident->NoAccel)
+ pTrident->AccelInfoRec->Sync(pScrn);
+
if (xf86IsPc98())
PC98TRIDENTDisable(pScrn);
diff --git a/src/trident_i2c.c b/src/trident_i2c.c
index 1fd23ad..83581d0 100644
--- a/src/trident_i2c.c
+++ b/src/trident_i2c.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_i2c.c,v 1.5 1999/10/13 20:02:30 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_i2c.c,v 1.2 1999/01/23 09:55:59 dawes Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
diff --git a/src/trident_regs.h b/src/trident_regs.h
index 0ad747a..35f8940 100644
--- a/src/trident_regs.h
+++ b/src/trident_regs.h
@@ -200,6 +200,13 @@
#define GER_DSTCLIP_X 0x214C /* Word */
#define GER_DSTCLIP_Y 0x214E /* Word */
+/* Wait for VSync */
+#define WAITFORVSYNC \
+ { \
+ while (hwp->readST01(hwp)&0x8) {}; \
+ while (!(hwp->readST01(hwp)&0x8)) {}; \
+ }
+
/* Defines for IMAGE Graphics Engine */
#define IMAGE_GE_STATUS 0x2164
#define IMAGE_GE_DRAWENV 0x2120
diff --git a/src/trident_shadow.c b/src/trident_shadow.c
index 75b24d3..16afe78 100644
--- a/src/trident_shadow.c
+++ b/src/trident_shadow.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_shadow.c,v 1.3 2001/06/14 02:23:50 keithp Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_shadow.c,v 1.2 2000/11/16 19:45:01 eich Exp $ */
/*
Copyright (c) 1999, 2000 The XFree86 Project Inc.
diff --git a/src/trident_tv.c b/src/trident_tv.c
index c07f8b8..0ba8fa9 100644
--- a/src/trident_tv.c
+++ b/src/trident_tv.c
@@ -2,7 +2,7 @@
* VIA TV additions
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_tv.c,v 1.2 2003/04/21 20:42:30 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_tv.c,v 1.1 2003/04/15 22:13:43 alanh Exp $ */
#include "xf86_ansic.h"
#include "trident.h"
diff --git a/src/trident_video.c b/src/trident_video.c
index 5c426d6..9659e58 100644
--- a/src/trident_video.c
+++ b/src/trident_video.c
@@ -884,6 +884,8 @@ TRIDENTPutImage(
pPriv->videoStatus = CLIENT_VIDEO_ON;
+ pTrident->VideoTimerCallback = TRIDENTVideoTimerCallback;
+
return Success;
}
@@ -1306,8 +1308,6 @@ WaitForVBlank(ScrnInfoPtr pScrn)
* full vblank has passed.
* - Alan.
*/
- while (!(hwp->readST01(hwp)&0x8)) {};
- while (hwp->readST01(hwp)&0x8) {};
- while (!(hwp->readST01(hwp)&0x8)) {};
- while (hwp->readST01(hwp)&0x8) {};
+ WAITFORVSYNC;
+ WAITFORVSYNC;
}
diff --git a/src/tridenthelper.c b/src/tridenthelper.c
index 6398858..08cbb91 100644
--- a/src/tridenthelper.c
+++ b/src/tridenthelper.c
@@ -21,7 +21,7 @@
*
* Author: Alan Hourihane, alanh@fairlite.demon.co.uk
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c,v 1.21 2003/09/05 22:07:29 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c,v 1.20 2001/10/28 03:33:52 tsi Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
diff --git a/src/tridentramdac.c b/src/tridentramdac.c
index 80b658b..6b7584a 100644
--- a/src/tridentramdac.c
+++ b/src/tridentramdac.c
@@ -24,7 +24,7 @@
* TridentOutIndReg() and TridentInIndReg() are used to access
* the indirect Trident RAMDAC registers only.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tridentramdac.c,v 1.5 2003/09/05 22:07:29 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tridentramdac.c,v 1.4 2000/12/07 16:48:06 alanh Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
diff --git a/src/tvga_dac.c b/src/tvga_dac.c
index 43a84f9..ee81002 100644
--- a/src/tvga_dac.c
+++ b/src/tvga_dac.c
@@ -21,7 +21,7 @@
*
* Author: Alan Hourihane, alanh@fairlite.demon.co.uk
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c,v 1.8 2003/11/03 05:11:43 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c,v 1.7tsi Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"