1 diff --git a/src/sis.h b/src/sis.h
2 index 46fca2a..20e6134 100644
10 #include "xf86_OSproc.h"
11 #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
12 #include "xf86Resources.h"
13 diff --git a/src/sis_driver.c b/src/sis_driver.c
14 index 61e8075..0fd83d7 100644
15 --- a/src/sis_driver.c
16 +++ b/src/sis_driver.c
20 #include "mipointer.h"
21 -#include "mibstore.h"
24 #define SIS_NEED_inSISREG
30 +#define DEFAULT_DPI 96
34 * LookupWindow was removed with video abi 11.
36 @@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
37 if(pSiSEnt->MapCountIOBase) {
38 pSiSEnt->MapCountIOBase--;
39 if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
40 +#ifndef XSERVER_LIBPCIACCESS
41 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
43 + pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
45 pSiSEnt->IOBase = NULL;
46 pSiSEnt->MapCountIOBase = 0;
47 pSiSEnt->forceUnmapIOBase = FALSE;
48 @@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
49 if(pSiSEnt->MapCountIOBaseDense) {
50 pSiSEnt->MapCountIOBaseDense--;
51 if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
52 +#ifndef XSERVER_LIBPCIACCESS
53 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
55 + pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
57 pSiSEnt->IOBaseDense = NULL;
58 pSiSEnt->MapCountIOBaseDense = 0;
59 pSiSEnt->forceUnmapIOBaseDense = FALSE;
60 @@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
61 if(pSiSEnt->MapCountFbBase) {
62 pSiSEnt->MapCountFbBase--;
63 if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
64 +#ifndef XSERVER_LIBPCIACCESS
65 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
67 + pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
69 pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
70 pSiSEnt->MapCountFbBase = 0;
71 pSiSEnt->forceUnmapFbBase = FALSE;
72 @@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
76 +#ifndef XSERVER_LIBPCIACCESS
77 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
79 + pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
83 +#ifndef XSERVER_LIBPCIACCESS
84 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
86 + pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
88 pSiS->IOBaseDense = NULL;
90 +#ifndef XSERVER_LIBPCIACCESS
91 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
93 + pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
95 pSiS->FbBase = pSiS->RealFbBase = NULL;
98 @@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
100 pSiS->SiSFastVidCopyDone = TRUE;
102 - miInitializeBackingStore(pScreen);
103 xf86SetBackingStore(pScreen);
104 xf86SetSilkenMouse(pScreen);
106 @@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
109 sigstate = xf86BlockSIGIO();
110 -#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
111 +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
113 + double dx = x, dy = y;
114 + miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL);
118 +#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
120 double dx = x, dy = y;
121 miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);