1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
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);
|