aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-03-17 10:47:08 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-03-17 11:01:25 +0000
commitdf93713f53333c52a6f24d558330baf21c6a9915 (patch)
tree30e574b8b014c14520dd0990b380525ebec14f8e /main
parentd0a43d4a6df16bbdcf90283041f9a4b1303abdb8 (diff)
downloadaports-df93713f53333c52a6f24d558330baf21c6a9915.tar.bz2
aports-df93713f53333c52a6f24d558330baf21c6a9915.tar.xz
main/xf86-video-sis: rebuild against xorg-server 1.17
Diffstat (limited to 'main')
-rw-r--r--main/xf86-video-sis/APKBUILD10
-rw-r--r--main/xf86-video-sis/git-fixes.patch389
-rw-r--r--main/xf86-video-sis/sis-0.10.7-git.patch121
3 files changed, 394 insertions, 126 deletions
diff --git a/main/xf86-video-sis/APKBUILD b/main/xf86-video-sis/APKBUILD
index fce3c0cbbb..29720abf84 100644
--- a/main/xf86-video-sis/APKBUILD
+++ b/main/xf86-video-sis/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-sis
pkgver=0.10.7
-pkgrel=6
+pkgrel=7
pkgdesc="X.org SiS video driver"
url="http://xorg.freedesktop.org/"
arch="all"
@@ -13,7 +13,7 @@ makedepends="pkgconfig xorg-server-dev videoproto renderproto xproto
xf86driproto glproto libxi-dev"
source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2
- sis-0.10.7-git.patch"
+ git-fixes.patch"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
@@ -45,8 +45,8 @@ package() {
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
md5sums="f01e5e20e37342acf1983d269886171b xf86-video-sis-0.10.7.tar.bz2
-268a460c217b9108c2e43608a066198a sis-0.10.7-git.patch"
+78e366bfdc9755c461b2c66e54d384f0 git-fixes.patch"
sha256sums="be2eb6acba081e88dabc5be9db379e3da89a4d4edeb68064f204bf343a411cd0 xf86-video-sis-0.10.7.tar.bz2
-7cc3c746f0921b72b4a2cae599790d115424f813dde8b74a0fe8222152a9c4cf sis-0.10.7-git.patch"
+a340653dbe1bbd0fff1b881b1245793149d46a397baf51264ce9a42e1a254eab git-fixes.patch"
sha512sums="095fd47803e8296ca3769b5c62e9399b6759023660c42b215b708dfed456e3cf2dad93b8abcb48887bd40e0d0b1435d4e1d711a721f5cb55bef4d7093ab387fa xf86-video-sis-0.10.7.tar.bz2
-985e067fbf21d5151b96d497a4325d98d1fcb4f8b3bb3fa7bf7be7574a343b4bca2460545cb60048ec8b023c03249c18062db0c80cadb899a20d9a3dc41563e4 sis-0.10.7-git.patch"
+c1829ceb30d9b1f7eb16c0d2d286acc3c9f3b092241e8b1ccb5109d929f757599213c555adba16f95910747a6008e870f40b7373f4a511f293063ec44191d641 git-fixes.patch"
diff --git a/main/xf86-video-sis/git-fixes.patch b/main/xf86-video-sis/git-fixes.patch
new file mode 100644
index 0000000000..f23888d6e2
--- /dev/null
+++ b/main/xf86-video-sis/git-fixes.patch
@@ -0,0 +1,389 @@
+From 339fb3bc032b9f35b07b90480ae82a0fd352e078 Mon Sep 17 00:00:00 2001
+From: Jan Lindemann <jan@jannet.de>
+Date: Thu, 30 Aug 2012 18:09:10 +0000
+Subject: Replace xf86UnMapVidMem with pci_device_unmap_range
+
+Mixing pci_device_map_range with xf86UnMapVidMem doesn't work too well.
+
+X.Org bug#18028 <https://bugs.freedesktop.org/show_bug.cgi?id=18028>
+
+Bug found by Bryan Henderson <bryanh@giraffe-data.com>
+
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+---
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 61e8075..4c9b9cb 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -7344,7 +7344,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ if(pSiSEnt->MapCountIOBase) {
+ pSiSEnt->MapCountIOBase--;
+ if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ pSiSEnt->IOBase = NULL;
+ pSiSEnt->MapCountIOBase = 0;
+ pSiSEnt->forceUnmapIOBase = FALSE;
+@@ -7355,7 +7359,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ if(pSiSEnt->MapCountIOBaseDense) {
+ pSiSEnt->MapCountIOBaseDense--;
+ if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ pSiSEnt->IOBaseDense = NULL;
+ pSiSEnt->MapCountIOBaseDense = 0;
+ pSiSEnt->forceUnmapIOBaseDense = FALSE;
+@@ -7366,7 +7374,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ if(pSiSEnt->MapCountFbBase) {
+ pSiSEnt->MapCountFbBase--;
+ if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#endif
+ pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
+ pSiSEnt->MapCountFbBase = 0;
+ pSiSEnt->forceUnmapFbBase = FALSE;
+@@ -7376,13 +7388,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ }
+ } else {
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ pSiS->IOBase = NULL;
+ #ifdef __alpha__
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ pSiS->IOBaseDense = NULL;
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#endif
+ pSiS->FbBase = pSiS->RealFbBase = NULL;
+ #ifdef SISDUALHEAD
+ }
+--
+cgit v0.9.0.2-2-gbebe
+From 926d4f655c8491b68a338f50c810f6729686ec9f Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 12:54:51 +0000
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 4c9b9cb..46cfefd 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -57,7 +57,6 @@
+ #include "fb.h"
+ #include "micmap.h"
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "edid.h"
+
+ #define SIS_NEED_inSISREG
+@@ -8883,7 +8882,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ pSiS->SiSFastVidCopyDone = TRUE;
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
+--
+cgit v0.9.0.2-2-gbebe
+From 7d4402786b758de3e6ce2641e15a39d612d5c518 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 15 Oct 2012 23:11:30 +0000
+Subject: Stop including xf86Priv.h
+
+As the name might suggest, it's server-private.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/sis.h b/src/sis.h
+index 46fca2a..20e6134 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -75,7 +75,6 @@
+
+ #include "compiler.h"
+ #include "xf86Pci.h"
+-#include "xf86Priv.h"
+ #include "xf86_OSproc.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 46cfefd..cefe503 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -93,6 +93,10 @@
+ #include "dri.h"
+ #endif
+
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /*
+ * LookupWindow was removed with video abi 11.
+ */
+--
+cgit v0.9.0.2-2-gbebe
+From 0a4336efaafac4c34d4287b5df586bbb418f7f76 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat, 26 Oct 2013 14:27:17 -0700
+Subject: Fix HDisplay/VDisplay typos
+
+Found by gcc -Wlogicalops:
+
+sis_driver.c: In function 'SiS_CheckModeCRT2':
+sis_driver.c:13754:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13755:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13756:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13758:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13759:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index cefe503..80b8d51 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -13751,12 +13751,12 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, DisplayModePtr mode, unsigned int VBFlags,
+ if( ((mode->HDisplay <= pSiS->LCDwidth) &&
+ (mode->VDisplay <= pSiS->LCDheight)) ||
+ ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL848) &&
+- (((mode->HDisplay == 1360) && (mode->HDisplay == 768)) ||
+- ((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+- ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) ||
++ (((mode->HDisplay == 1360) && (mode->VDisplay == 768)) ||
++ ((mode->HDisplay == 1024) && (mode->VDisplay == 768)) ||
++ ((mode->HDisplay == 800) && (mode->VDisplay == 600)))) ||
+ ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL856) &&
+- (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+- ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) ) {
++ (((mode->HDisplay == 1024) && (mode->VDisplay == 768)) ||
++ ((mode->HDisplay == 800) && (mode->VDisplay == 600)))) ) {
+
+ ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i,
+ pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight,
+--
+cgit v0.10.2
+From 49796d6a3274adc0250ee07faa6bc63e41c98740 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 22 Nov 2013 08:21:18 +1000
+Subject: Fix format-security warnings
+
+sis_driver.c: In function 'SISErrorLog':
+sis_driver.c:432:5: error: format not a string literal and no format arguments [-Werror=format-security]
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
+ ^
+sis_driver.c:439:5: error: format not a string literal and no format arguments [-Werror=format-security]
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
+ ^
+sis_driver.c: In function 'SiSUpdateXineramaScreenInfo':
+sis_driver.c:1917:4: error: format not a string literal and no format arguments [-Werror=format-security]
+ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
+ ^
+sis_driver.c:1924:8: error: format not a string literal and no format arguments [-Werror=format-security]
+ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 80b8d51..bd9c4e1 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -429,14 +429,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...)
+ static const char *str = "**************************************************\n";
+
+ va_start(ap, format);
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ " ERROR:\n");
+ xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap);
+ va_end(ap);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ " END OF MESSAGE\n");
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ }
+
+ static void
+@@ -1914,14 +1914,14 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
+ if(infochanged && !usenonrect) {
+ xf86DrvMsg(pScrn1->scrnIndex, X_INFO,
+ "Virtual screen size does not match maximum display modes...\n");
+- xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
++ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine);
+
+ }
+ } else if(infochanged && usenonrect) {
+ usenonrect = FALSE;
+ xf86DrvMsg(pScrn1->scrnIndex, X_INFO,
+ "Only clone modes available for this virtual screen size...\n");
+- xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
++ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine);
+ }
+
+ if(pSiS->maxCRT1_X1) { /* Means we have at least one non-clone mode */
+--
+cgit v0.10.2
+From d0550de19cacab3e591641ba358a72fbc798b231 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Mon, 22 Sep 2014 12:45:02 +1000
+Subject: sis: fix build against latest xserver
+
+
+diff --git a/src/sis.h b/src/sis.h
+index 20e6134..385b784 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -1004,7 +1004,9 @@ typedef struct {
+ ScrnInfoPtr pScrn;
+ pciVideoPtr PciInfo;
+ int PciBus, PciDevice, PciFunc;
++#ifndef XSERVER_LIBPCIACCESS
+ PCITAG PciTag;
++#endif
+ EntityInfoPtr pEnt;
+ int Chipset;
+ unsigned char ChipType;
+diff --git a/src/vstruct.h b/src/vstruct.h
+index 88f7eb6..5d7a98d 100644
+--- a/src/vstruct.h
++++ b/src/vstruct.h
+@@ -237,8 +237,10 @@ struct SiS_Private
+ unsigned char ChipType;
+ unsigned char ChipRevision;
+ #ifdef SIS_XORG_XF86
++#ifndef XSERVER_LIBPCIACCESS
+ PCITAG PciTag;
+ #endif
++#endif
+ #ifdef SIS_LINUX_KERNEL
+ void *ivideo;
+ #endif
+--
+cgit v0.10.2
+From d2597696ba81862d80ec17b978d8370c58572e27 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Wed, 12 Nov 2014 08:04:21 +1000
+Subject: sis: more build fixes against master X server.
+
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index bd9c4e1..125eee7 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -3279,9 +3279,11 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ pSiS->PciDevice = PCI_CFG_DEV(pSiS->PciInfo); /*SIS_PCI_DEVICE(pSiS->PciInfo);*/
+ pSiS->PciFunc = PCI_CFG_FUNC(pSiS->PciInfo); /*SIS_PCI_FUNC(pSiS->PciInfo);*/
+
++#ifndef XSERVER_LIBPCIACCESS
+ pSiS->PciTag = pciTag(PCI_DEV_BUS(pSiS->PciInfo),
+ PCI_DEV_DEV(pSiS->PciInfo),
+ PCI_DEV_FUNC(pSiS->PciInfo));
++#endif
+
+ #ifdef SIS_NEED_MAP_IOP
+ /********************************************/
+@@ -3905,7 +3907,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ if(pSiSEnt) pSiSEnt->SiS_Pr = pSiS->SiS_Pr;
+ #endif
+ memset(pSiS->SiS_Pr, 0, sizeof(struct SiS_Private));
++#ifndef XSERVER_LIBPCIACCESS
+ pSiS->SiS_Pr->PciTag = pSiS->PciTag;
++#endif
+ pSiS->SiS_Pr->ChipType = pSiS->ChipType;
+ pSiS->SiS_Pr->ChipRevision = pSiS->ChipRev;
+ pSiS->SiS_Pr->SiS_Backup70xx = 0xff;
+@@ -7134,7 +7138,9 @@ static Bool
+ SISMapMem(ScrnInfoPtr pScrn)
+ {
+ SISPtr pSiS = SISPTR(pScrn);
++#ifndef XSERVER_LIBPCIACCESS
+ int mmioFlags = VIDMEM_MMIO;
++#endif
+ #ifdef SISDUALHEAD
+ SISEntPtr pSiSEnt = pSiS->entityPrivate;
+ #endif
+@@ -7144,9 +7150,11 @@ SISMapMem(ScrnInfoPtr pScrn)
+ * (For Alpha, we need to map SPARSE memory, since we need
+ * byte/short access.)
+ */
++#ifndef XSERVER_LIBPCIACCESS
+ #if defined(__alpha__)
+ mmioFlags |= VIDMEM_SPARSE;
+ #endif
++#endif
+
+ #ifdef SISDUALHEAD
+ if(pSiS->DualHeadMode) {
+@@ -14017,6 +14025,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn, UShort offset, UChar value)
+ break;
+ }
+
++#ifndef XSERVER_LIBPCIACCESS
+ #ifdef SIS_USE_BIOS_SCRATCH
+ if(SISPTR(pScrn)->Primary) {
+ base = xf86MapVidMem(pScrn->scrnIndex, VIDMEM_MMIO, 0, 0x2000);
+@@ -14035,6 +14044,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn, UShort offset, UChar value)
+ xf86UnMapVidMem(pScrn->scrnIndex, base, 0x2000);
+ }
+ #endif
++#endif
+ return ret;
+ }
+
+--
+cgit v0.10.2
+From 0f50f8c3db2b9f1c9d4ecab8ad278e9db6418a92 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Wed, 12 Nov 2014 09:27:33 +1000
+Subject: sis: force build, who uses this crazy code anyways
+
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 125eee7..854cb54 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -9385,6 +9385,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ }
+ }
+ if(doit) {
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 20 /* screw it */
+ sigstate = xf86BlockSIGIO();
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+ {
+@@ -9402,6 +9403,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ miPointerAbsoluteCursor(x, y, currentTime.milliseconds);
+ #endif
+ xf86UnblockSIGIO(sigstate);
++#endif
+ return;
+ }
+ }
+--
+cgit v0.10.2
+
diff --git a/main/xf86-video-sis/sis-0.10.7-git.patch b/main/xf86-video-sis/sis-0.10.7-git.patch
deleted file mode 100644
index 8652375520..0000000000
--- a/main/xf86-video-sis/sis-0.10.7-git.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-diff --git a/src/sis.h b/src/sis.h
-index 46fca2a..20e6134 100644
---- a/src/sis.h
-+++ b/src/sis.h
-@@ -75,7 +75,6 @@
-
- #include "compiler.h"
- #include "xf86Pci.h"
--#include "xf86Priv.h"
- #include "xf86_OSproc.h"
- #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
- #include "xf86Resources.h"
-diff --git a/src/sis_driver.c b/src/sis_driver.c
-index 61e8075..0fd83d7 100644
---- a/src/sis_driver.c
-+++ b/src/sis_driver.c
-@@ -57,7 +57,6 @@
- #include "fb.h"
- #include "micmap.h"
- #include "mipointer.h"
--#include "mibstore.h"
- #include "edid.h"
-
- #define SIS_NEED_inSISREG
-@@ -94,6 +93,10 @@
- #include "dri.h"
- #endif
-
-+#ifndef DEFAULT_DPI
-+#define DEFAULT_DPI 96
-+#endif
-+
- /*
- * LookupWindow was removed with video abi 11.
- */
-@@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
- if(pSiSEnt->MapCountIOBase) {
- pSiSEnt->MapCountIOBase--;
- if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
-+#ifndef XSERVER_LIBPCIACCESS
- xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
-+#else
-+ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
-+#endif
- pSiSEnt->IOBase = NULL;
- pSiSEnt->MapCountIOBase = 0;
- pSiSEnt->forceUnmapIOBase = FALSE;
-@@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
- if(pSiSEnt->MapCountIOBaseDense) {
- pSiSEnt->MapCountIOBaseDense--;
- if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
-+#ifndef XSERVER_LIBPCIACCESS
- xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
-+#else
-+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
-+#endif
- pSiSEnt->IOBaseDense = NULL;
- pSiSEnt->MapCountIOBaseDense = 0;
- pSiSEnt->forceUnmapIOBaseDense = FALSE;
-@@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
- if(pSiSEnt->MapCountFbBase) {
- pSiSEnt->MapCountFbBase--;
- if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
-+#ifndef XSERVER_LIBPCIACCESS
- xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
-+#else
-+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
-+#endif
- pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
- pSiSEnt->MapCountFbBase = 0;
- pSiSEnt->forceUnmapFbBase = FALSE;
-@@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
- }
- } else {
- #endif
-+#ifndef XSERVER_LIBPCIACCESS
- xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
-+#else
-+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
-+#endif
- pSiS->IOBase = NULL;
- #ifdef __alpha__
-+#ifndef XSERVER_LIBPCIACCESS
- xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
-+#else
-+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
-+#endif
- pSiS->IOBaseDense = NULL;
- #endif
-+#ifndef XSERVER_LIBPCIACCESS
- xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
-+#else
-+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
-+#endif
- pSiS->FbBase = pSiS->RealFbBase = NULL;
- #ifdef SISDUALHEAD
- }
-@@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
- }
- pSiS->SiSFastVidCopyDone = TRUE;
-
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
- xf86SetSilkenMouse(pScreen);
-
-@@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
- }
- if(doit) {
- sigstate = xf86BlockSIGIO();
--#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
-+ {
-+ double dx = x, dy = y;
-+ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL);
-+ x = (int)dx;
-+ y = (int)dy;
-+ }
-+#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
- {
- double dx = x, dy = y;
- miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);