[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-ark: Changes to 'upstream-unstable'



 .gitignore       |   70 ++++++++++++++++++++++++++++++++---
 COPYING          |   26 +++++++++----
 ChangeLog        |   48 ------------------------
 Makefile.am      |   11 +++++
 configure.ac     |   56 +++++++++++-----------------
 src/.gitignore   |    6 ---
 src/Makefile.am  |    3 +
 src/ark.h        |   12 ++++--
 src/ark_accel.c  |    6 ++-
 src/ark_driver.c |  108 +++++++++++++++++++++++++++++++------------------------
 10 files changed, 192 insertions(+), 154 deletions(-)

New commits:
commit da0262acee5ea37ea8c69ebadbf5e9e34d83b5f3
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Feb 16 18:39:50 2012 -0500

    Don't check for unneeded proto headers.
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/configure.ac b/configure.ac
index f859488..8d3d470 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,8 +53,6 @@ AC_ARG_WITH(xorg-module-dir, [  --with-xorg-module-dir=DIR ],
 AC_SUBST(moduledir)
 
 # Store the list of server defined optional extensions in REQUIRED_MODULES
-XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
-XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
 XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 
 # Obtain compiler/linker options for the driver dependencies

commit e7baf1df0bbc45e1cd697f5df959586ab27103f9
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Jan 26 18:04:34 2012 -0500

    xf86-video-ark 0.7.4
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/configure.ac b/configure.ac
index 0eb7121..f859488 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ark],
-        [0.7.3],
+        [0.7.4],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/ark],
         [xf86-video-ark])
 AC_CONFIG_SRCDIR([Makefile.am])

commit c2667fb882429f9393b0700a2befe6dde4523f02
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Jan 26 18:03:16 2012 -0500

    Change types of FBBase/MMIOBase to pointer, remove casts
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/src/ark.h b/src/ark.h
index f1bdb35..7462876 100644
--- a/src/ark.h
+++ b/src/ark.h
@@ -39,8 +39,8 @@ typedef struct _ARKRec {
 #endif
 	EntityInfoPtr		pEnt;
 	CARD32			IOAddress;
-	unsigned char *		FBBase;
-	unsigned char *		MMIOBase;
+	pointer			FBBase;
+	pointer			MMIOBase;
 	unsigned long		videoRam;
 	OptionInfoPtr		Options;
 	unsigned int		Flags;
diff --git a/src/ark_driver.c b/src/ark_driver.c
index 1f4589c..cda8cdc 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -1037,10 +1037,10 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
 
 	(void) pci_device_map_legacy(pARK->PciInfo, 0xb8000, 0x8000,
 				     PCI_DEV_MAP_FLAG_WRITABLE,
-				     (void **)&pARK->MMIOBase);
+				     &pARK->MMIOBase);
 
 	{
-		void** result = (void**)&pARK->FBBase;
+		void** result = &pARK->FBBase;
 		int err = pci_device_map_range(pARK->PciInfo,
 					       pARK->PciInfo->regions[0].base_addr,
 					       pScrn->videoRam * 1024,
@@ -1074,7 +1074,7 @@ static void ARKUnmapMem(ScrnInfoPtr pScrn)
 	vgaHWUnmapMem(pScrn);
 
 #ifndef XSERVER_LIBPCIACCESS
-	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pARK->FBBase,
+	xf86UnMapVidMem(pScrn->scrnIndex, pARK->FBBase,
 			pScrn->videoRam * 1024);
 #else
 	pci_device_unmap_range(pARK->PciInfo, pARK->FBBase, pScrn->videoRam * 1024);

commit 99ed41779e28bace7c3321a6d05e6436d4784c48
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Jan 26 17:57:42 2012 -0500

    Use pci_device_map_legacy rather than xf86MapDomainMemory
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/configure.ac b/configure.ac
index cbd61e3..0eb7121 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,7 +69,7 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
 CPPFLAGS="$SAVE_CPPFLAGS"
 
 if test "x$XSERVER_LIBPCIACCESS" = xyes; then
-    PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
+    PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.12.901])
 fi
 AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
 
diff --git a/src/ark_driver.c b/src/ark_driver.c
index cf0242c..1f4589c 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -1035,8 +1035,9 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
 				     pScrn->videoRam * 1024);
 #else
 
-	pARK->MMIOBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO,
-					     pARK->PciInfo, 0xb8000, 0x8000);
+	(void) pci_device_map_legacy(pARK->PciInfo, 0xb8000, 0x8000,
+				     PCI_DEV_MAP_FLAG_WRITABLE,
+				     (void **)&pARK->MMIOBase);
 
 	{
 		void** result = (void**)&pARK->FBBase;

commit 5634e78e42d14ab2325854093a42536844cae07f
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Jan 26 17:44:36 2012 -0500

    Fix typo in 5ab0bf04
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/src/ark_driver.c b/src/ark_driver.c
index 1c68b86..cf0242c 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -258,7 +258,7 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 		return FALSE;
 
 	hwp = VGAHWPTR(pScrn);
-	vgaHWASetStdFuncs(hwp);
+	vgaHWSetStdFuncs(hwp);
 	vgaHWGetIOBase(hwp);
 
 	pScrn->monitor = pScrn->confScreen->monitor;

commit c043cc44316f655c9f267bd20d1ea3e3e2b2da91
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Jan 26 17:32:12 2012 -0500

    Use unsigned long rather than deprecated IOADDRESS
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/src/ark_accel.c b/src/ark_accel.c
index 385a424..5ab75f0 100644
--- a/src/ark_accel.c
+++ b/src/ark_accel.c
@@ -46,7 +46,7 @@ static int curx, cury, cmd_flags;
 
 static void ARKSync(ScrnInfoPtr pScrn)
 {
-	IOADDRESS port = 0x3cb;
+	unsigned long port = 0x3cb;
 #if ABI_VIDEODRV_VERSION < 12
 	port += pScrn->domainIOBase + 0x3cb;
 #endif
diff --git a/src/ark_driver.c b/src/ark_driver.c
index a39b760..1c68b86 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -82,8 +82,8 @@ static void ARKLoadPalette(ScrnInfoPtr pScrn, int numColors,
 static void ARKWriteMode(ScrnInfoPtr pScrn, vgaRegPtr pVga, ARKRegPtr new);
 
 /* helpers */
-static unsigned char get_daccomm(IOADDRESS);
-static unsigned char set_daccom(IOADDRESS, unsigned char comm);
+static unsigned char get_daccomm(unsigned long);
+static unsigned char set_daccom(unsigned long, unsigned char comm);
 
 
 _X_EXPORT DriverRec ARK =
@@ -580,8 +580,8 @@ static void ARKSave(ScrnInfoPtr pScrn)
 	ARKPtr pARK = ARKPTR(pScrn);
 	ARKRegPtr save = &pARK->SavedRegs;
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
-	IOADDRESS isaIOBase = PIOOFFSET;
-	IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase;
+	unsigned long isaIOBase = PIOOFFSET;
+	unsigned long vgaIOBase = isaIOBase + hwp->IOBase;
 
 	vgaHWUnlock(hwp);
 	vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_ALL);
@@ -645,8 +645,8 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
 	int multiplexing, dac16, modepitch;
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
 	vgaRegPtr pVga = &hwp->ModeReg;
-	IOADDRESS isaIOBase = PIOOFFSET;
-	IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase;
+	unsigned long isaIOBase = PIOOFFSET;
+	unsigned long vgaIOBase = isaIOBase + hwp->IOBase;
 	unsigned char tmp;
 	int offset;
 
@@ -895,7 +895,7 @@ static void ARKAdjustFrame(int scrnIndex, int x, int y, int flags)
 	ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
 	ARKPtr pARK = ARKPTR(pScrn);
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
-	IOADDRESS vgaIOBase = PIOOFFSET + hwp->IOBase;
+	unsigned long vgaIOBase = PIOOFFSET + hwp->IOBase;
 	int base;
 
 	base = ((y * pScrn->displayWidth + x) *
@@ -922,8 +922,8 @@ static void ARKWriteMode(ScrnInfoPtr pScrn, vgaRegPtr pVga, ARKRegPtr new)
 {
 	ARKPtr pARK = ARKPTR(pScrn);
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
-	IOADDRESS isaIOBase = PIOOFFSET;
-	IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase;
+	unsigned long isaIOBase = PIOOFFSET;
+	unsigned long vgaIOBase = isaIOBase + hwp->IOBase;
 
 	vgaHWProtect(pScrn, TRUE);
 
@@ -1119,7 +1119,7 @@ static void ARKLoadPalette(ScrnInfoPtr pScrn, int numColors,
 			   int *indicies, LOCO *colors,
 			   VisualPtr pVisual)
 {
-	IOADDRESS isaIOBase = 0;
+	unsigned long isaIOBase = 0;
 #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
 	isaIOBase += pScrn->domainIOBase;
 #endif
@@ -1145,7 +1145,7 @@ static void ARKFreeScreen(int scrnIndex, int flags)
 }
 
 
-static unsigned char get_daccomm(IOADDRESS isaIOBase)
+static unsigned char get_daccomm(unsigned long isaIOBase)
 {
 	unsigned char tmp;
 
@@ -1161,7 +1161,7 @@ static unsigned char get_daccomm(IOADDRESS isaIOBase)
 }
 
 
-static unsigned char set_daccom(IOADDRESS isaIOBase, unsigned char comm)
+static unsigned char set_daccom(unsigned long isaIOBase, unsigned char comm)
 {
 #if 0
 	outb(isaIOBase + 0x3c8, 0);

commit 1cac2174beb340f9a8b868818a5261b80435d3eb
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Jan 26 17:31:26 2012 -0500

    Remove uses of xf86PciInfo.h
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/src/ark.h b/src/ark.h
index 077f93b..f1bdb35 100644
--- a/src/ark.h
+++ b/src/ark.h
@@ -7,10 +7,15 @@
 
 #include "xf86.h"
 #include "xf86Pci.h"
-#include "xf86PciInfo.h"
 #include "xaa.h"
 #include "vgaHW.h"
 
+#define PCI_VENDOR_ARK			0xEDD8
+#define PCI_CHIP_1000PV			0xA091
+#define PCI_CHIP_2000PV			0xA099
+#define PCI_CHIP_2000MT			0xA0A1
+#define PCI_CHIP_2000MI			0xA0A9
+
 typedef struct _ARKRegRec {
 	unsigned char		sr10, sr11, sr12, sr13, sr14,
 				sr15, sr16, sr17, sr18, sr20,
diff --git a/src/ark_accel.c b/src/ark_accel.c
index fb6aff9..385a424 100644
--- a/src/ark_accel.c
+++ b/src/ark_accel.c
@@ -35,7 +35,6 @@
 #include "xf86.h"
 #include "xf86_OSproc.h"
 #include "xaa.h"
-#include "xf86PciInfo.h"
 #include "compiler.h"
 
 #include "ark.h"
diff --git a/src/ark_driver.c b/src/ark_driver.c
index caad4c8..a39b760 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -34,7 +34,6 @@
 #include "xf86.h"
 #include "xf86_OSproc.h"
 #include "xf86Pci.h"
-#include "xf86PciInfo.h"
 #include "xf86fbman.h"
 #include "xf86cmap.h"
 #include "compiler.h"

commit bd0aa75692cc421bfeada64239fc381c40bc2ec9
Author: Matt Turner <mattst88@gmail.com>
Date:   Thu Jan 26 17:19:36 2012 -0500

    Add &component=Driver/ark to Bugzilla link
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/configure.ac b/configure.ac
index 2142ab6..cbd61e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ark],
         [0.7.3],
-        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/ark],
         [xf86-video-ark])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])

commit 97a1aa4b460e6ffda16704954012063c094d770b
Author: Matt Turner <mattst88@gmail.com>
Date:   Mon Sep 26 22:48:08 2011 -0400

    Remove if(E != NULL) checks around free(E)
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/src/ark_driver.c b/src/ark_driver.c
index 87d2754..caad4c8 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -171,9 +171,6 @@ static Bool ARKGetRec(ScrnInfoPtr pScrn)
 
 static void ARKFreeRec(ScrnInfoPtr pScrn)
 {
-	if (!pScrn->driverPrivate)
-		return;
-
 	free(pScrn->driverPrivate);
 	pScrn->driverPrivate = NULL;
 }

commit 70321db733c380a3b5f2198d733d75916f54c10b
Author: Matt Turner <mattst88@gmail.com>
Date:   Mon Sep 26 22:46:51 2011 -0400

    Remove xalloc/xcalloc/xrealloc/xfree
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>

diff --git a/src/ark_driver.c b/src/ark_driver.c
index e8d320c..87d2754 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -174,7 +174,7 @@ static void ARKFreeRec(ScrnInfoPtr pScrn)
 	if (!pScrn->driverPrivate)
 		return;
 
-	xfree(pScrn->driverPrivate);
+	free(pScrn->driverPrivate);
 	pScrn->driverPrivate = NULL;
 }
 
