[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