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

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



 ChangeLog        |  141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac     |    8 +--
 debian/changelog |   13 +++++
 debian/control   |    5 -
 src/ark.h        |   12 +++-
 src/ark_accel.c  |    6 +-
 src/ark_driver.c |  108 ++++++++++++++++++++++++------------------
 7 files changed, 233 insertions(+), 60 deletions(-)

New commits:
commit 00495b90e2ee5c18fd3834dea60fa50a8eac0af9
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Mar 19 21:23:30 2012 +0000

    Upload to unstable.

diff --git a/debian/changelog b/debian/changelog
index ee053f2..9e9fdd9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-ark (1:0.7.4-1) UNRELEASED; urgency=low
+xserver-xorg-video-ark (1:0.7.4-1) unstable; urgency=low
 
   * New upstream release.
   * Actually merge upstream master up to da0262acee (one extra commit) to
@@ -9,7 +9,7 @@ xserver-xorg-video-ark (1:0.7.4-1) UNRELEASED; urgency=low
   * Add explicit build-dep on libpciaccess-dev, which is pulled by
     xserver-xorg-dev, just to make sure.
 
- -- Cyril Brulebois <kibi@debian.org>  Mon, 19 Mar 2012 21:16:38 +0000
+ -- Cyril Brulebois <kibi@debian.org>  Mon, 19 Mar 2012 21:23:25 +0000
 
 xserver-xorg-video-ark (1:0.7.3-2) unstable; urgency=low
 

commit 9c6f1732ccc85a27e79146c1f1bd62c7505a5eb8
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Mar 19 22:23:22 2012 +0100

    Add explicit build-dep on libpciaccess-dev, which is pulled by xserver-xorg-dev, just to make sure.

diff --git a/debian/changelog b/debian/changelog
index 33df645..ee053f2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ xserver-xorg-video-ark (1:0.7.4-1) UNRELEASED; urgency=low
     build-deps.
   * Drop x11proto-randr-dev and x11proto-render-dev build-deps
     accordingly.
+  * Add explicit build-dep on libpciaccess-dev, which is pulled by
+    xserver-xorg-dev, just to make sure.
 
  -- Cyril Brulebois <kibi@debian.org>  Mon, 19 Mar 2012 21:16:38 +0000
 
diff --git a/debian/control b/debian/control
index 8f43a71..bd366a8 100644
--- a/debian/control
+++ b/debian/control
@@ -12,7 +12,8 @@ Build-Depends:
  x11proto-core-dev,
  x11proto-fonts-dev,
  x11proto-xext-dev,
- xutils-dev (>= 1:7.5+4)
+ xutils-dev (>= 1:7.5+4),
+ libpciaccess-dev (>= 0.12.901),
 Standards-Version: 3.9.1
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-ark
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-ark.git

commit 45725e58ecd2aae17398ab5225af1f1c41916232
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Mar 19 21:21:18 2012 +0000

    Drop x11proto-randr-dev and x11proto-render-dev build-deps accordingly.

diff --git a/debian/changelog b/debian/changelog
index 7595be1..33df645 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ xserver-xorg-video-ark (1:0.7.4-1) UNRELEASED; urgency=low
   * Actually merge upstream master up to da0262acee (one extra commit) to
     get rid of unneeded checks in configure.ac, letting us drop unneeded
     build-deps.
+  * Drop x11proto-randr-dev and x11proto-render-dev build-deps
+    accordingly.
 
  -- Cyril Brulebois <kibi@debian.org>  Mon, 19 Mar 2012 21:16:38 +0000
 
diff --git a/debian/control b/debian/control
index d9b5bec..8f43a71 100644
--- a/debian/control
+++ b/debian/control
@@ -11,8 +11,6 @@ Build-Depends:
  xserver-xorg-dev (>= 2:1.9.4),
  x11proto-core-dev,
  x11proto-fonts-dev,
- x11proto-randr-dev,
- x11proto-render-dev,
  x11proto-xext-dev,
  xutils-dev (>= 1:7.5+4)
 Standards-Version: 3.9.1

commit 7549d7357cc43eb2697dcda57dcf6acc79f46b0c
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Mar 19 21:18:53 2012 +0000

    Bump changelogs.

diff --git a/ChangeLog b/ChangeLog
index 20c5867..4b677a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,144 @@
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
 commit 5013a760db93d08b0bb87b6ad2537b1073cedf36
 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 Date:   Fri Jul 23 14:35:43 2010 -0700
diff --git a/debian/changelog b/debian/changelog
index 906e7cd..7595be1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xserver-xorg-video-ark (1:0.7.4-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+  * Actually merge upstream master up to da0262acee (one extra commit) to
+    get rid of unneeded checks in configure.ac, letting us drop unneeded
+    build-deps.
+
+ -- Cyril Brulebois <kibi@debian.org>  Mon, 19 Mar 2012 21:16:38 +0000
+
 xserver-xorg-video-ark (1:0.7.3-2) unstable; urgency=low
 
   * Switch to dh:

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
 


Reply to: