[xorg-x11-drv-ark] ark-0.7.3-abi.patch: Adapt to videoabi 12

Adam Jackson ajax at fedoraproject.org
Thu Nov 17 21:19:59 UTC 2011


commit 0ebd5bbf0f2fc8dfd3b79ad5d0c723cb14014059
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Nov 17 21:19:38 2011 -0500

    ark-0.7.3-abi.patch: Adapt to videoabi 12

 ark-0.7.3-abi.patch   |  122 +++++++++++++++++++++++++++++++++++++++++++++++++
 xorg-x11-drv-ark.spec |   10 +++-
 2 files changed, 130 insertions(+), 2 deletions(-)
---
diff --git a/ark-0.7.3-abi.patch b/ark-0.7.3-abi.patch
new file mode 100644
index 0000000..dc6c3cc
--- /dev/null
+++ b/ark-0.7.3-abi.patch
@@ -0,0 +1,122 @@
+diff -up xf86-video-ark-0.7.3/src/ark_accel.c.jx xf86-video-ark-0.7.3/src/ark_accel.c
+--- xf86-video-ark-0.7.3/src/ark_accel.c.jx	2009-10-16 17:41:13.000000000 -0400
++++ xf86-video-ark-0.7.3/src/ark_accel.c	2011-11-17 20:34:10.588029715 -0500
+@@ -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 -up xf86-video-ark-0.7.3/src/ark_driver.c.jx xf86-video-ark-0.7.3/src/ark_driver.c
+--- xf86-video-ark-0.7.3/src/ark_driver.c.jx	2009-10-16 17:41:13.000000000 -0400
++++ xf86-video-ark-0.7.3/src/ark_driver.c	2011-11-17 21:18:40.984000298 -0500
+@@ -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,14 +364,14 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn
+ #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);
+ 
+ 	/* use membase's later on ??? */
+-	pARK->FBAddress = (rdinx(hwp->PIOOffset + 0x3c4, 0x13) << 16) +
+-			  (rdinx(hwp->PIOOffset + 0x3c4, 0x14) << 24);
++	pARK->FBAddress = (rdinx(PIOOFFSET + 0x3c4, 0x13) << 16) +
++			  (rdinx(PIOOFFSET + 0x3c4, 0x14) << 24);
+ 
+ 	pScrn->memPhysBase = pARK->FBAddress;
+ 
+@@ -378,7 +384,7 @@ static Bool ARKPreInit(ScrnInfoPtr pScrn
+ 	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 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 pScr
+ 	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;
+@@ -886,7 +892,7 @@ static void ARKAdjustFrame(int scrnIndex
+ 	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) *
+@@ -913,7 +919,7 @@ static void ARKWriteMode(ScrnInfoPtr pSc
+ {
+ 	ARKPtr pARK = ARKPTR(pScrn);
+ 	vgaHWPtr hwp = VGAHWPTR(pScrn);
+-	IOADDRESS isaIOBase = hwp->PIOOffset;
++	IOADDRESS isaIOBase = PIOOFFSET;
+ 	IOADDRESS vgaIOBase = isaIOBase + hwp->IOBase;
+ 
+ 	vgaHWProtect(pScrn, TRUE);
+@@ -1107,7 +1113,10 @@ static void ARKLoadPalette(ScrnInfoPtr p
+ 			   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++) {
diff --git a/xorg-x11-drv-ark.spec b/xorg-x11-drv-ark.spec
index b61c9e9..96bc41a 100644
--- a/xorg-x11-drv-ark.spec
+++ b/xorg-x11-drv-ark.spec
@@ -5,7 +5,7 @@
 Summary:   Xorg X11 ark video driver
 Name:      xorg-x11-drv-ark
 Version:   0.7.3
-Release:   9%{?dist}
+Release:   10%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -13,6 +13,8 @@ Group:     User Interface/X Hardware Support
 Source0:   ftp://ftp.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
 Source1:   ark.xinf
 
+Patch0:	    ark-0.7.3-abi.patch
+
 ExcludeArch: s390 s390x
 
 BuildRequires: xorg-x11-server-sdk >= 1.10.99.902
@@ -26,10 +28,11 @@ X.Org X11 ark video driver.
 
 %prep
 %setup -q -n %{tarball}-%{version}
+%patch0 -p1 -b .abi
 
 %build
 %configure --disable-static
-make
+make %{?_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -51,6 +54,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/hwdata/videoaliases/ark.xinf
 
 %changelog
+* Thu Nov 17 2011 Adam Jackson <ajax at redhat.com> 0.7.3-10
+- ark-0.7.3-abi.patch: Adapt to videoabi 12
+
 * Wed Nov 09 2011 ajax <ajax at redhat.com> - 0.7.3-9
 - ABI rebuild
 


More information about the scm-commits mailing list