diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-17 10:47:08 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-17 11:01:25 +0000 |
commit | df93713f53333c52a6f24d558330baf21c6a9915 (patch) | |
tree | 30e574b8b014c14520dd0990b380525ebec14f8e /main | |
parent | d0a43d4a6df16bbdcf90283041f9a4b1303abdb8 (diff) | |
download | aports-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/APKBUILD | 10 | ||||
-rw-r--r-- | main/xf86-video-sis/git-fixes.patch | 389 | ||||
-rw-r--r-- | main/xf86-video-sis/sis-0.10.7-git.patch | 121 |
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); |