sisimedia deprecated.

This commit is contained in:
Ertuğrul Erata
2015-10-02 23:28:02 +03:00
parent 4c54291e8e
commit bd9053a535
30 changed files with 0 additions and 5011 deletions
@@ -1,25 +0,0 @@
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/copyleft/gpl.txt.
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
def setup():
pisitools.dosed("src/Makefile.am", "sis_drv", "sisimedia_drv")
pisitools.dosed("src/sis.h", '"sis"', '"sisimedia"')
pisitools.dosed("src/sis_driver.c", "sisModuleData", "sisimediaModuleData")
autotools.autoreconf("-vif")
autotools.configure("--disable-static")
def build():
autotools.make()
def install():
autotools.install()
# Same as sis man page
pisitools.removeDir("/usr/share/man")
@@ -1,25 +0,0 @@
From e4f6a2fcd5712d0f994d3719b9c6c13f5b02bc7c Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Fri, 9 Jan 2009 16:34:01 -0800
Subject: [PATCH 01/10] Remove xorgconfig & xorgcfg from See Also list in man page
---
man/sis.man | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/man/sis.man b/man/sis.man
index d743fe6..c321808 100644
--- a/man/sis.man
+++ b/man/sis.man
@@ -429,7 +429,7 @@ The amount is to be specified in megabyte, the default is 8.
none.
.SH "SEE ALSO"
#ifdef __xservername__
-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
+__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
#else
XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__)
#endif
--
1.6.5.4
@@ -1,91 +0,0 @@
diff -p -up xf86-video-sis-0.9.1/configure.ac.orig xf86-video-sis-0.9.1/configure.ac
--- xf86-video-sis-0.9.1/configure.ac.orig 2010-01-27 15:34:26.000000000 -0500
+++ xf86-video-sis-0.9.1/configure.ac 2010-01-27 15:34:43.000000000 -0500
@@ -58,7 +58,6 @@ XORG_DRIVER_CHECK_EXT(XINERAMA, xinerama
XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
XORG_DRIVER_CHECK_EXT(XV, videoproto)
-XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto)
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# Checks for pkg-config packages
diff -p -up xf86-video-sis-0.9.1/src/sis_driver.c.orig xf86-video-sis-0.9.1/src/sis_driver.c
--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-27 15:35:05.000000000 -0500
+++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-27 15:35:39.000000000 -0500
@@ -86,8 +86,6 @@
#include "mibank.h"
#include "mipointer.h"
#include "mibstore.h"
-#define _XF86MISC_SERVER_
-#include <X11/extensions/xf86misc.h>
#include "edid.h"
#define SIS_NEED_inSISREG
@@ -506,11 +504,6 @@ xf86DrvMsg(0, X_INFO, "
pScrn->FreeScreen = SISFreeScreen;
pScrn->ValidMode = SISValidMode;
pScrn->PMEvent = SISPMEvent; /*add PM function for ACPI hotkey,Ivans*/
-#ifdef X_XF86MiscPassMessage
-// if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
-// pScrn->HandleMessage = SISHandleMessage;
-// }
-#endif
foundScreen = TRUE;
}
#ifdef SISDUALHEAD
diff -p -up xf86-video-sis-0.9.1/src/sis_driver.h.orig xf86-video-sis-0.9.1/src/sis_driver.h
--- xf86-video-sis-0.9.1/src/sis_driver.h.orig 2010-01-27 15:35:49.000000000 -0500
+++ xf86-video-sis-0.9.1/src/sis_driver.h 2010-01-27 15:36:04.000000000 -0500
@@ -791,10 +791,6 @@ static Bool SISHotkeySwitchMode(ScrnInfo
#ifdef SISDUALHEAD
static Bool SISSaveScreenDH(ScreenPtr pScreen, int mode);
#endif
-#ifdef X_XF86MiscPassMessage
-extern int SISHandleMessage(int scrnIndex, const char *msgtype,
- const char *msgval, char **retmsg);
-#endif
static void SISFreeScreen(int scrnIndex, int flags);
static ModeStatus SISValidMode(int scrnIndex, DisplayModePtr mode,
Bool verbose, int flags);
diff -p -up xf86-video-sis-0.9.1/src/sis_utility.c.orig xf86-video-sis-0.9.1/src/sis_utility.c
--- xf86-video-sis-0.9.1/src/sis_utility.c.orig 2010-01-27 15:36:23.000000000 -0500
+++ xf86-video-sis-0.9.1/src/sis_utility.c 2010-01-27 15:36:59.000000000 -0500
@@ -40,8 +40,6 @@
#define NEED_EVENTS
#include <X11/X.h>
#include "dixstruct.h"
-#define _XF86MISC_SERVER_
-#include <X11/extensions/xf86misc.h>
#include "sis_videostr.h"
@@ -262,9 +260,6 @@ typedef struct {
int (*HandleSiSDirectCommand[SISCTRL_MAX_SCREENS])(xSiSCtrlCommandReply *);
} xSiSCtrlScreenTable;
-#ifdef X_XF86MiscPassMessage
-int SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg);
-#endif
void SiSCtrlExtInit(ScrnInfoPtr pScrn);
void SiSCtrlExtUnregister(SISPtr pSiS, int index);
@@ -975,19 +970,6 @@ unsigned int SISVGADetected(ScrnInfoPtr
}
/***********************************
- * MessageHandler interface *
- * (unused now; use extension) *
- ***********************************/
-
-#ifdef X_XF86MiscPassMessage
-int
-SISHandleMessage(int scrnIndex, const char *msgtype, const char *msgval, char **retmsg)
-{
- return BadMatch;
-}
-#endif
-
-/***********************************
* SiSCtrl extension interface *
***********************************/
@@ -1,65 +0,0 @@
From 9b010b7db7f0c6730c1a1b3cd473d49b01ed5b5f Mon Sep 17 00:00:00 2001
From: Ander Conselvan de Oliveira <ander@mandriva.com.br>
Date: Mon, 22 Jun 2009 16:07:26 -0400
Subject: [PATCH] Fix build with -Werror=format-security
---
src/sis_driver.c | 4 ++--
src/sis_mergedfb.c | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/sis_driver.c b/src/sis_driver.c
index 5b91004..0a154db 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -831,14 +831,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
diff --git a/src/sis_mergedfb.c b/src/sis_mergedfb.c
index 61b4255..feca024 100644
--- a/src/sis_mergedfb.c
+++ b/src/sis_mergedfb.c
@@ -357,7 +357,7 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
strcat(printbuffer, namebuf1);
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, printbuffer);
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s", printbuffer);
}
mode->next = mode;
@@ -2137,7 +2137,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
if(infochanged && !usenonrect) {
xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb,
"Current screen size does not match maximum display modes...\n");
- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine);
+ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine);
}
} else if(infochanged && usenonrect) {
@@ -2145,7 +2145,7 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
usenonrect = FALSE;
xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb,
"Only clone modes available for this screen size...\n");
- xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, rectxine);
+ xf86DrvMsgVerb(pScrn1->scrnIndex, X_INFO, pSiS->XineVerb, "%s", rectxine);
}
--
1.6.2.4
@@ -1,32 +0,0 @@
From 49c641b638ac36d2a559555c04a3bd2777c8d071 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Fri, 1 May 2009 16:52:10 -0700
Subject: [PATCH 04/10] Make sisRegs3D4 big enough to hold all values written to it
Increase size from 0xff to 0x100 since SiS315Save (sis_dac.c line 752)
writes values into sisRegs3D4[0x00..0xff] if ChipType >= XGI_20
[This bug was found by the Parfait bug checking tool.
For more information see http://research.sun.com/projects/parfait ]
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
---
src/sis.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/sis.h b/src/sis.h
index 9bafd4b..773f709 100644
--- a/src/sis.h
+++ b/src/sis.h
@@ -747,7 +747,7 @@ typedef struct {
UChar sisRegsGR[10];
UChar sisDAC[768];
UChar sisRegs3C4[0x80];
- UChar sisRegs3D4[0xff];
+ UChar sisRegs3D4[0x100];
UChar sisRegs3C2;
UChar sisCapt[0x60];
UChar sisVid[0x50];
--
1.6.5.4
@@ -1,38 +0,0 @@
From 933dd8f860883c613acb5bcdf6b66100dbdfa952 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Fri, 1 May 2009 16:57:22 -0700
Subject: [PATCH 05/10] Correct bounds check of blitClip array access
Array is defined as blitClip[NUM_BLIT_PORTS], so invalid indexes
are >= NUM_BLIT_PORTS, not just > NUM_BLIT_PORTS
[This bug was found by the Parfait bug checking tool.
For more information see http://research.sun.com/projects/parfait ]
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
---
src/sis_video.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Index: xf86-video-sis-0.9.1/src/sis_video.c
===================================================================
--- xf86-video-sis-0.9.1.orig/src/sis_video.c
+++ xf86-video-sis-0.9.1/src/sis_video.c
@@ -4656,7 +4656,7 @@ SISStopVideoBlit(ScrnInfoPtr pScrn, ULon
* adapt->flags but we provide it anyway.
*/
- if(index > NUM_BLIT_PORTS) return;
+ if(index >= NUM_BLIT_PORTS) return;
REGION_EMPTY(pScrn->pScreen, &pPriv->blitClip[index]);
@@ -4698,7 +4698,7 @@ SISPutImageBlit_671(
int xoffset = 0, yoffset = 0;
Bool first;
- if(index > NUM_BLIT_PORTS)
+ if(index >= NUM_BLIT_PORTS)
return BadMatch;
if(!height || !width)
@@ -1,25 +0,0 @@
From 910073e0ab3a7bf9e5c9d97437a879d97edc2714 Mon Sep 17 00:00:00 2001
From: root <root@greentea.conectiva>
Date: Wed, 1 Jul 2009 09:59:39 -0400
Subject: [PATCH] Fix backlight off on SiS30x. video bridges.
---
src/init301.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/init301.c b/src/init301.c
index c179ae8..70a6aab 100644
--- a/src/init301.c
+++ b/src/init301.c
@@ -9261,7 +9261,7 @@ void
SiS_SiS30xBLOff(struct SiS_Private *SiS_Pr)
{
/* Switch off LCD backlight on SiS30xLV */
- SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFE);
+ SiS_SetRegAND(SiS_Pr->SiS_Part4Port,0x26,0xFC);
SiS_DDC2Delay(SiS_Pr,0xff00);
}
--
1.5.4.3
@@ -1,89 +0,0 @@
From 072af02d180c1965f30246ea269d208292ed6f05 Mon Sep 17 00:00:00 2001
From: root <root@greentea.conectiva>
Date: Wed, 1 Jul 2009 14:13:52 -0400
Subject: [PATCH] Add IgnoreHotkeyFlag driver option.
Some BIOSes do not set the hotkey flag correctly. Without this option
set, the driver won't change the mirroring state of LCD and VGA
connections if the BIOS did not set this flag.
---
src/sis.h | 3 +++
src/sis_driver.c | 2 +-
src/sis_opt.c | 13 ++++++++++++-
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/sis.h b/src/sis.h
index c50690b..c82c302 100644
--- a/src/sis.h
+++ b/src/sis.h
@@ -1565,6 +1565,9 @@ typedef struct {
/* Enable special 1366x768x60hz mode of LVDS panel. Ivans@090109 */
Bool EnablePanel_1366x768;
+
+ /* Ignore hotkey flag on capability changed APM events */
+ Bool IgnoreHotkeyFlag;
} SISRec, *SISPtr;
diff --git a/src/sis_driver.c b/src/sis_driver.c
index c935c11..2a5001c 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -11370,7 +11370,7 @@ SISPMEvent(int scrnIndex, pmEvent event, Bool undo)
inSISIDXREG(SISCR,0x3d,hotkeyflag);/*check device switch flag from BIOS CR 0x3d bit[2].*/
- if(hotkeyflag & 0x04)
+ if(pSiS->IgnoreHotkeyFlag || (hotkeyflag & 0x04))
{
SISCRT1PreInit(pScrn); /*redetecting CRT1, pSiS->CRT1detected will update.*/
diff --git a/src/sis_opt.c b/src/sis_opt.c
index 4b79f7f..7f726ea 100644
--- a/src/sis_opt.c
+++ b/src/sis_opt.c
@@ -159,7 +159,8 @@ typedef enum {
OPTION_PSEUDO,
OPTION_FUTRO_TIMING, /*chaoyu's modified: for Fuji-Siemans specail timing*/
OPTION_TRACEVGAMISCW,
- OPTION_USETIMING1366 /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/
+ OPTION_USETIMING1366, /*option of enable 1366x768 timing for LVDS panel. Ivans@090109*/
+ OPTION_IGNOREHOTKEYFLAG
} SISOpts;
static const OptionInfoRec SISOptions[] = {
@@ -305,6 +306,7 @@ static const OptionInfoRec SISOptions[] = {
{ OPTION_FUTRO_TIMING, "FutroTiming", OPTV_BOOLEAN, {0}, FALSE },/*chaoyu's modified: for Fuji-seimans special timing*/
{ OPTION_TRACEVGAMISCW, "TraceVgaMISCW", OPTV_BOOLEAN, {0}, FALSE },/*Ivans added for helping detected CRT1 using BIOS setting.*/
{ OPTION_USETIMING1366, "UseTiming1366", OPTV_BOOLEAN, {0}, FALSE },/*enable 1366 timing on LVDS, Ivans@090109*/
+ { OPTION_IGNOREHOTKEYFLAG, "IgnoreHotkeyFlag", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -624,6 +626,7 @@ SiSOptions(ScrnInfoPtr pScrn)
pSiS->CRT2IsScrn0 = FALSE;
#endif
#endif
+ pSiS->IgnoreHotkeyFlag = FALSE;
/* Chipset dependent defaults */
@@ -2419,6 +2422,14 @@ SiSOptions(ScrnInfoPtr pScrn)
pSiS->EnablePanel_1366x768 = TRUE;
}
}
+ /* Ignore hotkey flag for video switch, switch on every
+ * XF86_APM_CAPABILITY_CHANGED event */
+ if(xf86GetOptValBool(pSiS->Options, OPTION_IGNOREHOTKEYFLAG, &val)){
+ if(val){
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,"Ignoring hotkey flag\n");
+ pSiS->IgnoreHotkeyFlag = TRUE;
+ }
+ }
}
--
1.5.4.3
@@ -1,249 +0,0 @@
From ae1a7dcebdac904c8068cc38fb77648c548f5075 Mon Sep 17 00:00:00 2001
From: Paulo Ricardo Zanoni <pzanoni@mandriva.com>
Date: Thu, 22 Apr 2010 11:19:29 -0300
Subject: [PATCH] Remove useless loader symbol lists
Adaption of xf86-video-sis patch 74553b5ee476a0dd28e136f5a33a546ea0c3ef28
---
src/sis_driver.c | 150 +-----------------------------------------------------
1 files changed, 1 insertions(+), 149 deletions(-)
diff --git a/src/sis_driver.c b/src/sis_driver.c
index d56182f..96255d3 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -227,126 +227,6 @@ static PciChipsets XGIPciChipsets[] = {
{ -1, -1, RES_UNDEFINED }
};
-#ifdef SIS_USE_XAA
-static const char *xaaSymbols[] = {
- "XAACreateInfoRec",
- "XAADestroyInfoRec",
- "XAAHelpPatternROP",
- "XAAInit",
- NULL
-};
-#endif
-
-#ifdef SIS_USE_EXA
-static const char *exaSymbols[] = {
- "exaGetVersion",
- "exaDriverInit",
- "exaDriverFini",
- "exaOffscreenAlloc",
- "exaOffscreenFree",
- NULL
-};
-#endif
-
-static const char *fbSymbols[] = {
- "fbPictureInit",
- "fbScreenInit",
- NULL
-};
-
-static const char *shadowSymbols[] = {
- "ShadowFBInit",
- NULL
-};
-
-static const char *ramdacSymbols[] = {
- "xf86CreateCursorInfoRec",
- "xf86DestroyCursorInfoRec",
- "xf86InitCursor",
- NULL
-};
-
-static const char *ddcSymbols[] = {
- "xf86PrintEDID",
- "xf86InterpretEDID",
- NULL
-};
-
-static const char *int10Symbols[] = {
- "xf86FreeInt10",
- "xf86InitInt10",
- NULL
-};
-
-static const char *vbeSymbols[] = {
-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
- "VBEInit",
-#else
- "VBEExtendedInit",
-#endif
- "vbeDoEDID",
- "vbeFree",
- "VBEGetVBEInfo",
- "VBEFreeVBEInfo",
- "VBEGetModeInfo",
- "VBEFreeModeInfo",
- "VBESaveRestore",
- "VBESetVBEMode",
- "VBEGetVBEMode",
- "VBESetDisplayStart",
- "VBESetGetLogicalScanlineLength",
- NULL
-};
-
-#ifdef XF86DRI
-static const char *drmSymbols[] = {
- "drmAddMap",
- "drmAgpAcquire",
- "drmAgpRelease",
- "drmAgpAlloc",
- "drmAgpFree",
- "drmAgpBase",
- "drmAgpBind",
- "drmAgpUnbind",
- "drmAgpEnable",
- "drmAgpGetMode",
- "drmCtlInstHandler",
- "drmCtlUninstHandler",
- "drmGetInterruptFromBusID",
-#ifndef SISHAVEDRMWRITE
- "drmSiSAgpInit",
-#else
- "drmCommandWrite",
-#endif
-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0)
- "drmGetVersion",
- "drmFreeVersion",
-#endif
- NULL
-};
-
-static const char *driSymbols[] = {
- "DRICreateInfoRec",
- "DRIScreenInit",
- "DRIFinishScreenInit",
- "DRIDestroyInfoRec",
- "DRICloseScreen",
- "DRIGetSAREAPrivate",
- "DRILock",
- "DRIUnlock",
- "DRIQueryVersion",
- "GlxSetVisualConfigs",
- NULL
-};
-
-#ifdef XFree86LOADER
-static const char *driRefSymbols[] = {
- "DRICreatePCIBusID", /* not REQUIRED, but eventually referenced */
- NULL
-};
-#endif
-#endif /* XF86DRI */
-
#ifdef XFree86LOADER
static MODULESETUPPROTO(sisSetup);
@@ -382,19 +262,6 @@ sisSetup(pointer module, pointer opts, int *errmaj, int *errmin)
if(!setupDone) {
setupDone = TRUE;
xf86AddDriver(&SIS, module, SIS_HaveDriverFuncs);
- LoaderRefSymLists(fbSymbols,
-#ifdef SIS_USE_XAA
- xaaSymbols,
-#endif
-#ifdef SIS_USE_EXA
- exaSymbols,
-#endif
- shadowSymbols, ramdacSymbols,
- vbeSymbols, int10Symbols,
-#ifdef XF86DRI
- drmSymbols, driSymbols, driRefSymbols,
-#endif
- NULL);
return (pointer)TRUE;
}
@@ -1068,7 +935,6 @@ SiS_LoadInitVBE(ScrnInfoPtr pScrn)
return;
if(xf86LoadSubModule(pScrn, "vbe")) {
- xf86LoaderReqSymLists(vbeSymbols, NULL);
#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
pSiS->pVbe = VBEInit(pSiS->pInt, pSiS->pEnt->index);
#else
@@ -1092,7 +958,6 @@ SiSLoadInitDDCModule(ScrnInfoPtr pScrn)
return TRUE;
if(xf86LoadSubModule(pScrn, "ddc")) {
- xf86LoaderReqSymLists(ddcSymbols, NULL);
pSiS->haveDDC = TRUE;
return TRUE;
}
@@ -3586,7 +3451,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Initializing adapter through int10\n");
if(xf86LoadSubModule(pScrn, "int10")) {
- xf86LoaderReqSymLists(int10Symbols, NULL);
pSiS->pInt = xf86InitInt10(pSiS->pEnt->index);
} else {
SISErrorLog(pScrn, "Failed to load int10 module\n");
@@ -3683,7 +3547,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
SISErrorLog(pScrn, "Could not load ramdac module\n");
goto my_error_1;
}
- xf86LoaderReqSymLists(ramdacSymbols, NULL);
/* Set pScrn->monitor */
pScrn->monitor = pScrn->confScreen->monitor;
@@ -5868,22 +5731,18 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
SISErrorLog(pScrn, "Unsupported framebuffer bpp (%d)\n", pScrn->bitsPerPixel);
goto my_error_1;
}
- xf86LoaderReqSymLists(fbSymbols, NULL);
/* Load XAA/EXA (if needed) */
if(!pSiS->NoAccel) {
char *modName = NULL;
- const char **symNames = NULL;
#ifdef SIS_USE_XAA
if(!pSiS->useEXA) {
modName = "xaa";
- symNames = xaaSymbols;
}
#endif
#ifdef SIS_USE_EXA
if(pSiS->useEXA) {
modName = "exa";
- symNames = exaSymbols;
}
#endif
if(modName && (!xf86LoadSubModule(pScrn, modName))) {
@@ -5894,9 +5753,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
pSiS->NoXvideo = TRUE;
}
#endif
- } else if(symNames) {
- xf86LoaderReqSymLists(symNames, NULL);
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "2D acceleration enabled, modename %s\n",modName);
}
}
@@ -5909,8 +5765,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
pSiS->ShadowFB = FALSE;
pSiS->Rotate = pSiS->Reflect = 0;
}
- } else {
- xf86LoaderReqSymLists(shadowSymbols, NULL);
}
}
@@ -5920,9 +5774,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
if(!xf86LoaderCheckSymbol("DRIScreenInit")) {
if(xf86LoadSubModule(pScrn, "dri")) {
if(!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) {
- if(xf86LoadSubModule(pScrn, "glx")) {
- xf86LoaderReqSymLists(driSymbols, drmSymbols, NULL);
- } else {
+ if(! xf86LoadSubModule(pScrn, "glx")) {
SISErrorLog(pScrn, "Failed to load glx module\n");
}
}
--
1.6.4.4
@@ -1,45 +0,0 @@
From 59ea80738d22c69a2850fd7ff89bd75330cc310b Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 16 Jul 2009 01:55:25 +0000
Subject: Update to xextproto 7.1 support.
DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers
need to include dpmsconst.h if xextproto 7.1 is available.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
diff --git a/configure.ac b/configure.ac
index 089c5fa..f19c1b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,6 +62,10 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# Checks for pkg-config packages
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
+ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
+ HAVE_XEXTPROTO_71="no")
+AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
# Checks for libraries.
diff --git a/src/sis_driver.c b/src/sis_driver.c
index ef7b522..a1ced97 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -78,8 +78,13 @@
#include "globals.h"
+#ifdef HAVE_XEXTPROTO_71
+#include <X11/extensions/dpmsconst.h>
+#else
#define DPMS_SERVER
#include <X11/extensions/dpms.h>
+#endif
+
#ifdef XF86DRI
#include "dri.h"
--
cgit v0.8.3-6-g21f6
@@ -1,69 +0,0 @@
From 9e1ebb9530bbb71be7fcab9e6f8f9a475be72efe Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Tue, 28 Jul 2009 03:32:37 +0000
Subject: sis: update for resources/RAC API removal
---
diff --git a/src/sis.h b/src/sis.h
index 773f709..e859c78 100644
--- a/src/sis.h
+++ b/src/sis.h
@@ -77,7 +77,9 @@
#include "xf86Pci.h"
#include "xf86Priv.h"
#include "xf86_OSproc.h"
+#ifndef XSERVER_LIBPCIACCESS
#include "xf86Resources.h"
+#endif
#include "xf86.h"
#include "xf86PciInfo.h"
#include "xf86Cursor.h"
diff --git a/src/sis_driver.c b/src/sis_driver.c
index a1ced97..bb11cbb 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -49,7 +49,9 @@
#include "sis.h"
+#ifndef XSERVER_LIBPCIACCESS
#include "xf86RAC.h"
+#endif
#include "dixstruct.h"
#include "shadowfb.h"
#include "fb.h"
@@ -3552,6 +3554,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
SiS_MapVGAMem(pScrn);
#endif
+#ifndef XSERVER_LIBPCIACCESS
/* Set operating state */
/* 1. memory */
@@ -3581,6 +3584,8 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
/* Operations for which I/O access is required */
pScrn->racIoFlags = RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
+#endif
+
/* Load ramdac module */
if(!xf86LoadSubModule(pScrn, "ramdac")) {
SISErrorLog(pScrn, "Could not load ramdac module\n");
@@ -4424,6 +4429,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, from, "MMIO registers at 0x%lX (size %ldK)\n",
(ULong)pSiS->IOAddress, pSiS->mmioSize);
+#ifndef XSERVER_LIBPCIACCESS
/* Register the PCI-assigned resources */
if(xf86RegisterResources(pSiS->pEnt->index, NULL, ResExclusive)) {
SISErrorLog(pScrn, "PCI resource conflicts detected\n");
@@ -4435,6 +4441,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
SISFreeRec(pScrn);
return FALSE;
}
+#endif
from = X_PROBED;
if(pSiS->pEnt->device->videoRam != 0) {
--
cgit v0.8.3-6-g21f6
@@ -1,34 +0,0 @@
From 8c3eca873717e877048c2bde345c02b1e9099e50 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Tue, 28 Jul 2009 05:22:41 +0000
Subject: sis: change to using ABI version check
---
diff --git a/src/sis.h b/src/sis.h
index e859c78..400b83f 100644
--- a/src/sis.h
+++ b/src/sis.h
@@ -77,7 +77,7 @@
#include "xf86Pci.h"
#include "xf86Priv.h"
#include "xf86_OSproc.h"
-#ifndef XSERVER_LIBPCIACCESS
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
#endif
#include "xf86.h"
diff --git a/src/sis_driver.c b/src/sis_driver.c
index bb11cbb..994b02d 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -49,7 +49,7 @@
#include "sis.h"
-#ifndef XSERVER_LIBPCIACCESS
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86RAC.h"
#endif
#include "dixstruct.h"
--
cgit v0.8.3-6-g21f6
@@ -1,13 +0,0 @@
diff -Nrup xf86-video-sis-0.9.1/src/sis_hwmc.c patched/src/sis_hwmc.c
--- xf86-video-sis-0.9.1/src/sis_hwmc.c 2008-03-04 14:31:10.000000000 -0300
+++ patched/src/sis_hwmc.c 2010-04-20 17:10:21.073690167 -0300
@@ -43,7 +43,9 @@ THE USE OR OTHER DEALINGS IN THE SOFTWAR
#include "xf86.h"
#include "xf86_OSproc.h"
+#ifndef GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
+#endif
#include "compiler.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
@@ -1,186 +0,0 @@
diff -aur xf86-video-sis-0.9.1.pristine/configure.ac xf86-video-sis-0.9.1.new/configure.ac
--- xf86-video-sis-0.9.1.pristine/configure.ac 2012-03-17 04:52:35.410417514 +1100
+++ xf86-video-sis-0.9.1.new/configure.ac 2012-03-17 04:55:05.949412228 +1100
@@ -97,8 +97,8 @@
AM_CONDITIONAL(DRI, test x$DRI = xyes)
if test "$DRI" = yes; then
PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
- AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
- AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
+ AC_DEFINE(SISDRI,1,[Enable DRI driver support])
+ AC_DEFINE(SISDRI_DEVEL,1,[Enable developmental DRI driver support])
fi
# technically this should be a configure flag. meh.
diff -aur xf86-video-sis-0.9.1.pristine/src/sis_driver.c xf86-video-sis-0.9.1.new/src/sis_driver.c
--- xf86-video-sis-0.9.1.pristine/src/sis_driver.c 2012-03-17 04:52:35.380417061 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_driver.c 2012-03-17 04:57:54.118679619 +1100
@@ -115,7 +115,7 @@
#endif
-#ifdef XF86DRI
+#ifdef SISDRI
#include "dri.h"
#endif
@@ -5779,7 +5779,7 @@
}
/* Load the dri and glx modules if requested. */
-#ifdef XF86DRI
+#ifdef SISDRI
if(pSiS->loadDRI) {
if(!xf86LoaderCheckSymbol("DRIScreenInit")) {
if(xf86LoadSubModule(pScrn, "dri")) {
@@ -9469,7 +9469,7 @@
pSiS->cmdQueueLen = 0; /* Force an EngineIdle() at start */
-#ifdef XF86DRI
+#ifdef SISDRI
if(pSiS->loadDRI) {
#ifdef SISDUALHEAD
/* No DRI in dual head mode */
@@ -9802,7 +9802,7 @@
#endif
/* Finish DRI initialisation */
-#ifdef XF86DRI
+#ifdef SISDRI
if(pSiS->loadDRI) {
if(pSiS->directRenderingEnabled) {
/* Now that mi, drm and others have done their thing,
@@ -10359,7 +10359,7 @@
}
/* Mark for 3D full-screen bug */
/*
-#ifdef XF86DRI
+#ifdef SISDRI
if(pSiS->directRenderingEnabled) {
DRILock(screenInfo.screens[scrnIndex], DRM_LOCK_QUIESCENT);
}
@@ -10388,7 +10388,7 @@
#endif
/* Mark for 3D full-screen bug */
/*
-#ifdef XF86DRI
+#ifdef SISDRI
if(pSiS->directRenderingEnabled) {
DRIUnlock(screenInfo.screens[scrnIndex]);
}
@@ -10601,7 +10601,7 @@
/* Mark for 3D full-screen bug */
/*
-#ifdef XF86DRI
+#ifdef SISDRI
if(pSiS->directRenderingEnabled) {
DRIUnlock(screenInfo.screens[scrnIndex]);
}
@@ -10629,7 +10629,7 @@
{
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
-#ifdef XF86DRI
+#ifdef SISDRI
ScreenPtr pScreen;
if(pSiS->directRenderingEnabled) {
@@ -10715,7 +10715,7 @@
SiSCtrlExtUnregister(pSiS, pScrn->scrnIndex);
}
-#ifdef XF86DRI
+#ifdef SISDRI
if(pSiS->directRenderingEnabled) {
SISDRICloseScreen(pScreen);
pSiS->directRenderingEnabled = FALSE;
diff -aur xf86-video-sis-0.9.1.pristine/src/sis.h xf86-video-sis-0.9.1.new/src/sis.h
--- xf86-video-sis-0.9.1.pristine/src/sis.h 2012-03-17 04:52:35.357083354 +1100
+++ xf86-video-sis-0.9.1.new/src/sis.h 2012-03-17 04:56:36.814150836 +1100
@@ -215,7 +215,13 @@
#undef SISHAVEDRMWRITE
#undef SISNEWDRI
-#ifdef XF86DRI
+
+/* if the server was built without DRI support, force-disable DRI */
+#ifndef XF86DRI
+#undef SISDRI
+#endif
+
+#ifdef SISDRI
#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,2,99,3,0)
#define SISHAVEDRMWRITE
#endif
@@ -229,7 +235,7 @@
#include "dri.h"
#include "GL/glxint.h"
#include "sis_dri.h"
-#endif /* XF86DRI */
+#endif /* SISDRI */
#include "sis_config.h"
@@ -884,7 +890,7 @@
ScrnInfoPtr pScrn_2;
UChar *BIOS;
struct SiS_Private *SiS_Pr;
-#ifdef XF86DRI
+#ifdef SISDRI
SISAGPHTYPE agpHandle;
ULong agpAddr;
UChar *agpBase;
@@ -1291,7 +1297,7 @@
unsigned int cmdQueueSize_div2;
unsigned int cmdQueueSize_div4;
unsigned int cmdQueueSize_4_3;
-#ifdef XF86DRI
+#ifdef SISDRI
SISAGPHTYPE agpHandle;
ULong agpAddr;
UChar *agpBase;
@@ -1351,7 +1357,7 @@
/* DRI */
Bool loadDRI;
Bool DRIEnabled;
-#ifdef XF86DRI
+#ifdef SISDRI
Bool directRenderingEnabled;
DRIInfoPtr pDRIInfo;
int drmSubFD;
diff -aur xf86-video-sis-0.9.1.pristine/src/sis_hwmc.c xf86-video-sis-0.9.1.new/src/sis_hwmc.c
--- xf86-video-sis-0.9.1.pristine/src/sis_hwmc.c 2012-03-17 04:52:35.330416274 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_hwmc.c 2012-03-17 05:22:17.014636372 +1100
@@ -53,7 +53,9 @@
#include "regionstr.h"
#include "sis.h"
+#ifdef SISDRI
#include "sis_dri.h"
+#endif
#include "xf86xv.h"
#include "xf86xvmc.h"
diff -aur xf86-video-sis-0.9.1/src/sis_opt.c xf86-video-sis-0.9.1.new/src/sis_opt.c
--- xf86-video-sis-0.9.1/src/sis_opt.c 2012-03-17 07:36:12.285566154 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_opt.c 2012-03-17 07:34:59.451106475 +1100
@@ -494,7 +494,7 @@
pSiS->ShadowFB = FALSE;
pSiS->loadDRI = FALSE;
pSiS->DRIEnabled = FALSE;
-#ifdef XF86DRI
+#ifdef SISDRI
pSiS->agpWantedPages = AGP_PAGES;
#endif
pSiS->VESA = -1;
@@ -2160,7 +2160,7 @@
}
-#ifdef XF86DRI
+#ifdef SISDRI
/* DRI */
from = X_DEFAULT;
if(xf86GetOptValBool(pSiS->Options, OPTION_DRI, &pSiS->loadDRI)) {
File diff suppressed because it is too large Load Diff
@@ -1,64 +0,0 @@
diff -ruN xf86-video-sis-0.9.1.orig/src/sis300_accel.c xf86-video-sis-0.9.1/src/sis300_accel.c
--- xf86-video-sis-0.9.1.orig/src/sis300_accel.c 2012-11-26 12:27:14.151119857 +0100
+++ xf86-video-sis-0.9.1/src/sis300_accel.c 2012-11-26 12:36:19.227926454 +0100
@@ -1284,8 +1284,8 @@
/* Composite not supported */
/* Upload, download to/from Screen */
- pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
- pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
+ //pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
+ //pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
}
#else /*xorg>7.0*/
@@ -1332,8 +1332,8 @@
/* Composite not supported */
/* Upload, download to/from Screen */
- pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
- pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
+ //pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ //pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
}
#endif
diff -ruN xf86-video-sis-0.9.1.orig/src/sis310_accel.c xf86-video-sis-0.9.1/src/sis310_accel.c
--- xf86-video-sis-0.9.1.orig/src/sis310_accel.c 2012-11-26 12:27:14.151119857 +0100
+++ xf86-video-sis-0.9.1/src/sis310_accel.c 2012-11-26 12:35:58.597921440 +0100
@@ -1819,8 +1819,8 @@
#endif
/* Upload, download to/from Screen */
- pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
- pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
+ //pSiS->EXADriverPtr->accel.UploadToScreen = SiSUploadToScreen;
+ //pSiS->EXADriverPtr->accel.DownloadFromScreen = SiSDownloadFromScreen;
#else /*Xorg>= 7.0*/
@@ -1869,8 +1869,8 @@
#endif
/* Upload, download to/from Screen */
- pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
- pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
+ //pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ //pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
#endif /*end of Xorg>=7.0*/
}
diff -ruN xf86-video-sis-0.9.1.orig/src/sis_accel.c xf86-video-sis-0.9.1/src/sis_accel.c
--- xf86-video-sis-0.9.1.orig/src/sis_accel.c 2012-11-26 12:27:14.154453191 +0100
+++ xf86-video-sis-0.9.1/src/sis_accel.c 2012-11-26 12:36:44.464598873 +0100
@@ -862,8 +862,8 @@
/* Composite not supported */
/* Upload, download to/from Screen */
- pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
- pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
+ //pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ //pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
#endif /*end of Xorg>=7.0 EXA Setting*/
}
@@ -1,39 +0,0 @@
diff -aur xf86-video-sis-0.9.1.pristine/src/sispcirename.h xf86-video-sis-0.9.1.new/src/sispcirename.h
--- xf86-video-sis-0.9.1.pristine/src/sispcirename.h 2012-03-17 04:45:58.280942665 +1100
+++ xf86-video-sis-0.9.1.new/src/sispcirename.h 2012-03-17 04:48:28.539933065 +1100
@@ -29,11 +29,35 @@
#ifndef SISPCIRENAME_H
#define SISPCIRENAME_H
+#include <stdint.h>
+
enum region_type {
REGION_MEM,
REGION_IO
};
+#if (defined(__alpha__) || defined(__ia64__)) && defined (linux)
+#define PCI_DOM_MASK 0x01fful
+#else
+#define PCI_DOM_MASK 0x0ffu
+#endif
+
+#ifndef PCI_DOM_MASK
+# define PCI_DOM_MASK 0x0ffu
+#endif
+#define PCI_DOMBUS_MASK (((PCI_DOM_MASK) << 8) | 0x0ffu)
+
+static inline uint32_t
+pciTag(int busnum, int devnum, int funcnum)
+{
+ uint32_t tag;
+ tag = (busnum & (PCI_DOMBUS_MASK)) << 16;
+ tag |= (devnum & 0x00001fu) << 11;
+ tag |= (funcnum & 0x000007u) << 8;
+
+ return tag;
+}
+
#ifndef XSERVER_LIBPCIACCESS
/* pciVideoPtr */
@@ -1,18 +0,0 @@
--- xf86-video-sis-0.9.1/src/sis_driver.c 2013-03-10 13:02:25.000000000 +0100
+++ xf86-video-sis-0.9.1/src/sis_driver.c.new 2013-03-10 13:04:24.349309791 +0100
@@ -86,7 +86,6 @@
#include "fb.h"
#include "micmap.h"
#include "mipointer.h"
-#include "mibstore.h"
#include "edid.h"
#define SIS_NEED_inSISREG
@@ -9637,7 +9636,6 @@
}
pSiS->SiSFastVidCopyDone = TRUE;
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
@@ -1,11 +0,0 @@
--- xf86-video-sis-0.9.1/src/Makefile.am.0202~ 2007-05-30 04:12:02.000000000 +0200
+++ xf86-video-sis-0.9.1/src/Makefile.am 2012-10-19 23:24:31.954954666 +0200
@@ -23,7 +23,7 @@
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
# _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
-AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@
+AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -DSIS_USE_EXA
sis_drv_la_LTLIBRARIES = sis_drv.la
sis_drv_la_LDFLAGS = -module -avoid-version
sis_drv_ladir = @moduledir@/drivers
@@ -1,654 +0,0 @@
diff -ur xf86-video-sis-0.9.1/src/sis_config.h xf86-video-sis-0.9.1-bero/src/sis_config.h
--- xf86-video-sis-0.9.1/src/sis_config.h 2007-05-30 04:12:02.000000000 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_config.h 2012-10-19 23:27:16.178901583 +0200
@@ -67,7 +67,7 @@
#endif
#if 1
-#define SIS_USE_XAA /* Include support for XAA */
+#undef SIS_USE_XAA /* Don't include support for XAA, current xorg servers don't support it */
#endif
#ifdef SISVRAMQ
diff -ur xf86-video-sis-0.9.1/src/sis_dga.c xf86-video-sis-0.9.1-bero/src/sis_dga.c
--- xf86-video-sis-0.9.1/src/sis_dga.c 2012-10-20 00:10:10.325720321 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_dga.c 2012-10-19 23:34:00.514846689 +0200
@@ -421,8 +421,8 @@
pScrn->currentMode = pSiS->CurrentLayout.mode;
pSiS->DGAactive = FALSE;
- (*pScrn->SwitchMode)(index, pScrn->currentMode, 0);
- (*pScrn->AdjustFrame)(index, pScrn->frameX0, pScrn->frameY0, 0);
+ (*pScrn->SwitchMode)(pScrn, pScrn->currentMode);
+ (*pScrn->AdjustFrame)(pScrn, pScrn->frameX0, pScrn->frameY0);
} else { /* set new mode */
@@ -444,10 +444,10 @@
pSiS->CurrentLayout.displayWidth = pMode->bytesPerScanline / (pMode->bitsPerPixel >> 3);
pSiS->CurrentLayout.displayHeight = pMode->imageHeight;
- (*pScrn->SwitchMode)(index, pMode->mode, 0);
+ (*pScrn->SwitchMode)(pScrn, pMode->mode);
/* Adjust viewport to 0/0 after mode switch */
/* This fixes the vmware-in-dualhead problems */
- (*pScrn->AdjustFrame)(index, 0, 0, 0);
+ (*pScrn->AdjustFrame)(pScrn, 0, 0);
pSiS->CurrentLayout.DGAViewportX = pSiS->CurrentLayout.DGAViewportY = 0;
}
@@ -471,7 +471,7 @@
){
SISPtr pSiS = SISPTR(pScrn);
- (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags);
+ (*pScrn->AdjustFrame)(pScrn, x, y);
pSiS->DGAViewportStatus = 0; /* There are never pending Adjusts */
pSiS->CurrentLayout.DGAViewportX = x;
pSiS->CurrentLayout.DGAViewportY = y;
diff -ur xf86-video-sis-0.9.1/src/sis_driver.c xf86-video-sis-0.9.1-bero/src/sis_driver.c
--- xf86-video-sis-0.9.1/src/sis_driver.c 2012-10-20 00:10:10.379719645 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_driver.c 2012-10-20 00:06:35.196409807 +0200
@@ -8546,9 +8546,9 @@
/* No need to go through pScrn->AdjustFrame; the coords
* didn't change
*/
- SISAdjustFrame(pSiSEnt->pScrn_2->scrnIndex,
+ SISAdjustFrame(pSiSEnt->pScrn_2,
pSiSEnt->pScrn_2->frameX0,
- pSiSEnt->pScrn_2->frameY0, 0);
+ pSiSEnt->pScrn_2->frameY0);
}
} else {
/* Head 2 (slave) is always CRT1 */
@@ -8565,9 +8565,9 @@
/* No need to go through pScrn->AdjustFrame; the coords
* didn't change
*/
- SISAdjustFrame(pSiSEnt->pScrn_1->scrnIndex,
+ SISAdjustFrame(pSiSEnt->pScrn_1,
pSiSEnt->pScrn_1->frameX0,
- pSiSEnt->pScrn_1->frameY0, 0);
+ pSiSEnt->pScrn_1->frameY0);
}
}
@@ -8613,7 +8613,7 @@
SiS_SiSLVDSBackLight(pSiS, TRUE);
- (*pScrn->AdjustFrame)(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ (*pScrn->AdjustFrame)(pScrn, pScrn->frameX0, pScrn->frameY0);
} else {
#endif
@@ -8723,14 +8723,13 @@
/*******************************************************/
static void
-SISBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
+SISBlockHandler(ScreenPtr pScreen, pointer pTimeout, pointer pReadmask)
{
- ScreenPtr pScreen = screenInfo.screens[i];
- ScrnInfoPtr pScrn = xf86Screens[i];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
SISPtr pSiS = SISPTR(pScrn);
pScreen->BlockHandler = pSiS->BlockHandler;
- (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
+ (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
pScreen->BlockHandler = SISBlockHandler;
#ifdef SISDUALHEAD
@@ -8747,7 +8746,7 @@
#endif
if(pSiS->AdjustFramePending && pSiS->AdjustFrame) {
- (*pSiS->AdjustFrame)(i, pSiS->AdjustFrameX, pSiS->AdjustFrameY, pSiS->AdjustFrameFlags);
+ (*pSiS->AdjustFrame)(pScrn, pSiS->AdjustFrameX, pSiS->AdjustFrameY);
/* Reset it since Xv insists on installing its own every time. */
pScrn->AdjustFrame = SISNewAdjustFrame;
pSiS->AdjustFramePending = FALSE;
@@ -9230,7 +9229,7 @@
* depth, bitsPerPixel)
*/
static Bool
-SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+SISScreenInit(ScreenPtr pScreen, int argc, char **argv)
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
SISPtr pSiS = SISPTR(pScrn);
@@ -9409,7 +9408,7 @@
pScrn->frameY1 = pScrn->frameY0 + pScrn->currentMode->VDisplay - 1;
}
}
- SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
/* Reset visual list. */
miClearVisualTypes();
@@ -9841,7 +9840,7 @@
pSiS->SiS_SD_Flags |= SiS_SD_PSEUDOXINERAMA;
if(pSiS->HaveNonRect) {
/* Reset the viewport (now eventually non-recangular) */
- SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
}
}
} else {
@@ -10177,9 +10176,8 @@
}
static ModeStatus
-SISValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
+SISValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
if(pSiS->UseVESA) {
@@ -10335,9 +10333,8 @@
#endif
Bool
-SISSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+SISSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
/* This is part 2 of the ugly hack in sis_shadow.c:
* There we set pScrn->currentMode to something
@@ -10353,7 +10350,7 @@
*/
if(!pSiS->skipswitchcheck) {
- if(SISValidMode(scrnIndex, mode, TRUE, flags) != MODE_OK) {
+ if(SISValidMode(pScrn, mode, TRUE, 0) != MODE_OK) {
return FALSE;
}
}
@@ -10368,7 +10365,7 @@
(*pSiS->SyncAccel)(pScrn);
- if(!(SISModeInit(xf86Screens[scrnIndex], mode)))
+ if(!(SISModeInit(pScrn, mode)))
return FALSE;
/* Since RandR (indirectly) uses SwitchMode(), we need to
@@ -10485,21 +10482,18 @@
}
static void
-SISNewAdjustFrame(int scrnIndex, int x, int y, int flags)
+SISNewAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
pSiS->AdjustFramePending = TRUE;
pSiS->AdjustFrameX = x;
pSiS->AdjustFrameY = y;
- pSiS->AdjustFrameFlags = flags;
}
void
-SISAdjustFrame(int scrnIndex, int x, int y, int flags)
+SISAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
UChar temp, cr11backup;
ULong base;
@@ -10511,7 +10505,7 @@
#ifdef SISMERGED
if(pSiS->MergedFB) {
- SISMFBAdjustFrame(scrnIndex, x, y, flags);
+ SISMFBAdjustFrame(pScrn, x, y);
return;
}
#endif
@@ -10578,9 +10572,8 @@
static Bool
-SISEnterVT(int scrnIndex, int flags)
+SISEnterVT(ScrnInfoPtr pScrn)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
SiS_SiSFB_Lock(pScrn, TRUE);
@@ -10596,7 +10589,7 @@
/* No need to go through pScrn->AdjustFrame; Xv's
* EnterVT handles the overlay(s) anyway.
*/
- SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
/* Mark for 3D full-screen bug */
@@ -10625,15 +10618,14 @@
static void
-SISLeaveVT(int scrnIndex, int flags)
+SISLeaveVT(ScrnInfoPtr pScrn)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
#ifdef SISDRI
ScreenPtr pScreen;
if(pSiS->directRenderingEnabled) {
- pScreen = screenInfo.screens[scrnIndex];
+ pScreen = xf86ScreenToScrn(pScrn);
/* Mark for 3D full-screen bug */
/* DRILock(pScreen, 0); */
}
@@ -10702,9 +10694,9 @@
static Bool
-SISCloseScreen(int scrnIndex, ScreenPtr pScreen)
+SISCloseScreen(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
SISPtr pSiS = SISPTR(pScrn);
#ifdef SISDUALHEAD
SISEntPtr pSiSEnt = pSiS->entityPrivate;
@@ -10872,7 +10864,7 @@
pScreen->CloseScreen = pSiS->CloseScreen;
- return(*pScreen->CloseScreen)(scrnIndex, pScreen);
+ return(*pScreen->CloseScreen)(pScreen);
}
@@ -10883,10 +10875,9 @@
/* Free up any per-generation data structures */
static void
-SISFreeScreen(int scrnIndex, int flags)
+SISFreeScreen(ScrnInfoPtr pScrn)
{
#ifdef SIS_NEED_MAP_IOP
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
if(pSiS) {
@@ -10900,7 +10891,7 @@
}
#endif
- SISFreeRec(xf86Screens[scrnIndex]);
+ SISFreeRec(pScrn);
}
@@ -11134,7 +11125,7 @@
pSiS->VBFlags3 = pSiS->VBFlags_backup3 = newvbflags3;
pSiS->skipswitchcheck = TRUE;
- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex,pScrn->currentMode,0)))
+ if(!((*pScrn->SwitchMode)(pScrn,pScrn->currentMode)))
{
pSiS->skipswitchcheck = FALSE;
return FALSE;
@@ -11143,7 +11134,7 @@
/*xf86DrvMsg(0,X_INFO,"frameX0=%d, frameY0=%d.\n",pScrn->frameX0,pScrn->frameY0);*/
- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0,0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
return TRUE;
@@ -11204,14 +11195,14 @@
(*pSiS->SyncAccel)(pScrn);
pSiS->skipswitchcheck = TRUE;
- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex,pScrn->currentMode,0)))
+ if(!((*pScrn->SwitchMode)(pScrn,pScrn->currentMode)))
{
pSiS->skipswitchcheck = FALSE;
return FALSE;
}
pSiS->skipswitchcheck = FALSE;
- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0,0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
return TRUE;
}
@@ -11259,7 +11250,7 @@
xf86ZoomViewport(pScreen,1);
- SISAdjustFrame(pScrn->scrnIndex,0,0,0);
+ SISAdjustFrame(pScrn,0,0);
return TRUE;
@@ -11268,9 +11259,8 @@
/**************************************************************************/
static Bool
-SISPMEvent(int scrnIndex, pmEvent event, Bool undo)
+SISPMEvent(ScrnInfoPtr pScrn, pmEvent event, Bool undo)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn);
unsigned char hotkeyflag = 0;/*check BIOS flag.*/
unsigned char checkflag = 0;/*just for test using.*/
@@ -11287,13 +11277,13 @@
{
xf86DrvMsg(0,X_INFO,"PM_EVENT:event=%d,undo=%d.\n",event,undo);
if (!undo && !pSiS->suspended) {
- pScrn->LeaveVT(scrnIndex, 0);
+ pScrn->LeaveVT(pScrn);
pSiS->suspended = TRUE;
sleep(0);
}
else if (undo && pSiS->suspended) {
sleep(0);
- pScrn->EnterVT(scrnIndex, 0);
+ pScrn->EnterVT(pScrn);
pSiS->suspended = FALSE;
}
}
@@ -11305,7 +11295,7 @@
{
if (pSiS->suspended) {
sleep(0);
- pScrn->EnterVT(scrnIndex, 0);
+ pScrn->EnterVT(pScrn);
pSiS->suspended = FALSE;
SaveScreens(SCREEN_SAVER_FORCER, ScreenSaverReset);
}
diff -ur xf86-video-sis-0.9.1/src/sis_driver.h xf86-video-sis-0.9.1-bero/src/sis_driver.h
--- xf86-video-sis-0.9.1/src/sis_driver.h 2012-10-20 00:10:10.296720683 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_driver.h 2012-10-20 00:04:47.586755113 +0200
@@ -770,14 +770,14 @@
static void SISIdentify(int flags);
static Bool SISProbe(DriverPtr drv, int flags);
static Bool SISPreInit(ScrnInfoPtr pScrn, int flags);
-static Bool SISScreenInit(int Index, ScreenPtr pScreen, int argc, char **argv);
-static Bool SISEnterVT(int scrnIndex, int flags);
-static void SISLeaveVT(int scrnIndex, int flags);
-static Bool SISCloseScreen(int scrnIndex, ScreenPtr pScreen);
+static Bool SISScreenInit(ScreenPtr pScreen, int argc, char **argv);
+static Bool SISEnterVT(ScrnInfoPtr pScrn);
+static void SISLeaveVT(ScrnInfoPtr pScrn);
+static Bool SISCloseScreen(ScreenPtr pScreen);
static Bool SISSaveScreen(ScreenPtr pScreen, int mode);
-static Bool SISSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
-static void SISNewAdjustFrame(int scrnIndex, int x, int y, int flags);
-static Bool SISPMEvent(int scrnIndex, pmEvent event, Bool undo);/*APM-ACPI, adding by Ivans.*/
+static Bool SISSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
+static void SISNewAdjustFrame(ScrnInfoPtr pScrn, int x, int y);
+static Bool SISPMEvent(ScrnInfoPtr pScrn, pmEvent event, Bool undo);/*APM-ACPI, adding by Ivans.*/
#if XSERVER_LIBPCIACCESS
static Bool SIS_pci_probe(DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data);
@@ -791,8 +791,8 @@
#ifdef SISDUALHEAD
static Bool SISSaveScreenDH(ScreenPtr pScreen, int mode);
#endif
-static void SISFreeScreen(int scrnIndex, int flags);
-static ModeStatus SISValidMode(int scrnIndex, DisplayModePtr mode,
+static void SISFreeScreen(ScrnInfoPtr pScrn);
+static ModeStatus SISValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode,
Bool verbose, int flags);
#ifdef SIS_HAVE_RR_FUNC
#ifdef SIS_HAVE_DRIVER_FUNC
@@ -811,7 +811,7 @@
static Bool SISMapIOPMem(ScrnInfoPtr pScrn);
static Bool SISUnmapIOPMem(ScrnInfoPtr pScrn);
#endif
-void SISAdjustFrame(int scrnIndex, int x, int y, int flags);
+void SISAdjustFrame(ScrnInfoPtr pScrn, int x, int y);
UChar SISSearchCRT1Rate(ScrnInfoPtr pScrn, DisplayModePtr mode);
UShort SiS_CheckModeCRT1(ScrnInfoPtr pScrn, DisplayModePtr mode,
unsigned int VBFlags, unsigned int VBFlags3, Bool hcm);
@@ -858,7 +858,7 @@
extern Bool SiSVGASaveScreen(ScreenPtr pScreen, int mode);
/* shadow, randr, randr-rotation */
-extern void SISPointerMoved(int index, int x, int y);
+extern void SISPointerMoved(ScrnInfoPtr pScrn, int x, int y);
extern void SISRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
extern void SISRefreshAreaReflect(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
extern void SISRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
@@ -922,8 +922,8 @@
extern Bool SiSMFBRebuildModelist(ScrnInfoPtr pScrn, ClockRangePtr clockRanges);
extern Bool SiSMFBRevalidateModelist(ScrnInfoPtr pScrn, ClockRangePtr clockRanges);
extern void SiSMFBSetDpi(ScrnInfoPtr pScrn1, ScrnInfoPtr pScrn2, SiSScrn2Rel srel);
-extern void SISMFBPointerMoved(int scrnIndex, int x, int y);
-extern void SISMFBAdjustFrame(int scrnIndex, int x, int y, int flags);
+extern void SISMFBPointerMoved(ScrnInfoPtr pScrn, int x, int y);
+extern void SISMFBAdjustFrame(ScrnInfoPtr pScrn, int x, int y);
#ifdef SISXINERAMA
extern void SiSXineramaExtensionInit(ScrnInfoPtr pScrn);
extern Bool SiSnoPanoramiXExtension;
diff -ur xf86-video-sis-0.9.1/src/sis.h xf86-video-sis-0.9.1-bero/src/sis.h
--- xf86-video-sis-0.9.1/src/sis.h 2012-10-20 00:10:10.361719870 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis.h 2012-10-19 23:56:46.635767827 +0200
@@ -73,6 +73,7 @@
#include "xf86Cursor.h"
#include "xf86cmap.h"
#include "vbe.h"
+#include "xf86fbman.h"
/*I.L. modified*/
#include "sispcirename.h"
@@ -241,7 +242,7 @@
#define SIS_MAX_SUBPICTURES 2
#if !defined(SIS_USE_XAA) && !defined(SIS_USE_EXA)
-#define SIS_USE_XAA
+#define SIS_USE_EXA
#endif
#ifdef SIS_USE_XAA
@@ -1319,8 +1320,8 @@
#ifdef SIS_USE_XAA
void (*RenderCallback)(ScrnInfoPtr);
Time RenderTime;
- FBLinearPtr AccelLinearScratch;
#endif
+ FBLinearPtr AccelLinearScratch;
#ifdef SIS_USE_EXA
void (*ExaRenderCallback)(ScrnInfoPtr);
Time ExaRenderTime;
@@ -1342,7 +1343,7 @@
int SiSDPIVX, SiSDPIVY;
int virtualX, virtualY;
int Rotate, Reflect;
- void (*PointerMoved)(int index, int x, int y);
+ void (*PointerMoved)(ScrnInfoPtr pScrn, int x, int y);
/* ShadowFB support */
Bool ShadowFB;
@@ -1420,7 +1421,6 @@
Bool AdjustFramePending;
int AdjustFrameX;
int AdjustFrameY;
- int AdjustFrameFlags;
/* DGA */
DGAModePtr DGAModes;
diff -ur xf86-video-sis-0.9.1/src/sis_hwmc.c xf86-video-sis-0.9.1-bero/src/sis_hwmc.c
--- xf86-video-sis-0.9.1/src/sis_hwmc.c 2012-10-20 00:10:10.348720033 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_hwmc.c 2012-10-19 23:38:25.482534137 +0200
@@ -58,8 +58,10 @@
#include "xf86xvmc.h"
#include <X11/extensions/Xv.h>
#include <X11/extensions/XvMC.h>
+#ifdef SIS_USE_XAA
#include "xaa.h"
#include "xaalocal.h"
+#endif
#include "dixstruct.h"
#include "fourcc.h"
#include "sis_common.h"
diff -ur xf86-video-sis-0.9.1/src/sis_mergedfb.c xf86-video-sis-0.9.1-bero/src/sis_mergedfb.c
--- xf86-video-sis-0.9.1/src/sis_mergedfb.c 2012-10-20 00:10:10.351719996 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_mergedfb.c 2012-10-20 00:07:08.475993754 +0200
@@ -1706,7 +1706,7 @@
/* Need to go the official way to avoid hw access and
* to update Xv's overlays
*/
- (pScrn1->AdjustFrame)(scrnIndex, pScrn1->frameX0, pScrn1->frameY0, 0);
+ (pScrn1->AdjustFrame)(pScrn1, pScrn1->frameX0, pScrn1->frameY0);
}
}
diff -ur xf86-video-sis-0.9.1/src/sis_shadow.c xf86-video-sis-0.9.1-bero/src/sis_shadow.c
--- xf86-video-sis-0.9.1/src/sis_shadow.c 2007-05-30 04:12:02.000000000 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_shadow.c 2012-10-20 00:08:12.018199367 +0200
@@ -81,11 +81,11 @@
}
if(framechanged && pScrn->AdjustFrame)
- pScrn->AdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ pScrn->AdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
} else {
- (*pSiS->PointerMoved)(index, x, y);
+ (*pSiS->PointerMoved)(pScrn, x, y);
}
}
diff -ur xf86-video-sis-0.9.1/src/sis_utility.c xf86-video-sis-0.9.1-bero/src/sis_utility.c
--- xf86-video-sis-0.9.1/src/sis_utility.c 2012-10-20 00:10:10.352719983 +0200
+++ xf86-video-sis-0.9.1-bero/src/sis_utility.c 2012-10-20 00:09:45.884025883 +0200
@@ -273,7 +273,7 @@
unsigned int VBFlags, unsigned int VBFlags3, Bool hcm);
extern UShort SiS_CheckModeCRT2(ScrnInfoPtr pScrn, DisplayModePtr mode,
unsigned int VBFlags, unsigned int VBFlags3, Bool hcm);
-extern void SISAdjustFrame(int scrnIndex, int x, int y, int flags);
+extern void SISAdjustFrame(ScrnInfoPtr pScrn, int x, int y);
extern float SiSCalcVRate(DisplayModePtr mode);
extern void SiS_UpdateGammaCRT2(ScrnInfoPtr pScrn);
#ifdef SISGAMMARAMP
@@ -427,7 +427,7 @@
(*pSiS->SyncAccel)(pScrn);
pSiS->skipswitchcheck = TRUE;
- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex, pScrn->currentMode, 0))) {
+ if(!((*pScrn->SwitchMode)(pScrn, pScrn->currentMode))) {
pSiS->skipswitchcheck = FALSE;
return FALSE;
}
@@ -436,7 +436,7 @@
/* No need to go through pScrn->AdjustFrame; the coords
* didn't change
*/
- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
return TRUE;
}
@@ -480,7 +480,7 @@
/* Sync the accelerators */
(*pSiS->SyncAccel)(pScrn);
pSiS->skipswitchcheck = TRUE;
- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex, pScrn->currentMode, 0))) {
+ if(!((*pScrn->SwitchMode)(pScrn, pScrn->currentMode))) {
pSiS->skipswitchcheck = FALSE;
return FALSE;
}
@@ -489,7 +489,7 @@
/* No need to go through pScrn->AdjustFrame; the coords
* didn't change
*/
- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
}
return TRUE;
@@ -624,7 +624,7 @@
pSiS->VBFlags3 = pSiS->VBFlags_backup3 = newvbflags3;
pSiS->skipswitchcheck = TRUE;
- if(!(pScrn->SwitchMode(pScrn->scrnIndex, pScrn->currentMode, 0))) {
+ if(!(pScrn->SwitchMode(pScrn, pScrn->currentMode))) {
pSiS->skipswitchcheck = FALSE;
return FALSE;
}
@@ -633,7 +633,7 @@
/* No need to go through pScrn->AdjustFrame; the coords
* didn't change
*/
- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
return TRUE;
}
--- xf86-video-sis-0.9.1/src/sis6326_video.c.bero 2012-10-20 00:13:59.712852587 +0200
+++ xf86-video-sis-0.9.1/src/sis6326_video.c 2012-10-20 00:15:51.035460862 +0200
@@ -72,7 +72,7 @@ static void SIS6326QueryBestSize(ScrnIn
short, unsigned int *,unsigned int *, pointer);
static int SIS6326PutImage( ScrnInfoPtr,
short, short, short, short, short, short, short, short,
- int, unsigned char*, short, short, Bool, RegionPtr, pointer);
+ int, unsigned char*, short, short, Bool, RegionPtr, pointer, DrawablePtr);
static int SIS6326QueryImageAttributes(ScrnInfoPtr,
int, unsigned short *, unsigned short *, int *, int *);
static void SIS6326VideoTimerCallback(ScrnInfoPtr pScrn, Time now);
@@ -1231,7 +1231,7 @@ SIS6326PutImage(
int id, unsigned char* buf,
short width, short height,
Bool sync,
- RegionPtr clipBoxes, pointer data
+ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw
){
SISPtr pSiS = SISPTR(pScrn);
SISPortPrivPtr pPriv = (SISPortPrivPtr)data;
--- xf86-video-sis-0.9.1/src/sis_video.c.bero 2012-10-20 00:16:13.212183614 +0200
+++ xf86-video-sis-0.9.1/src/sis_video.c 2012-10-20 00:20:38.099872064 +0200
@@ -3948,7 +3948,7 @@ SISPutImage(
int id, UChar *buf,
short width, short height,
Bool sync,
- RegionPtr clipBoxes, pointer data
+ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw
){
SISPtr pSiS = SISPTR(pScrn);
SISPortPrivPtr pPriv = (SISPortPrivPtr)data;
@@ -4089,8 +4089,11 @@ SISPutImage(
static int
SISReputImage(
ScrnInfoPtr pScrn,
+ short src_x, short src_y,
short drw_x, short drw_y,
- RegionPtr clipBoxes, pointer data
+ short src_w, short src_h,
+ short drw_w, short drw_h,
+ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw
){
SISPtr pSiS = SISPTR(pScrn);
SISPortPrivPtr pPriv = (SISPortPrivPtr)data;
--- xf86-video-sis-0.9.1/src/sis_video.h.bero 2012-10-20 00:16:58.076622733 +0200
+++ xf86-video-sis-0.9.1/src/sis_video.h 2012-10-20 00:20:18.443117807 +0200
@@ -107,10 +107,13 @@ static void SISQueryBestSize(ScrnInfoPt
short, unsigned int *,unsigned int *, pointer);
static int SISPutImage(ScrnInfoPtr,
short, short, short, short, short, short, short, short,
- int, UChar *, short, short, Bool, RegionPtr, pointer);
+ int, UChar *, short, short, Bool, RegionPtr, pointer, DrawablePtr);
static int SISReputImage(ScrnInfoPtr pScrn,
+ short src_x, short src_y,
short drw_x, short drw_y,
- RegionPtr clipBoxes, pointer data);
+ short src_w, short src_h,
+ short drw_w, short drw_h,
+ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw);
static int SISQueryImageAttributes(ScrnInfoPtr,
int, UShort *, UShort *, int *, int *);
static void SISVideoTimerCallback(ScrnInfoPtr pScrn, Time now);
@@ -1,2 +0,0 @@
10396350
10396351
@@ -1,256 +0,0 @@
diff -aur xf86-video-sis-0.9.1.pristine/src/sis.h xf86-video-sis-0.9.1.new/src/sis.h
--- xf86-video-sis-0.9.1.pristine/src/sis.h 2012-03-17 05:32:39.414261430 +1100
+++ xf86-video-sis-0.9.1.new/src/sis.h 2012-03-17 05:28:34.100467696 +1100
@@ -35,6 +35,10 @@
#ifndef _SIS_H_
#define _SIS_H_
+// XXX!!!
+#define _swapl(x, n) swapl(x)
+#define _swaps(x, n) swaps(x)
+
#define SISDRIVERVERSIONYEAR 6
#define SISDRIVERVERSIONMONTH 10
#define SISDRIVERVERSIONDAY 17
diff -aur xf86-video-sis-0.9.1.pristine/src/sis_mergedfb.c xf86-video-sis-0.9.1.new/src/sis_mergedfb.c
--- xf86-video-sis-0.9.1.pristine/src/sis_mergedfb.c 2012-03-17 05:42:19.423231119 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_mergedfb.c 2012-03-17 06:01:18.070840068 +1100
@@ -2472,10 +2472,10 @@
rep.majorVersion = SIS_XINERAMA_MAJOR_VERSION;
rep.minorVersion = SIS_XINERAMA_MINOR_VERSION;
if(client->swapped) {
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.majorVersion, n);
- swaps(&rep.minorVersion, n);
+ _swaps(&rep.sequenceNumber, n);
+ _swapl(&rep.length, n);
+ _swaps(&rep.majorVersion, n);
+ _swaps(&rep.minorVersion, n);
}
WriteToClient(client, sizeof(xPanoramiXQueryVersionReply), (char *)&rep);
return (client->noClientException);
@@ -2498,9 +2498,9 @@
rep.sequenceNumber = client->sequence;
rep.state = !SiSnoPanoramiXExtension;
if(client->swapped) {
- swaps (&rep.sequenceNumber, n);
- swapl (&rep.length, n);
- swaps (&rep.state, n);
+ _swaps (&rep.sequenceNumber, n);
+ _swapl (&rep.length, n);
+ //_swaps (&rep.state, n); // XXX???
}
WriteToClient(client, sizeof(xPanoramiXGetStateReply), (char *)&rep);
return client->noClientException;
@@ -2523,9 +2523,9 @@
rep.sequenceNumber = client->sequence;
rep.ScreenCount = SiSXineramaNumScreens;
if(client->swapped) {
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.ScreenCount, n);
+ _swaps(&rep.sequenceNumber, n);
+ _swapl(&rep.length, n);
+ //_swaps(&rep.ScreenCount, n); // XXX???
}
WriteToClient(client, sizeof(xPanoramiXGetScreenCountReply), (char *)&rep);
return client->noClientException;
@@ -2549,10 +2549,10 @@
rep.width = SiSXineramadataPtr[stuff->screen].width;
rep.height = SiSXineramadataPtr[stuff->screen].height;
if(client->swapped) {
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.width, n);
- swaps(&rep.height, n);
+ _swaps(&rep.sequenceNumber, n);
+ _swapl(&rep.length, n);
+ _swapl(&rep.width, n);
+ _swapl(&rep.height, n);
}
WriteToClient(client, sizeof(xPanoramiXGetScreenSizeReply), (char *)&rep);
return client->noClientException;
@@ -2571,9 +2571,9 @@
rep.state = !SiSnoPanoramiXExtension;
if(client->swapped) {
register int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swapl(&rep.state, n);
+ _swaps(&rep.sequenceNumber, n);
+ _swapl(&rep.length, n);
+ _swapl(&rep.state, n);
}
WriteToClient(client, sizeof(xXineramaIsActiveReply), (char *) &rep);
return client->noClientException;
@@ -2592,9 +2592,9 @@
rep.length = rep.number * sz_XineramaScreenInfo >> 2;
if(client->swapped) {
register int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swapl(&rep.number, n);
+ _swaps(&rep.sequenceNumber, n);
+ _swapl(&rep.length, n);
+ _swapl(&rep.number, n);
}
WriteToClient(client, sizeof(xXineramaQueryScreensReply), (char *)&rep);
@@ -2609,10 +2609,10 @@
scratch.height = SiSXineramadataPtr[i].height;
if(client->swapped) {
register int n;
- swaps(&scratch.x_org, n);
- swaps(&scratch.y_org, n);
- swaps(&scratch.width, n);
- swaps(&scratch.height, n);
+ _swaps(&scratch.x_org, n);
+ _swaps(&scratch.y_org, n);
+ _swaps(&scratch.width, n);
+ _swaps(&scratch.height, n);
}
WriteToClient(client, sz_XineramaScreenInfo, (char *)&scratch);
}
@@ -2763,7 +2763,7 @@
{
REQUEST(xPanoramiXQueryVersionReq);
register int n;
- swaps(&stuff->length,n);
+ _swaps(&stuff->length,n);
REQUEST_SIZE_MATCH (xPanoramiXQueryVersionReq);
return SiSProcXineramaQueryVersion(client);
}
@@ -2773,7 +2773,7 @@
{
REQUEST(xPanoramiXGetStateReq);
register int n;
- swaps (&stuff->length, n);
+ _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
return SiSProcXineramaGetState(client);
}
@@ -2783,7 +2783,7 @@
{
REQUEST(xPanoramiXGetScreenCountReq);
register int n;
- swaps (&stuff->length, n);
+ _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
return SiSProcXineramaGetScreenCount(client);
}
@@ -2793,7 +2793,7 @@
{
REQUEST(xPanoramiXGetScreenSizeReq);
register int n;
- swaps (&stuff->length, n);
+ _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
return SiSProcXineramaGetScreenSize(client);
}
@@ -2803,7 +2803,7 @@
{
REQUEST(xXineramaIsActiveReq);
register int n;
- swaps (&stuff->length, n);
+ _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xXineramaIsActiveReq);
return SiSProcXineramaIsActive(client);
}
@@ -2813,7 +2813,7 @@
{
REQUEST(xXineramaQueryScreensReq);
register int n;
- swaps (&stuff->length, n);
+ _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xXineramaQueryScreensReq);
return SiSProcXineramaQueryScreens(client);
}
@@ -2823,8 +2823,8 @@
{
REQUEST(xXineramaSelectInputReq);
register int n;
- swaps(&stuff->length, n);
- swapl(&stuff->window, n);
+ _swaps(&stuff->length, n);
+ _swapl(&stuff->window, n);
return SiSProcXineramaSelectInput(client);
}
diff -aur xf86-video-sis-0.9.1.pristine/src/sis_utility.c xf86-video-sis-0.9.1.new/src/sis_utility.c
--- xf86-video-sis-0.9.1.pristine/src/sis_utility.c 2012-03-17 07:34:54.727700088 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_utility.c 2012-03-17 08:06:48.570630477 +1100
@@ -2059,11 +2059,11 @@
rep.sequenceNumber = client->sequence;
rep.majorVersion = SISCTRL_MAJOR_VERSION;
rep.minorVersion = SISCTRL_MINOR_VERSION;
- if(client->swapped) {
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.majorVersion, n);
- swaps(&rep.minorVersion, n);
+ if(client->swapped) {
+ _swaps(&rep.sequenceNumber, n);
+ _swapl(&rep.length, n);
+ _swaps(&rep.majorVersion, n);
+ _swaps(&rep.minorVersion, n);
}
WriteToClient(client, sizeof(xSiSCtrlQueryVersionReply), (char *)&rep);
return (client->noClientException);
@@ -2103,16 +2103,16 @@
rep.length = (sizeof(xSiSCtrlCommandReply) - sizeof(xGenericReply)) >> 2;
rep.sequenceNumber = client->sequence;
- if(client->swapped) {
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swapl(&rep.screen, n);
- swapl(&rep.sdc_id, n);
- swapl(&rep.sdc_command, n);
- swapl(&rep.sdc_result_header, n);
+ if(client->swapped) {
+ _swaps(&rep.sequenceNumber, n);
+ _swapl(&rep.length, n);
+ _swapl(&rep.screen, n);
+ _swapl(&rep.sdc_id, n);
+ _swapl(&rep.sdc_command, n);
+ _swapl(&rep.sdc_result_header, n);
for(i = 0; i < SDC_NUM_PARM_RESULT; i++) {
- swapl(&rep.sdc_parm[i], n);
- swapl(&rep.sdc_result[i], n);
+ _swapl(&rep.sdc_parm[i], n);
+ _swapl(&rep.sdc_result[i], n);
}
}
WriteToClient(client, sizeof(xSiSCtrlCommandReply), (char *)&rep);
@@ -2139,7 +2139,7 @@
{
REQUEST(xSiSCtrlQueryVersionReq);
register int n;
- swaps(&stuff->length, n);
+ _swaps(&stuff->length, n);
REQUEST_SIZE_MATCH(xSiSCtrlQueryVersionReq);
return SiSProcSiSCtrlQueryVersion(client);
}
@@ -2150,14 +2150,14 @@
REQUEST(xSiSCtrlCommandReq);
register int n;
int i;
- swaps(&stuff->length, n);
- swapl(&stuff->screen, n);
- swapl(&stuff->sdc_id, n);
- swapl(&stuff->sdc_command, n);
- swapl(&stuff->sdc_result_header, n);
+ _swaps(&stuff->length, n);
+ _swapl(&stuff->screen, n);
+ _swapl(&stuff->sdc_id, n);
+ _swapl(&stuff->sdc_command, n);
+ _swapl(&stuff->sdc_result_header, n);
for(i = 0; i < SDC_NUM_PARM_RESULT; i++) {
- swapl(&stuff->sdc_parm[i], n);
- swapl(&stuff->sdc_result[i], n);
+ _swapl(&stuff->sdc_parm[i], n);
+ _swapl(&stuff->sdc_result[i], n);
}
REQUEST_SIZE_MATCH(xSiSCtrlCommandReq);
return SiSProcSiSCtrlCommand(client);
@@ -1,63 +0,0 @@
diff -daur xf86-video-sis-0.9.1.pristine/configure.ac xf86-video-sis-0.9.1.new/configure.ac
--- xf86-video-sis-0.9.1.pristine/configure.ac 2012-03-17 14:38:50.324387997 +1100
+++ xf86-video-sis-0.9.1.new/configure.ac 2012-03-17 15:02:13.142748894 +1100
@@ -21,7 +21,7 @@
# Process this file with autoconf to produce a configure script
# Initialize Autoconf
-AC_PREREQ(2.60)
+AC_PREREQ([2.60])
AC_INIT([xf86-video-sis],
0.9.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
@@ -31,7 +31,7 @@
AC_CONFIG_AUX_DIR(.)
# Initialize Automake
-AM_INIT_AUTOMAKE([dist-bzip2])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
@@ -40,10 +40,9 @@
XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
-# Checks for programs.
+# Initialize libtool
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
-AC_PROG_CC
XORG_PROG_RAWCPP
AH_TOP([#include "xorg-server.h"])
@@ -76,9 +75,6 @@
# Checks for libraries.
-# Checks for header files.
-AC_HEADER_STDC
-
if test "$DRI" != no; then
AC_CHECK_FILE([${sdkdir}/dri.h],
[have_dri_h="yes"], [have_dri_h="no"])
@@ -123,8 +119,6 @@
fi
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
-AC_SUBST([DRI_CFLAGS])
-AC_SUBST([XORG_CFLAGS])
AC_SUBST([moduledir])
DRIVER_NAME=sis
diff -daur xf86-video-sis-0.9.1.pristine/Makefile.am xf86-video-sis-0.9.1.new/Makefile.am
--- xf86-video-sis-0.9.1.pristine/Makefile.am 2012-03-17 14:38:50.304387685 +1100
+++ xf86-video-sis-0.9.1.new/Makefile.am 2012-03-17 15:01:44.442304963 +1100
@@ -18,7 +18,6 @@
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-AUTOMAKE_OPTIONS = foreign
SUBDIRS = src man
if BUILD_LINUXDOC
File diff suppressed because it is too large Load Diff
@@ -1,89 +0,0 @@
--- xf86-video-sis-0.9.1/src/sis_driver.c.orig 2010-01-18 13:17:56.000000000 -0500
+++ xf86-video-sis-0.9.1/src/sis_driver.c 2010-01-25 16:35:40.000000000 -0500
@@ -11677,7 +11677,64 @@ SISPMEvent(int scrnIndex, pmEvent event,
return 1;/*TRUE*/
}
+void
+sis_print_registers(SISPtr pSiS)
+{
+#define print(...) xf86ErrorFVerb(1, __VA_ARGS__)
+ auto void print_range(char *name, int base, int first, int last) {
+ int i, j;
+ unsigned char c;
+ char buffer[9];
+ print("%s:\n", name);
+ buffer[8] = 0;
+ for (i = first; i <= last; i++) {
+ inSISIDXREG(base, i, c);
+ for (j = 0; j < 8; j++)
+ buffer[7 - j] = c & (1 << j) ? '1' : '0';
+ print("\t%02x: %02x:%s\n", i, c, buffer);
+ }
+ }
+ auto void print_range_int(char *name, int base, int first, int last) {
+ int i, j;
+ unsigned int l;
+ char buffer[33];
+ print("%s:\n", name);
+ buffer[32] = 0;
+ for (i = first; i <= last; i += 4) {
+ l = inSISREGL(base + i);
+ for (j = 0; j < 32; j++)
+ buffer[31 - j] = l & (1 << j) ? '1' : '0';
+ print("\t%02x: %08x:%s\n", i, l, buffer);
+ }
+ }
-
-
+ print_range_int ("PCI: CNF00 - CNF1B", pSiS->RelIO, 0x00, 0x1b);
+ print_range_int ("PCI: CNF2C - CNF47", pSiS->RelIO, 0x2C, 0x47);
+ print_range_int ("AGP: CNF50 - CNF5B", pSiS->RelIO, 0x50, 0x5B);
+ print_range ("CRT1: SR05 - SR12", SISSR, 0x05, 0x12);
+ print_range ("CRT1: SR13 - SR16 (reserved)", SISSR, 0x13, 0x16);
+ print ("CRT1: SR19 - SR1A (reserved)\n");
+ print_range ("CRT1: SR1B - SR3A", SISSR, 0x1b, 0x3a);
+ print ("CRT1: SR3B (reserved)\n");
+ print_range ("CRT1: SR3C - SR3F", SISSR, 0x3c, 0x3f);
+ print_range ("CRT1: CR19 - CR1A", SISCR, 0x19, 0x1a);
+ print ("CRT1: CR1B - CR27 (undocumented?)\n");
+ print_range ("CRT1: CR28 - CR2E", SISCR, 0x28, 0x2e);
+ print ("CRT1: CR2F (reserved)\n");
+ print_range ("VGA BIOS: CR30 - CR3F", SISCR, 0x30, 0x3f);
+ print_range ("CRT1: CR40 - CR43", SISCR, 0x40, 0x43);
+ print ("CRT1: CR44 - CR45 (reserved)\n");
+ print_range ("CRT1: CR46 - CR67", SISCR, 0x46, 0x67);
+ print ("CRT1: CR68 - CR6F (DRAM registers reserved for backward compatibility with 760)\n");
+ print ("CRT1: CR70 - CR77 (undocumented?)\n");
+ print_range ("SMA BIOS: CR78 - CR7F", SISCR, 0x78, 0x7f);
+ print_range_int ("CRT1: CR80 - CR9B", SISCR, 0x80, 0xb3);
+ print_range_int ("CRT1: CRC0 - CRF3", SISCR, 0xc0, 0xf3);
+ print_range ("CRT2: SIGNAL REGISTERS, PART1 00 - 45", SISPART1, 0x00, 0x45);
+ print_range ("CRT2: TV SIGNAL REGISTERS, PART2 00 - 4d", SISPART2, 0x00, 0x4d);
+ print_range ("CRT2: TV COPY PROTECTION, PART3 00 - 40", SISPART3, 0x00, 0x40);
+ print_range ("CRT2: SIGNAL REGISTERS, PART4 00 - 3A", SISPART4, 0x00, 0x3a);
+ print_range ("CRT2: PALETTE SIGNAL REGISTERS, PART5 00 - 00 (?)", SISPART5, 0x00, 0x00);
+#undef print
+}
--- xf86-video-sis-0.9.1/src/sis_video.c.orig 2010-01-18 13:17:56.000000000 -0500
+++ xf86-video-sis-0.9.1/src/sis_video.c 2010-01-26 13:38:13.000000000 -0500
@@ -129,6 +129,8 @@
#include "sis_video.h"
+extern void sis_print_registers(SISPtr pSiS);
+
void SiSInitMC(ScreenPtr pScreen);
/*********************************
@@ -712,6 +714,8 @@ SISResetVideo(ScrnInfoPtr pScrn)
#ifdef SISMERGED
pPriv->mustresettap2 = TRUE;
#endif
+
+ sis_print_registers(pSiS);
}
@@ -1,205 +0,0 @@
diff -aur xf86-video-sis-0.9.1.pristine/configure.ac xf86-video-sis-0.9.1.new/configure.ac
--- xf86-video-sis-0.9.1.pristine/configure.ac 2012-03-17 08:23:42.346308237 +1100
+++ xf86-video-sis-0.9.1.new/configure.ac 2012-03-17 08:40:04.821501949 +1100
@@ -20,20 +20,26 @@
#
# Process this file with autoconf to produce a configure script
-AC_PREREQ(2.57)
+# Initialize Autoconf
+AC_PREREQ(2.60)
AC_INIT([xf86-video-sis],
0.9.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-sis)
-
AC_CONFIG_SRCDIR([Makefile.am])
AM_CONFIG_HEADER([config.h])
AC_CONFIG_AUX_DIR(.)
+# Initialize Automake
AM_INIT_AUTOMAKE([dist-bzip2])
-
AM_MAINTAINER_MODE
+# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.8)
+XORG_DEFAULT_OPTIONS
+
# Checks for programs.
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
@@ -66,7 +72,7 @@
HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
HAVE_XEXTPROTO_71="no")
AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
# Checks for libraries.
@@ -104,6 +110,19 @@
# technically this should be a configure flag. meh.
AC_DEFINE(XF86EXA, 1, [Build support for Exa])
+SAVE_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
+AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
+ [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
+ [#include "xorg-server.h"])
+CPPFLAGS="$SAVE_CPPFLAGS"
+
+if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.12.901])
+ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
+fi
+AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
AC_SUBST([DRI_CFLAGS])
AC_SUBST([XORG_CFLAGS])
AC_SUBST([moduledir])
diff -aur xf86-video-sis-0.9.1.pristine/src/sis_vga.c xf86-video-sis-0.9.1.new/src/sis_vga.c
--- xf86-video-sis-0.9.1.pristine/src/sis_vga.c 2012-03-17 08:23:42.329641291 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_vga.c 2012-03-17 08:28:25.020679715 +1100
@@ -1740,8 +1740,8 @@
#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0)
#if XSERVER_LIBPCIACCESS
- pSiS->VGAMemBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
- pSiS->PciInfo, pSiS->VGAMapPhys, pSiS->VGAMapSize);
+ (void) pci_device_map_legacy(pSiS->PciInfo, pSiS->VGAMapPhys, pSiS->VGAMapSize,
+ PCI_DEV_MAP_FLAG_WRITABLE, &pSiS->VGAMemBase);
#else
pSiS->VGAMemBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
pSiS->PciTag, pSiS->VGAMapPhys, pSiS->VGAMapSize);
@@ -1761,7 +1761,12 @@
if(pSiS->VGAMemBase == NULL) return;
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, pSiS->VGAMemBase, pSiS->VGAMapSize);
+#else
xf86UnMapVidMem(pScrn->scrnIndex, pSiS->VGAMemBase, pSiS->VGAMapSize);
+#endif
+
pSiS->VGAMemBase = NULL;
}
#endif
diff -daur xf86-video-sis-0.9.1.pristine/src/sis_driver.c xf86-video-sis-0.9.1.new/src/sis_driver.c
--- xf86-video-sis-0.9.1.pristine/src/sis_driver.c 2012-03-17 08:23:42.336308093 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_driver.c 2012-03-17 09:35:33.766316476 +1100
@@ -6014,7 +6014,11 @@
if(pSiSEnt->MapCountIOPBase) {
pSiSEnt->MapCountIOPBase--;
if((pSiSEnt->MapCountIOPBase == 0) || (pSiSEnt->forceUnmapIOPBase)) {
- xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOPBase, 2048);
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiSEnt->IOPBase, 2048);
+#else
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOPBase, 2048);
+#endif
pSiSEnt->IOPBase = NULL;
pSiSEnt->MapCountIOPBase = 0;
pSiSEnt->forceUnmapIOPBase = FALSE;
@@ -6023,7 +6027,11 @@
}
} else {
#endif
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiS->IOPBase, 2048);
+#else
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOPBase, 2048);
+#endif
pSiS->IOPBase = NULL;
#ifdef SISDUALHEAD
}
@@ -6248,7 +6256,11 @@
if(pSiSEnt->MapCountIOBase) {
pSiSEnt->MapCountIOBase--;
if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
+#else
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
+#endif
pSiSEnt->IOBase = NULL;
pSiSEnt->MapCountIOBase = 0;
pSiSEnt->forceUnmapIOBase = FALSE;
@@ -6259,7 +6271,11 @@
if(pSiSEnt->MapCountIOBaseDense) {
pSiSEnt->MapCountIOBaseDense--;
if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
+#else
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
+#endif
pSiSEnt->IOBaseDense = NULL;
pSiSEnt->MapCountIOBaseDense = 0;
pSiSEnt->forceUnmapIOBaseDense = FALSE;
@@ -6270,7 +6286,11 @@
if(pSiSEnt->MapCountFbBase) {
pSiSEnt->MapCountFbBase--;
if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
+#else
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
+#endif
pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
pSiSEnt->MapCountFbBase = 0;
pSiSEnt->forceUnmapFbBase = FALSE;
@@ -6280,13 +6300,25 @@
}
} else {
#endif
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
+#else
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
+#endif
pSiS->IOBase = NULL;
#ifdef __alpha__
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
+#else
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
+#endif
pSiS->IOBaseDense = NULL;
#endif
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
+#else
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
+#endif
pSiS->FbBase = pSiS->RealFbBase = NULL;
#ifdef SISDUALHEAD
}
@@ -10940,7 +10972,13 @@
#ifdef SIS_USE_BIOS_SCRATCH
if(SISPTR(pScrn)->Primary) {
+
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_map_legacy(SISPTR(pScrn)->PciInfo, 0, 0x2000, 1, &base); // HA HA HA MAGIC NUMBER
+#else
base = xf86MapVidMem(pScrn->scrnIndex, VIDMEM_MMIO, 0, 0x2000);
+#endif
+
if(!base) {
SISErrorLog(pScrn, "(Could not map BIOS scratch area)\n");
return ret;
@@ -10953,7 +10991,11 @@
*(base + offset) = value;
}
+#if XSERVER_LIBPCIACCESS
+ (void) pci_device_unmap_legacy(SISPTR(pScrn)->PciInfo, base, 0x2000);
+#else
xf86UnMapVidMem(pScrn->scrnIndex, base, 0x2000);
+#endif
}
#endif
return ret;
@@ -1,12 +0,0 @@
diff -aur xf86-video-sis-0.9.1.pristine/src/sis_driver.c xf86-video-sis-0.9.1.new/src/sis_driver.c
--- xf86-video-sis-0.9.1.pristine/src/sis_driver.c 2012-03-17 03:06:21.148507957 +1100
+++ xf86-video-sis-0.9.1.new/src/sis_driver.c 2012-03-17 03:18:57.373535928 +1100
@@ -3278,7 +3278,7 @@
pSiS->pInt = NULL;
/* Save PCI Domain Base */
-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
+#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0) || GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12
pSiS->IODBase = 0;
#else
pSiS->IODBase = pScrn->domainIOBase;
@@ -1,30 +0,0 @@
Index: xf86-video-sis-0.9.1/src/sis_driver.c
===================================================================
--- xf86-video-sis-0.9.1.orig/src/sis_driver.c
+++ xf86-video-sis-0.9.1/src/sis_driver.c
@@ -85,7 +85,6 @@
#include "shadowfb.h"
#include "fb.h"
#include "micmap.h"
-#include "mibank.h"
#include "mipointer.h"
#include "mibstore.h"
#include "edid.h"
Index: xf86-video-sis-0.9.1/src/sis_mergedfb.c
===================================================================
--- xf86-video-sis-0.9.1.orig/src/sis_mergedfb.c
+++ xf86-video-sis-0.9.1/src/sis_mergedfb.c
@@ -2948,11 +2948,11 @@ SiSXineramaExtensionInit(ScrnInfoPtr pSc
while(SiSXineramaGeneration != serverGeneration) {
- ClientType = CreateNewResourceType(SiSXineramaFreeClient);
+ ClientType = CreateNewResourceType(SiSXineramaFreeClient, "XineramaClient");
if(!ClientType)
break;
- EventType = CreateNewResourceType(SiSXineramaFreeEvents);
+ EventType = CreateNewResourceType(SiSXineramaFreeEvents, "XineramaEvents");
if(!EventType)
break;
-130
View File
@@ -1,130 +0,0 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>xorg-video-sisimedia</Name>
<Homepage>http://www.linuxconsulting.ro/xorg-drivers</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>MIT</License>
<IsA>driver</IsA>
<Summary>X.Org sisimedia video driver</Summary>
<Description>xorg-video-sisimedia contains the X.Org driver for SiS 670 / 671 cards.</Description>
<Archive sha1sum="22e6616df49ec82755daae08043a29aaf92fa430" type="tarbz2">ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia-0.9.1_20091203.tar.bz2</Archive>
<BuildDependencies>
<Dependency>libdrm-devel</Dependency>
<Dependency>mesa-devel</Dependency>
<Dependency>xorg-server-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">xf86-video-sis-0.9.1-20102701.patch</Patch>
<Patch level="1">0002-Remove-XFree86-Misc-PassMessage-support.patch</Patch>
<Patch level="1">0007-Remove-useless-loader-symbol-lists.patch</Patch>
<Patch level="1">Untangle-XF86DRI.patch</Patch>
<Patch level="1">disable-UploadToScreen-DownloadFromScreen.patch</Patch>
<Patch level="1">swap-func-rename.patch</Patch>
<Patch level="1">0003-Fix-build-with-Werror-format-security.patch</Patch>
<Patch level="1">0005-Fix-backlight-off-on-SiS30x.-video-bridges.patch</Patch>
<Patch level="1">0006-Add-IgnoreHotkeyFlag-driver-option.patch</Patch>
<Patch level="1">xf86-video-sis-0.9.1-dump-regs-after-video-init.patch</Patch>
<Patch level="1">0008-update-to-xextproto-7-1-support.patch</Patch>
<Patch level="1">0009-update-for-rac-removal.patch</Patch>
<Patch level="1">0010-change-to-use-abi-version-check.patch</Patch>
<Patch level="1">0011-more-rac-removal.patch</Patch>
<Patch level="1">0001-Remove-xorgconfig-xorgcfg-from-See-Also-list-in-man-.patch</Patch>
<Patch level="1">0004-Make-sisRegs3D4-big-enough-to-hold-all-values-writte.patch</Patch>
<Patch level="1">0005-Correct-bounds-check-of-blitClip-array-access.patch</Patch>
<Patch level="1">xserver19.patch</Patch>
<Patch level="1">xserver112.patch</Patch>
<Patch level="1">pciTag-removal-workaround.patch</Patch>
<Patch level="1">xf86MapDomainMemory-pci_device_map_legacy.patch</Patch>
<Patch level="1">sync-with-freedesktop.patch</Patch>
<Patch level="1">remove_mibstore.h.patch</Patch>
<Patch level="1">deprecated-sym2.patch</Patch>
<Patch level="1">sisimedia-no-xaa.patch</Patch>
<Patch level="1">sisimedia-xorg-1.13.patch</Patch>
</Patches>
</Source>
<Package>
<Name>xorg-video-sisimedia</Name>
<RuntimeDependencies>
<Dependency>xorg-server</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/xorg</Path>
<Path fileType="data">/usr/share/X11</Path>
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/usr/share/X11/pci/sisimedia.ids">sisimedia.ids</AdditionalFile>
</AdditionalFiles>
</Package>
<History>
<Update release="9">
<Date>2015-05-08</Date>
<Version>0.9.1</Version>
<Comment>Release bump.</Comment>
<Name>Burak Ertürk</Name>
<Email>burakerturk@pisilinux.org</Email>
</Update>
<Update release="8">
<Date>2015-01-23</Date>
<Version>0.9.1</Version>
<Comment>Rebuild for xorg-server-1.16.3</Comment>
<Name>Ergün Salman</Name>
<Email>Poyraz76@pisilinux.org</Email>
</Update>
<Update release="7">
<Date>2014-09-01</Date>
<Version>0.9.1</Version>
<Comment>Rebuild for xorg-server-1.16.0</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="6">
<Date>2014-05-16</Date>
<Version>0.9.1</Version>
<Comment>Release bump.</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="5">
<Date>2014-03-09</Date>
<Version>0.9.1</Version>
<Comment>Rebuild for xserver 1.15.</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="4">
<Date>2013-08-25</Date>
<Version>0.9.1</Version>
<Comment>Release bump.</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2013-05-29</Date>
<Version>0.9.1</Version>
<Comment>build for xorg 1.14</Comment>
<Name>Yusuf Aydemir</Name>
<Email>yusuf.aydemir@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2013-05-03</Date>
<Version>0.9.1</Version>
<Comment>Fix build with xorg-server-1.14.x</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2013-01-30</Date>
<Version>0.10.7</Version>
<Comment>First release</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -1,8 +0,0 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>xorg-video-sisimedia</Name>
<Summary xml:lang="tr">X.Org sisimedia ekran kartı sürücüsü</Summary>
<Description xml:lang="tr">xorg-video-sisimedia, SiS 670 / 671 ekran kartları için X.Org sürücüsünü içerir.</Description>
</Source>
</PISI>