xserver-xorg-video-glint: Changes to 'upstream-experimental'
configure.ac | 3 -
src/glint_driver.c | 140 +++++++++++++++++++++++++--------------------------
src/glintpcirename.h | 6 ++
src/pm3_dac.c | 12 ++--
4 files changed, 84 insertions(+), 77 deletions(-)
New commits:
commit f0b4f9629c4c11c33f8c6d382b21da99a0c52570
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Dec 22 14:33:28 2008 +1000
glint 1.2.2
diff --git a/configure.ac b/configure.ac
index d5b242b..b1b24a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-glint],
- 1.2.1,
+ 1.2.2,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-glint)
commit ea4b1f56fdcdd88f111e9ecbb73cd6583ad01ac8
Author: Adam Jackson <ajax@redhat.com>
Date: Sun Nov 23 17:43:34 2008 -0500
Remove bizarre use of ISA setup
diff --git a/src/glint_driver.c b/src/glint_driver.c
index ad66e83..fd5b34c 100644
--- a/src/glint_driver.c
+++ b/src/glint_driver.c
@@ -692,17 +692,8 @@ GLINTProbe(DriverPtr drv, int flags)
if (pScrn)
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"claimed PCI slot %d:%d:%d\n",bus,device,func);
- } else {
- /* XXX This is a quick hack */
- int entity;
-
- entity = xf86ClaimIsaSlot(drv, 0,
- devSections[i], TRUE);
- pScrn = xf86ConfigIsaEntity(pScrn,0,entity,
- NULL,RES_SHARED_VGA,
- NULL,NULL,NULL,NULL);
}
- if (pScrn) {
+ if (pScrn) {
/* Fill in what we can of the ScrnInfoRec */
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"%s successfully probed\n", dev ? dev : "default framebuffer device");
commit 9da29a371f7a12c5ebe225c94d0719d0cd6098e5
Author: Dave Airlie <airlied@linux.ie>
Date: Mon Sep 15 02:33:25 2008 +1000
glint: fix build on alpha for pciaccess.
Redid patch from #17569 from jcristau@debian.org
diff --git a/src/glintpcirename.h b/src/glintpcirename.h
index c4beac6..9cd66c4 100644
--- a/src/glintpcirename.h
+++ b/src/glintpcirename.h
@@ -77,6 +77,9 @@ enum region_type {
#define PCI_WRITE_LONG(_pcidev, _value, _offset) \
pciWriteLong(PCI_CFG_TAG(_pcidev), (_offset), (_value))
+#define PCI_WRITE_BYTE(_pcidev, _value, _offset) \
+ pciWriteByte(PCI_CFG_TAG(_pcidev), (_offset), (_value))
+
#else /* XSERVER_LIBPCIACCESS */
typedef struct pci_device *pciVideoPtr;
@@ -117,6 +120,9 @@ typedef struct pci_device *pciVideoPtr;
#define PCI_WRITE_LONG(_pcidev, _value, _offset) \
pci_device_cfg_write_u32((_pcidev), (_value), (_offset))
+#define PCI_WRITE_BYTE(_pcidev, _value, _offset) \
+ pci_device_cfg_write_u8((_pcidev), (_value), (_offset))
+
#endif /* XSERVER_LIBPCIACCESS */
#endif /* SISPCIRENAME_H */
diff --git a/src/pm3_dac.c b/src/pm3_dac.c
index e11d190..9b1bd3b 100644
--- a/src/pm3_dac.c
+++ b/src/pm3_dac.c
@@ -437,9 +437,9 @@ Permedia3PreInit(ScrnInfoPtr pScrn)
"VX1 secondary enabling VGA before int10\n");
/* Enable VGA on the current card. */
- pciWriteByte( pGlint->PciTag, 0xf8, 0 );
- pciWriteByte( pGlint->PciTag, 0xf4, 0 );
- pciWriteByte( pGlint->PciTag, 0xfc, 0 );
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0, 0xf8);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0, 0xf4);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0, 0xfc);
/* The card we are on should be VGA-enabled now, so run int10. */
if (xf86LoadSubModule(pScrn, "int10")) {
@@ -455,9 +455,9 @@ Permedia3PreInit(ScrnInfoPtr pScrn)
"VX1 secondary disabling VGA after int10\n");
/* Finally, disable VGA on the current card. */
- pciWriteByte( pGlint->PciTag, 0xf8, 0x70 );
- pciWriteByte( pGlint->PciTag, 0xf4, 0x01 );
- pciWriteByte( pGlint->PciTag, 0xfc, 0x00 );
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0x70, 0xf8);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0x01, 0xf4);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0x00, 0xfc);
}
}
#endif /* __alpha__ */
commit 986464aa29077a131304b407e4da565f85c144ab
Author: Adam Jackson <ajax@redhat.com>
Date: Fri Aug 15 15:25:30 2008 -0400
Move DDC before mode validation so the EDID modes actually take effect.
diff --git a/src/glint_driver.c b/src/glint_driver.c
index b52cefd..ad66e83 100644
--- a/src/glint_driver.c
+++ b/src/glint_driver.c
@@ -2058,6 +2058,64 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, from, "Max pixel clock is %d MHz\n",
pGlint->MaxClock / 1000);
+ /* Load DDC */
+ if (!xf86LoadSubModule(pScrn, "ddc")) {
+ GLINTFreeRec(pScrn);
+ return FALSE;
+ }
+ xf86LoaderReqSymLists(ddcSymbols, NULL);
+ /* Load I2C if needed */
+ if ((pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2V) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA3) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA4) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_R4) ||
+ (pGlint->Chipset == PCI_VENDOR_TI_CHIP_PERMEDIA2)) {
+ if (xf86LoadSubModule(pScrn, "i2c")) {
+ I2CBusPtr pBus;
+
+ xf86LoaderReqSymLists(i2cSymbols, NULL);
+ if ((pBus = xf86CreateI2CBusRec())) {
+ pBus->BusName = "DDC";
+ pBus->scrnIndex = pScrn->scrnIndex;
+ pBus->I2CUDelay = Permedia2I2CUDelay;
+ pBus->I2CPutBits = Permedia2I2CPutBits;
+ pBus->I2CGetBits = Permedia2I2CGetBits;
+ pBus->DriverPrivate.ptr = pGlint;
+ if (!xf86I2CBusInit(pBus)) {
+ xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
+ } else
+ pGlint->DDCBus = pBus;
+ }
+
+ if ((pBus = xf86CreateI2CBusRec())) {
+ pBus->BusName = "Video";
+ pBus->scrnIndex = pScrn->scrnIndex;
+ pBus->I2CUDelay = Permedia2I2CUDelay;
+ pBus->I2CPutBits = Permedia2I2CPutBits;
+ pBus->I2CGetBits = Permedia2I2CGetBits;
+ pBus->DriverPrivate.ptr = pGlint;
+ if (!xf86I2CBusInit(pBus)) {
+ xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
+ } else
+ pGlint->VSBus = pBus;
+ }
+ }
+ }
+
+ /* DDC */
+ {
+ xf86MonPtr pMon = NULL;
+
+ if (pGlint->DDCBus)
+ pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pGlint->DDCBus);
+
+ if (!pMon)
+ /* Try DDC1 */;
+
+ xf86SetDDCproperties(pScrn,xf86PrintEDID(pMon));
+ }
+
/*
* Setup the ClockRanges, which describe what clock ranges are available,
* and what sort of modes they can be used for.
@@ -2384,51 +2442,6 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags)
xf86LoaderReqSymLists(shadowSymbols, NULL);
}
- /* Load DDC */
- if (!xf86LoadSubModule(pScrn, "ddc")) {
- GLINTFreeRec(pScrn);
- return FALSE;
- }
- xf86LoaderReqSymLists(ddcSymbols, NULL);
- /* Load I2C if needed */
- if ((pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2V) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA3) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA4) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_R4) ||
- (pGlint->Chipset == PCI_VENDOR_TI_CHIP_PERMEDIA2)) {
- if (xf86LoadSubModule(pScrn, "i2c")) {
- I2CBusPtr pBus;
-
- xf86LoaderReqSymLists(i2cSymbols, NULL);
- if ((pBus = xf86CreateI2CBusRec())) {
- pBus->BusName = "DDC";
- pBus->scrnIndex = pScrn->scrnIndex;
- pBus->I2CUDelay = Permedia2I2CUDelay;
- pBus->I2CPutBits = Permedia2I2CPutBits;
- pBus->I2CGetBits = Permedia2I2CGetBits;
- pBus->DriverPrivate.ptr = pGlint;
- if (!xf86I2CBusInit(pBus)) {
- xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
- } else
- pGlint->DDCBus = pBus;
- }
-
- if ((pBus = xf86CreateI2CBusRec())) {
- pBus->BusName = "Video";
- pBus->scrnIndex = pScrn->scrnIndex;
- pBus->I2CUDelay = Permedia2I2CUDelay;
- pBus->I2CPutBits = Permedia2I2CPutBits;
- pBus->I2CGetBits = Permedia2I2CGetBits;
- pBus->DriverPrivate.ptr = pGlint;
- if (!xf86I2CBusInit(pBus)) {
- xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
- } else
- pGlint->VSBus = pBus;
- }
- }
- }
-
TRACE_EXIT("GLINTPreInit");
return TRUE;
}
@@ -2905,19 +2918,6 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
/* Save the current state */
GLINTSave(pScrn);
- /* DDC */
- {
- xf86MonPtr pMon = NULL;
-
- if (pGlint->DDCBus)
- pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pGlint->DDCBus);
-
- if (!pMon)
- /* Try DDC1 */;
-
- xf86SetDDCproperties(pScrn,xf86PrintEDID(pMon));
- }
-
/* Initialise the first mode */
if ( (!pGlint->FBDev) && !(GLINTModeInit(pScrn, pScrn->currentMode))) {
xf86DrvMsg(scrnIndex, X_ERROR,
commit ad31d1bf886076776354e0e35f5eff8200296dbc
Author: Adam Jackson <ajax@redhat.com>
Date: Fri Aug 15 14:05:53 2008 -0400
Uninclude xf86Version.h
diff --git a/src/glint_driver.c b/src/glint_driver.c
index 5be3f3a..b52cefd 100644
--- a/src/glint_driver.c
+++ b/src/glint_driver.c
@@ -28,7 +28,6 @@
* this work is sponsored by S.u.S.E. GmbH, Fuerth, Elsa GmbH, Aachen,
* Siemens Nixdorf Informationssysteme and Appian Graphics.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c,v 1.162 2003/11/03 05:11:11 tsi Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -38,7 +37,6 @@
#include "micmap.h"
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
#include "xf86cmap.h"
commit 7b6206e6ba9f1351e5c9fe45da14c18ef2b69ac9
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Date: Tue Jul 29 14:03:09 2008 -0300
Remove dependency on cfb8_32.
This probably was not noticed because glint_driver.c doesn't include
the proper header file.
diff --git a/configure.ac b/configure.ac
index 238e5b7..d5b242b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,6 +69,7 @@ CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
[XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
[#include "xorg-server.h"])
+AC_CHECK_HEADER(cfb8_32.h,[AC_DEFINE(HAVE_CFB8_32, 1, [Have cfb8_32 support])],[])
CPPFLAGS="$SAVE_CPPFLAGS"
# Checks for header files.
diff --git a/src/glint_driver.c b/src/glint_driver.c
index 47127f9..5be3f3a 100644
--- a/src/glint_driver.c
+++ b/src/glint_driver.c
@@ -2885,7 +2885,9 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
GLINTPtr pGlint = GLINTPTR(pScrn);
int ret, displayWidth;
+#if HAVE_CFB8_32
int init_picture = 0;
+#endif
unsigned char *FBStart;
VisualPtr visual;
@@ -3003,10 +3005,14 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
case 8:
case 16:
case 24:
+#if !HAVE_CFB8_32
+ case 32:
+#endif
ret = fbScreenInit(pScreen, FBStart,
pScrn->virtualX, pScrn->virtualY,
pScrn->xDpi, pScrn->yDpi,
displayWidth, pScrn->bitsPerPixel);
+#if HAVE_CFB8_32
init_picture = 1;
break;
case 32:
@@ -3022,6 +3028,7 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
displayWidth, pScrn->bitsPerPixel);
init_picture = 1;
}
+#endif
break;
default:
xf86DrvMsg(scrnIndex, X_ERROR,
@@ -3059,7 +3066,9 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
}
/* must be after RGB ordering fixed */
+#if HAVE_CFB8_32
if (init_picture)
+#endif
fbPictureInit(pScreen, 0, 0);
if (!pGlint->NoAccel) {
switch (pGlint->Chipset)
@@ -3188,11 +3197,13 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
}
}
+#if HAVE_CFB8_32
if((pScrn->overlayFlags & OVERLAY_8_32_PLANAR) &&
(pScrn->bitsPerPixel == 32)) {
if(!xf86Overlay8Plus32Init(pScreen))
return FALSE;
}
+#endif
if(pGlint->ShadowFB)
ShadowFBInit(pScreen, GLINTRefreshArea);
Reply to: