summary refs log tree commit diff
path: root/gnu/packages/patches/xf86-video-sis-update-api.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/xf86-video-sis-update-api.patch')
-rw-r--r--gnu/packages/patches/xf86-video-sis-update-api.patch128
1 files changed, 128 insertions, 0 deletions
diff --git a/gnu/packages/patches/xf86-video-sis-update-api.patch b/gnu/packages/patches/xf86-video-sis-update-api.patch
new file mode 100644
index 0000000000..d8c5c07273
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-sis-update-api.patch
@@ -0,0 +1,128 @@
+Update xf86-video-sis to the current xorg-server API.
+
+Copied from: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/tree/sis-0.10.7-git.patch?id=2705859f0ddc7ee7a3b07f21b442ebeab5df1276
+Commit log: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/log/sis-0.10.7-git.patch
+
+Patch 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 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);