@@ -208,7 +208,7 @@ static Bool ARKProbe(DriverPtr drv, int flags)
 					devSections, numDevSections, drv,
 					&usedChips);
 
-	xfree(devSections);
+	free(devSections);
 
 	if (numUsed <= 0)
 		return FALSE;
@@ -235,7 +235,7 @@ static Bool ARKProbe(DriverPtr drv, int flags)
 		foundScreen = TRUE;
 	}
 
-	xfree(usedChips);
+	free(usedChips);
 
 	return foundScreen;
 }
@@ -306,7 +306,7 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 	pARK = ARKPTR(pScrn);
 
 	xf86CollectOptions(pScrn, NULL);
-	if (!(pARK->Options = xalloc(sizeof(ARKOptions))))
+	if (!(pARK->Options = malloc(sizeof(ARKOptions))))
 		return FALSE;
 	memcpy(pARK->Options, ARKOptions, sizeof(ARKOptions));
 	xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pARK->Options);
@@ -355,7 +355,7 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 		pARK->ChipRev = pARK->PciInfo->revision;
 #endif
 	}
-	xfree(pEnt);
+	free(pEnt);
 
 	xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Chipset: \"%s\"\n", pScrn->chipset);
 

commit 5ab0bf04c400f3d7d97c931b5d9e1f0318cc6f59
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Dec 19 17:44:49 2011 -0500

    Fix for new vgaHW ABI
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

