From 76629d6f7f28be6985e532b98091452765e7f055 Mon Sep 17 00:00:00 2001 From: hasso Date: Wed, 10 Jun 2009 08:05:03 +0000 Subject: Updated to 1.4.1. Changes in 1.4.1: ================= Dave Airlie (1): tdfx 1.4.1 Jakub Bogusz (1): Bug #17557: Fix device initialization. Tiago Vignatti (2): Remove libc wrapper functions. Fix my bad typo in last commit. Changes in 1.4.0: ================= Adam Jackson (2): Death to RCS tags. tdfx 1.4.0 Brice Goglin (1): TDFX_*_VERSION using PACKAGE_VERSION_* Dave Airlie (1): update tdfx to use proper pciaccess detection Ian Romanick (6): Supply NULL driverFunc pointer in DriverRec. Wrap pciReadLong / pciWriteLong with macros. Make TDFXGetRec return the pointer instead of a bool. Minor code cleaning in TDFXMapMem. White-space police in TDFXInitChips. Initial pass at porting driver to pci-rework. DOES NOT WORK. James Cloos (2): Rename .cvsignore to .gitignore Add *~ to .gitignore to skip patch/emacs droppings Matthieu Herrb (1): Makefile.am: nuke RCS Id Michael Lorenz (1): Add DDC2/I2C support to the tdfx driver --- x11/xf86-video-tdfx/Makefile | 5 +- x11/xf86-video-tdfx/distinfo | 11 +- x11/xf86-video-tdfx/patches/patch-ab | 235 ----------------------------------- x11/xf86-video-tdfx/patches/patch-ad | 14 +-- 4 files changed, 14 insertions(+), 251 deletions(-) delete mode 100644 x11/xf86-video-tdfx/patches/patch-ab (limited to 'x11') diff --git a/x11/xf86-video-tdfx/Makefile b/x11/xf86-video-tdfx/Makefile index 25132dc364f..636d47e25bd 100644 --- a/x11/xf86-video-tdfx/Makefile +++ b/x11/xf86-video-tdfx/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.5 2009/06/07 11:24:38 wiz Exp $ +# $NetBSD: Makefile,v 1.6 2009/06/10 08:05:03 hasso Exp $ # -DISTNAME= xf86-video-tdfx-1.3.0 -PKGREVISION= 2 +DISTNAME= xf86-video-tdfx-1.4.1 CATEGORIES= x11 MASTER_SITES= ${MASTER_SITE_XORG:=driver/} EXTRACT_SUFX= .tar.bz2 diff --git a/x11/xf86-video-tdfx/distinfo b/x11/xf86-video-tdfx/distinfo index c7c1e73ecd0..1eff7bef8a5 100644 --- a/x11/xf86-video-tdfx/distinfo +++ b/x11/xf86-video-tdfx/distinfo @@ -1,9 +1,8 @@ -$NetBSD: distinfo,v 1.2 2007/08/15 17:55:41 joerg Exp $ +$NetBSD: distinfo,v 1.3 2009/06/10 08:05:03 hasso Exp $ -SHA1 (xf86-video-tdfx-1.3.0.tar.bz2) = 8089883c87b64c2876b9152b4820901cc6273f57 -RMD160 (xf86-video-tdfx-1.3.0.tar.bz2) = 31fc8fa884ad669278344164bc7118b1f5edcec8 -Size (xf86-video-tdfx-1.3.0.tar.bz2) = 261448 bytes +SHA1 (xf86-video-tdfx-1.4.1.tar.bz2) = 588b591a930838f9b48fae00507043a067f2bfe1 +RMD160 (xf86-video-tdfx-1.4.1.tar.bz2) = 9ae1418e36bd02f4d804608c725858f15830f698 +Size (xf86-video-tdfx-1.4.1.tar.bz2) = 286452 bytes SHA1 (patch-aa) = c6a83f95062b7e7cdf4eedab6dfb1112def41bb9 -SHA1 (patch-ab) = c6167275098624bc3542306f10bfde81f3e9ff7f SHA1 (patch-ac) = fed8d44cca95b1d47841239191bfd65811a19aa1 -SHA1 (patch-ad) = 18ee966cc8b3e1939eb853b9c3d295bed0b471da +SHA1 (patch-ad) = b93484d1688bc0e53a95b143d03c30ecad65417e diff --git a/x11/xf86-video-tdfx/patches/patch-ab b/x11/xf86-video-tdfx/patches/patch-ab deleted file mode 100644 index 97997d51bec..00000000000 --- a/x11/xf86-video-tdfx/patches/patch-ab +++ /dev/null @@ -1,235 +0,0 @@ -$NetBSD: patch-ab,v 1.1 2007/04/09 14:28:01 xtraeme Exp $ - ---- src/tdfx_driver.c.orig 2006-09-02 14:03:07.000000000 -0400 -+++ src/tdfx_driver.c 2007-03-27 23:19:20.000000000 -0400 -@@ -141,6 +141,8 @@ - static void TDFXDisplayPowerManagementSet(ScrnInfoPtr pScrn, - int PowerManagermentMode, int flags); - -+static xf86MonPtr doTDFXDDC(ScrnInfoPtr pScrn); -+ - _X_EXPORT DriverRec TDFX = { - TDFX_VERSION, - TDFX_DRIVER_NAME, -@@ -217,6 +219,13 @@ - static const char *ddcSymbols[] = { - "xf86PrintEDID", - "xf86SetDDCproperties", -+ "xf86DoEDID_DDC2", -+ NULL -+}; -+ -+static const char *i2cSymbols[] = { -+ "xf86CreateI2CBusRec", -+ "xf86I2CBusInit", - NULL - }; - -@@ -677,6 +686,7 @@ - { - TDFXPtr pTDFX; - ClockRangePtr clockRanges; -+ xf86MonPtr pMon; - int i; - MessageType from; - int flags24; -@@ -978,32 +988,6 @@ - availableMem = pScrn->videoRam - 4096 - - (((255 <= CMDFIFO_PAGES) ? 255 : CMDFIFO_PAGES) << 12); - -- i = xf86ValidateModes(pScrn, pScrn->monitor->Modes, -- pScrn->display->modes, clockRanges, -- 0, 320, 2048, 16*pScrn->bitsPerPixel, -- 200, 2047, -- pScrn->display->virtualX, pScrn->display->virtualY, -- availableMem, LOOKUP_BEST_REFRESH); -- -- if (i==-1) { -- TDFXFreeRec(pScrn); -- return FALSE; -- } -- -- xf86PruneDriverModes(pScrn); -- -- if (!i || !pScrn->modes) { -- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n"); -- TDFXFreeRec(pScrn); -- return FALSE; -- } -- -- xf86SetCrtcForModes(pScrn, 0); -- -- pScrn->currentMode = pScrn->modes; -- -- xf86PrintModes(pScrn); -- - xf86SetDpi(pScrn, 0, 0); - - if (!xf86LoadSubModule(pScrn, "fb")) { -@@ -1046,18 +1030,26 @@ - xf86LoaderReqSymLists(ramdacSymbols, NULL); - } - --#if USE_INT10 --#if !defined(__powerpc__) -- /* Load DDC if needed */ -- /* This gives us DDC1 - we should be able to get DDC2B using i2c */ -+ if (!xf86LoadSubModule(pScrn, "i2c")) { -+ TDFXFreeRec(pScrn); -+ return FALSE; -+ } -+ xf86LoaderReqSymLists(i2cSymbols, NULL); -+ - if (!xf86LoadSubModule(pScrn, "ddc")) { - TDFXFreeRec(pScrn); - return FALSE; - } - xf86LoaderReqSymLists(ddcSymbols, NULL); - -- /* Initialize DDC1 if possible */ -- if (xf86LoadSubModule(pScrn, "vbe")) { -+ pMon = doTDFXDDC(pScrn); -+ if (pMon != NULL) { -+ xf86SetDDCproperties(pScrn, xf86PrintEDID(pMon)); -+ } else { -+ /* Initialize DDC1 if possible */ -+#if USE_INT10 -+#if !defined(__powerpc__) -+ if (xf86LoadSubModule(pScrn, "vbe")) { - xf86MonPtr pMon; - vbeInfoPtr pVbe = VBEInit(NULL,pTDFX->pEnt->index); - -@@ -1065,14 +1057,40 @@ - pMon = vbeDoEDID(pVbe, NULL); - vbeFree(pVbe); - xf86SetDDCproperties(pScrn,xf86PrintEDID(pMon)); -- } -+ } - #endif - #endif -+ } - - if (xf86ReturnOptValBool(pTDFX->Options, OPTION_USE_PIO, FALSE)) { - pTDFX->usePIO=TRUE; - } - -+ i = xf86ValidateModes(pScrn, pScrn->monitor->Modes, -+ pScrn->display->modes, clockRanges, -+ 0, 320, 2048, 16*pScrn->bitsPerPixel, -+ 200, 2047, -+ pScrn->display->virtualX, pScrn->display->virtualY, -+ availableMem, LOOKUP_BEST_REFRESH); -+ if (i==-1) { -+ TDFXFreeRec(pScrn); -+ return FALSE; -+ } -+ -+ xf86PruneDriverModes(pScrn); -+ -+ if (!i || !pScrn->modes) { -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n"); -+ TDFXFreeRec(pScrn); -+ return FALSE; -+ } -+ -+ xf86SetCrtcForModes(pScrn, 0); -+ -+ pScrn->currentMode = pScrn->modes; -+ -+ xf86PrintModes(pScrn); -+ - #if X_BYTE_ORDER == X_BIG_ENDIAN - pTDFX->ModeReg.miscinit0 = pTDFX->readLong(pTDFX, MISCINIT0); - pTDFX->SavedReg.miscinit0 = pTDFX->ModeReg.miscinit0; -@@ -1640,8 +1658,8 @@ - - /* Calculate the CRTC values */ - hd = (mode->CrtcHDisplay>>3)-1; -- hss = (mode->CrtcHSyncStart>>3); -- hse = (mode->CrtcHSyncEnd>>3); -+ hss = (mode->CrtcHSyncStart>>3)-1; -+ hse = (mode->CrtcHSyncEnd>>3)-1; - ht = (mode->CrtcHTotal>>3)-5; - hbs = (mode->CrtcHBlankStart>>3)-1; - hbe = (mode->CrtcHBlankEnd>>3)-1; -@@ -2524,3 +2542,80 @@ - dacmode|=state; - pTDFX->writeLong(pTDFX, DACMODE, dacmode); - } -+ -+void -+TDFXPutBits(I2CBusPtr b, int scl, int sda) -+{ -+ TDFXPtr pTDFX; -+ CARD32 reg; -+ -+ pTDFX = b->DriverPrivate.ptr; -+ reg = pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT); -+ reg = (reg & ~(VSP_SDA0_OUT | VSP_SCL0_OUT)) | -+ (scl ? VSP_SCL0_OUT : 0) | -+ (sda ? VSP_SDA0_OUT : 0); -+ pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, reg); -+ (void)pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT); /* flush */ -+} -+ -+void -+TDFXGetBits(I2CBusPtr b, int *scl, int *sda) -+{ -+ TDFXPtr pTDFX; -+ CARD32 reg; -+ -+ pTDFX = b->DriverPrivate.ptr; -+ -+ reg = pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT); -+ *sda = (reg & VSP_SDA0_IN) ? 1 : 0; -+ *scl = (reg & VSP_SCL0_IN) ? 1 : 0; -+} -+ -+static xf86MonPtr -+doTDFXDDC(ScrnInfoPtr pScrn) -+{ -+ TDFXPtr pTDFX; -+ I2CBusPtr pI2CBus; -+ xf86MonPtr pMon = NULL; -+ CARD32 reg; -+ -+ pTDFX = TDFXPTR(pScrn); -+ -+ if (!(pI2CBus = xf86CreateI2CBusRec())) -+ { -+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unable to allocate I2C Bus record.\n"); -+ return NULL; -+ } -+ -+ /* Fill in generic structure fields */ -+ pI2CBus->BusName = "DDC"; -+ pI2CBus->scrnIndex = pScrn->scrnIndex; -+ pI2CBus->I2CPutBits = TDFXPutBits; -+ pI2CBus->I2CGetBits = TDFXGetBits; -+ -+ pI2CBus->DriverPrivate.ptr = pTDFX; -+ -+ pI2CBus->ByteTimeout = 2200; -+ pI2CBus->StartTimeout = 550; -+ pI2CBus->BitTimeout = 40; -+ /*pI2CBus->ByteTimeout = 40;*/ -+ pI2CBus->AcknTimeout = 40; -+ -+#if 1 -+ reg = pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT); -+ pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, reg | VSP_ENABLE_IIC0); -+#else -+ pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, 0xcffc0020); -+#endif -+ -+ if (xf86I2CBusInit(pI2CBus)) -+ { -+ pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pI2CBus); -+ if (pMon == NULL) -+ xf86Msg(X_WARNING, "No DDC2 capable monitor found\n"); -+ xf86DestroyI2CBusRec(pI2CBus, TRUE, TRUE); -+ } -+ pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, reg); -+ -+ return pMon; -+} diff --git a/x11/xf86-video-tdfx/patches/patch-ad b/x11/xf86-video-tdfx/patches/patch-ad index 25c0d7d1a07..dbfab8d14ca 100644 --- a/x11/xf86-video-tdfx/patches/patch-ad +++ b/x11/xf86-video-tdfx/patches/patch-ad @@ -1,13 +1,13 @@ -$NetBSD: patch-ad,v 1.1 2007/08/15 17:55:42 joerg Exp $ +$NetBSD: patch-ad,v 1.2 2009/06/10 08:05:03 hasso Exp $ ---- configure.orig 2007-08-15 19:52:03.000000000 +0200 -+++ configure -@@ -21329,7 +21329,7 @@ _ACEOF +--- configure.orig 2008-12-22 07:20:58 +0200 ++++ configure 2009-06-10 10:30:58 +0300 +@@ -21499,7 +21499,7 @@ _ACEOF fi -if test "$DRI" != no; then +if test "x$DRI" = xauto; then - as_ac_File=`echo "ac_cv_file_${sdkdir}/dri.h" | $as_tr_sh` - { echo "$as_me:$LINENO: checking for ${sdkdir}/dri.h" >&5 - echo $ECHO_N "checking for ${sdkdir}/dri.h... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_${sdkdir}/dri.h" | $as_tr_sh` + { $as_echo "$as_me:$LINENO: checking for ${sdkdir}/dri.h" >&5 + $as_echo_n "checking for ${sdkdir}/dri.h... " >&6; } -- cgit v1.2.3