* gnu/packages/patches/xf86-video-sis-update-api.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/xorg.scm (xf86-video-sis): Update to 0.10.7. Add patch.
		
			
				
	
	
		
			128 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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);
 |