diff --git a/src/ark_driver.c b/src/ark_driver.c
index 5fe648e..e8d320c 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -262,6 +262,7 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 		return FALSE;
 
 	hwp = VGAHWPTR(pScrn);
+	vgaHWASetStdFuncs(hwp);
 	vgaHWGetIOBase(hwp);
 
 	pScrn->monitor = pScrn->confScreen->monitor;

commit 075a675e424cc2fbf7ab65e086b111ecfca7105f
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Dec 19 16:11:53 2011 -0500

    Make failure to XAA non-fatal
    
    No shadowfb support in this driver yet.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

diff --git a/src/ark_driver.c b/src/ark_driver.c
index b40200c..5fe648e 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -471,8 +471,9 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 
 	if (!pARK->NoAccel) {
 		if (!xf86LoadSubModule(pScrn, "xaa")) {
-			ARKFreeRec(pScrn);
-			return FALSE;
+			xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+				   "XAA not available\n");
+			pARK->NoAccel = 1;
 		}
 	}
 

commit d9492762b862aa02392a011ed70e38e77e33ee40
Author: Adam Jackson <ajax@redhat.com>
Date:   Thu Nov 17 16:22:16 2011 -0500

    Adapt to videoabi 12
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

diff --git a/src/ark_accel.c b/src/ark_accel.c
index 8963e16..fb6aff9 100644
--- a/src/ark_accel.c
+++ b/src/ark_accel.c
@@ -47,7 +47,10 @@ static int curx, cury, cmd_flags;
 
 static void ARKSync(ScrnInfoPtr pScrn)
 {
-	IOADDRESS port = pScrn->domainIOBase + 0x3cb;
+	IOADDRESS port = 0x3cb;
+#if ABI_VIDEODRV_VERSION < 12
+	port += pScrn->domainIOBase + 0x3cb;
+#endif
 
 	for (;;) {
 		if (!(inb(port) & 0x40))
diff --git a/src/ark_driver.c b/src/ark_driver.c
index fec3e1a..b40200c 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -49,6 +49,12 @@
 #include "xf86Resources.h"
 #endif
 
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+#define PIOOFFSET hwp->PIOOffset
+#else
+#define PIOOFFSET 0
+#endif
+
 #include <string.h>
 
 /*
@@ -358,10 +364,10 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 #endif
 
 	/* unlock CRTC[0-7] */
-	outb(hwp->PIOOffset + hwp->IOBase + 4, 0x11);
-	tmp = inb(hwp->PIOOffset + hwp->IOBase + 5);
-	outb(hwp->PIOOffset + hwp->IOBase + 5, tmp & 0x7f);
-	modinx(hwp->PIOOffset + 0x3c4, 0x1d, 0x01, 0x01);
+	outb(PIOOFFSET + hwp->IOBase + 4, 0x11);
+	tmp = inb(PIOOFFSET + hwp->IOBase + 5);
+	outb(PIOOFFSET + hwp->IOBase + 5, tmp & 0x7f);
+	modinx(PIOOFFSET + 0x3c4, 0x1d, 0x01, 0x01);
 
 #ifndef XSERVER_LIBPCIACCESS
 	pScrn->memPhysBase = pARK->PciInfo->memBase[0];
@@ -378,7 +384,7 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 	if (!pScrn->videoRam) {
 		unsigned char sr10;
 
-		sr10 = rdinx(hwp->PIOOffset + 0x3c4, 0x10);
+		sr10 = rdinx(PIOOFFSET + 0x3c4, 0x10);
 		if (pARK->Chipset == PCI_CHIP_1000PV) {
 			if ((sr10 & 0x40) == 0)
 				pScrn->videoRam = 1024;
@@ -403,9 +409,9 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 	{
 		int man_id, dev_id;
 
-		inb(hwp->PIOOffset + 0x3c6);		/* skip cmd register */
-		man_id = inb(hwp->PIOOffset + 0x3c6);	/* manufacturer id */
-		dev_id = inb(hwp->PIOOffset + 0x3c6);	/* device id */
+		inb(PIOOFFSET + 0x3c6);		/* skip cmd register */
+		man_id = inb(PIOOFFSET + 0x3c6);	/* manufacturer id */
+		dev_id = inb(PIOOFFSET + 0x3c6);	/* device id */
 		if (man_id == 0x84 && dev_id == 0x98) {
 			pARK->ramdac = ZOOMDAC;
 			pARK->dac_width = 16;
@@ -576,7 +582,7 @@ static void ARKSave(ScrnInfoPtr pScrn)
 	ARKPtr pARK = ARKPTR(pScrn);
 	ARKRegPtr save = &pARK->SavedRegs;
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
-	IOADDRESS isaIOBase = hwp->PIOOffset;
+	IOADDRESS isaIOBase = PIOOFFSET;
 	IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase;
 
 	vgaHWUnlock(hwp);
@@ -641,7 +647,7 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
 	int multiplexing, dac16, modepitch;
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
 	vgaRegPtr pVga = &hwp->ModeReg;
-	IOADDRESS isaIOBase = hwp->PIOOffset;
+	IOADDRESS isaIOBase = PIOOFFSET;
 	IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase;
 	unsigned char tmp;
 	int offset;
@@ -891,7 +897,7 @@ static void ARKAdjustFrame(int scrnIndex, int x, int y, int flags)
 	ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
 	ARKPtr pARK = ARKPTR(pScrn);
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
-	IOADDRESS vgaIOBase = hwp->PIOOffset + hwp->IOBase;
+	IOADDRESS vgaIOBase = PIOOFFSET + hwp->IOBase;
 	int base;
 
 	base = ((y * pScrn->displayWidth + x) *
@@ -918,7 +924,7 @@ static void ARKWriteMode(ScrnInfoPtr pScrn, vgaRegPtr pVga, ARKRegPtr new)
 {
 	ARKPtr pARK = ARKPTR(pScrn);
 	vgaHWPtr hwp = VGAHWPTR(pScrn);
-	IOADDRESS isaIOBase = hwp->PIOOffset;
+	IOADDRESS isaIOBase = PIOOFFSET;
 	IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase;
 
 	vgaHWProtect(pScrn, TRUE);
@@ -1115,7 +1121,10 @@ static void ARKLoadPalette(ScrnInfoPtr pScrn, int numColors,
 			   int *indicies, LOCO *colors,
 			   VisualPtr pVisual)
 {
-	IOADDRESS isaIOBase = pScrn->domainIOBase;
+	IOADDRESS isaIOBase = 0;
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+	isaIOBase += pScrn->domainIOBase;
+#endif
 	int i, index;
 
 	for (i=0; i<numColors; i++) {

commit 9d3769bed020e9796e51411c63de337da5073bb4
Author: Ondrej Zary <linux@rainbow-software.org>
Date:   Fri Dec 3 19:23:51 2010 -0500

    Don't assume that FB address registers are initialized properly
    
    https://bugs.freedesktop.org/show_bug.cgi?id=28249
    
    ark driver does not work with Hercules Stingray 64 card (ark2000pv).
    X fails to start with:
    
    [...]
    (II) ark(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is
    0x0000
    (II) ark(0): Creating default Display subsection in Screen section
            "Default Screen Section" for depth/fbbpp 24/32
    (==) ark(0): Depth 24, (--) framebuffer bpp 32
    (==) ark(0): RGB weight 888
    (==) ark(0): Default visual is TrueColor
    (**) ark(0): Chipset: "ark2000pv"
    (--) ark(0): Framebuffer @ 0xe5e50000
    (==) ark(0): Using gamma correction (1.0, 1.0, 1.0)
    (--) ark(0): Detected 2048 bytes video ram
    [...]
    Fatal server error:
    AddScreen/ScreenInit failed for driver 0
    
    Comparing with lspci, the framebuffer address is wrong:
    00:0f.0 VGA compatible controller: ARK Logic Inc 2000PV [Stingray] (prog-if 00 [VGA controller])
    	Flags: medium devsel
    	Memory at e5000000 (32-bit, prefetchable) [size=4M]
    	[virtual] Expansion ROM at 1c000000 [disabled] [size=64K]
    
    Reviewed-by: Adam Jackson <ajax@redhat.com>

diff --git a/src/ark.h b/src/ark.h
index de301dc..077f93b 100644
--- a/src/ark.h
+++ b/src/ark.h
@@ -34,7 +34,6 @@ typedef struct _ARKRec {
 #endif
 	EntityInfoPtr		pEnt;
 	CARD32			IOAddress;
-	CARD32			FBAddress;
 	unsigned char *		FBBase;
 	unsigned char *		MMIOBase;
 	unsigned long		videoRam;
diff --git a/src/ark_driver.c b/src/ark_driver.c
index 5de3b9a..fec3e1a 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -363,14 +363,14 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn, int flags)
 	outb(hwp->PIOOffset + hwp->IOBase + 5, tmp & 0x7f);
 	modinx(hwp->PIOOffset + 0x3c4, 0x1d, 0x01, 0x01);
 
-	/* use membase's later on ??? */
-	pARK->FBAddress = (rdinx(hwp->PIOOffset + 0x3c4, 0x13) << 16) +
-			  (rdinx(hwp->PIOOffset + 0x3c4, 0x14) << 24);
-
-	pScrn->memPhysBase = pARK->FBAddress;
+#ifndef XSERVER_LIBPCIACCESS
+	pScrn->memPhysBase = pARK->PciInfo->memBase[0];
+#else
+	pScrn->memPhysBase = pARK->PciInfo->regions[0].base_addr;
+#endif
 
 	xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Framebuffer @ 0x%lx\n",
-		   (unsigned long)pARK->FBAddress);
+		   (unsigned long)pScrn->memPhysBase);
 
 	if (!xf86SetGamma(pScrn, gzeros))
 		return FALSE;
@@ -748,8 +748,13 @@ static Bool ARKModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
 	new->sr10 = rdinx(isaIOBase + 0x3c4, 0x10) & ~0x1f;
 	new->sr10 |= 0x1f;
 
-	new->sr13 = pARK->FBAddress >> 16;
-	new->sr14 = pARK->FBAddress >> 24;
+#ifndef XSERVER_LIBPCIACCESS
+	new->sr13 = pARK->PciInfo->memBase[0] >> 16;
+	new->sr14 = pARK->PciInfo->memBase[0] >> 24;
+#else
+	new->sr13 = pARK->PciInfo->regions[0].base_addr >> 16;
+	new->sr14 = pARK->PciInfo->regions[0].base_addr >> 24;
+#endif
 
 	new->sr12 = rdinx(isaIOBase + 0x3c4, 0x12) & ~0x03;
 	switch (pScrn->videoRam) {
@@ -1022,7 +1027,7 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
 					     pARK->PciTag, 0xb8000, 0x8000);
 
 	pARK->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
-				     pARK->PciTag, pARK->FBAddress,
+				     pARK->PciTag, pARK->PciInfo->memBase[0],
 				     pScrn->videoRam * 1024);
 #else
 
@@ -1032,14 +1037,17 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
 	{
 		void** result = (void**)&pARK->FBBase;
 		int err = pci_device_map_range(pARK->PciInfo,
-					       pARK->FBAddress,
+					       pARK->PciInfo->regions[0].base_addr,
 					       pScrn->videoRam * 1024,
 					       PCI_DEV_MAP_FLAG_WRITABLE |
 					       PCI_DEV_MAP_FLAG_WRITE_COMBINE,
 					       result);
 		
-		if (err) 
+		if (err) {
+			xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+			   "Cound not map framebuffer: %d\n", err);
 			return FALSE;
+		}
 	}
 #endif
 

commit 5013a760db93d08b0bb87b6ad2537b1073cedf36
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Fri Jul 23 14:35:43 2010 -0700

    xf86-video-ark 0.7.3
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index f9744d7..2142ab6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ark],
-        [0.7.2],
+        [0.7.3],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-ark])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 47dd182461728dbe18d7f59be1e3cbbe56b2ca72
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 16:49:04 2010 -0400

    config: add comments for main statements

diff --git a/configure.ac b/configure.ac
index d52fa88..f9744d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,18 +20,18 @@
 #
 # Process this file with autoconf to produce a configure script
 
+# Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ark],
         [0.7.2],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-ark])
-
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR(.)
 
+# Initialize Automake
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
-
 AM_MAINTAINER_MODE
 
 # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
@@ -40,24 +40,24 @@ m4_ifndef([XORG_MACROS_VERSION],
 XORG_MACROS_VERSION(1.8)
 XORG_DEFAULT_OPTIONS
 
-# Checks for programs.
+# Initialize libtool
 AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
 
 AH_TOP([#include "xorg-server.h"])
 
+# Define a configure option for an alternate module directory
 AC_ARG_WITH(xorg-module-dir, [  --with-xorg-module-dir=DIR ],
                              [ moduledir="$withval" ],
                              [ moduledir="$libdir/xorg/modules" ])
 AC_SUBST(moduledir)
 
-
-# Checks for extensions
+# Store the list of server defined optional extensions in REQUIRED_MODULES
 XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
 XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
 XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 
-# Checks for pkg-config packages
+# Obtain compiler/linker options for the driver dependencies
 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto $REQUIRED_MODULES)
 
 # Checks for libraries.
@@ -68,7 +68,6 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
               [#include "xorg-server.h"])
 CPPFLAGS="$SAVE_CPPFLAGS"
 
-
 if test "x$XSERVER_LIBPCIACCESS" = xyes; then
     PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
 fi

commit 92590886eb667e8a3eb7f3e7bc52d435b51a2cb2
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 16:07:00 2010 -0400

    config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 2723e29..d52fa88 100644
--- a/configure.ac
+++ b/configure.ac
@@ -77,7 +77,8 @@ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
 DRIVER_NAME=ark
 AC_SUBST([DRIVER_NAME])
 
-AC_OUTPUT([
-	Makefile
-	src/Makefile
+AC_CONFIG_FILES([
+                Makefile
+                src/Makefile
 ])
+AC_OUTPUT

commit 334926f424f1d1755086fcd3d3dad1a8b3b35f22
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 14:05:22 2010 -0400

    config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 4f57b42..2723e29 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ AC_INIT([xf86-video-ark],
         [xf86-video-ark])
 
 AC_CONFIG_SRCDIR([Makefile.am])
-AM_CONFIG_HEADER([config.h])
+AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR(.)
 
 AM_INIT_AUTOMAKE([foreign dist-bzip2])

commit b58a6440f088930a5458c68c1b9fe3bd80b37a0e
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jul 21 09:27:42 2010 -0400

    config: complete AC_INIT m4 quoting
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index ac992b9..4f57b42 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,9 +22,9 @@
 
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ark],
-        0.7.2,
+        [0.7.2],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
-        xf86-video-ark)
+        [xf86-video-ark])
 
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_CONFIG_HEADER([config.h])

commit c1846ca9e802338dc0b29ddcdb7e71554d5d63a0
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 20:24:42 2010 -0400

    config: remove unrequired AC_HEADER_STDC
    
    Autoconf says:
    "This macro is obsolescent, as current systems have conforming
    header files. New programs need not use this macro".
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index fc1717b..ac992b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -68,8 +68,6 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
               [#include "xorg-server.h"])
 CPPFLAGS="$SAVE_CPPFLAGS"
 
-# Checks for header files.
-AC_HEADER_STDC
 
 if test "x$XSERVER_LIBPCIACCESS" = xyes; then
     PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])

commit ea755640844290935e115045b7bf06b219123636
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 19:41:30 2010 -0400

    config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
    
    XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
    AC_PROG_C_C99. This sets gcc with -std=gnu99.
    If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 2d253e2..fc1717b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,6 @@ XORG_DEFAULT_OPTIONS
 # Checks for programs.
 AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
-AC_PROG_CC
 
 AH_TOP([#include "xorg-server.h"])
 

commit d39d3e0ec1f0cc0304966d9a96c76c00618196af
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 18:45:18 2010 -0400

    config: update AC_PREREQ statement to 2.60
    
    Unrelated to the previous patches, the new value simply reflects
    the reality that the minimum level for autoconf to configure
    all x.org modules is 2.60 dated June 2006.
    
    ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index 04a9eb1..2d253e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
 #
 # Process this file with autoconf to produce a configure script
 
-AC_PREREQ(2.57)
+AC_PREREQ([2.60])
 AC_INIT([xf86-video-ark],
         0.7.2,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],

commit a1df242dcb15a923856779e544c7394135fb8349
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jul 20 16:15:29 2010 -0400

    config: upgrade to util-macros 1.8 for additional man page support
    
    Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
    The value of MAN_SUBST is the same for all X.Org packages.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/configure.ac b/configure.ac
index af924be..04a9eb1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,10 +34,10 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
 AM_MAINTAINER_MODE
 
-# Require xorg-macros: XORG_DEFAULT_OPTIONS
+# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
 m4_ifndef([XORG_MACROS_VERSION],
-          [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
-XORG_MACROS_VERSION(1.3)
+          [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.8)
 XORG_DEFAULT_OPTIONS
 
 # Checks for programs.

commit 7cf934ad29516215ef81d13acccbee0766f8d729
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sat Jun 12 10:32:57 2010 -0400

    COPYING: replace stub file with Copyright notice


Reply to: