diff options
author | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2004-03-17 20:31:04 +0000 |
---|---|---|
committer | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2004-03-17 20:31:04 +0000 |
commit | 025ec69c2b3ebaaaeae47102c614c4cc66cc8112 (patch) | |
tree | 3eddbf6bd9b229f83f8a17bc47fe0cc4f3b2870c | |
parent | a465c54ca726966c7eb5f4a33b72c10ff9cc0284 (diff) |
merge with XORG-RELEASE-1 (tag XORG-CYGWIN-LAST-MERGE)CYGWIN-RELEASE-1-MERGE
-rw-r--r-- | man/trident.man | 2 | ||||
-rw-r--r-- | src/trident.h | 2 | ||||
-rw-r--r-- | src/trident_bank.c | 2 | ||||
-rw-r--r-- | src/trident_dac.c | 4 | ||||
-rw-r--r-- | src/trident_dga.c | 2 | ||||
-rw-r--r-- | src/trident_driver.c | 11 | ||||
-rw-r--r-- | src/trident_i2c.c | 2 | ||||
-rw-r--r-- | src/trident_regs.h | 7 | ||||
-rw-r--r-- | src/trident_shadow.c | 2 | ||||
-rw-r--r-- | src/trident_tv.c | 2 | ||||
-rw-r--r-- | src/trident_video.c | 8 | ||||
-rw-r--r-- | src/tridenthelper.c | 2 | ||||
-rw-r--r-- | src/tridentramdac.c | 2 | ||||
-rw-r--r-- | src/tvga_dac.c | 2 |
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" |