Hello community,
here is the log from the commit of package xorg-x11-driver-video for openSUSE:Factory
checked in at Fri Feb 27 00:47:40 CET 2009.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2009-02-25 16:34:24.000000000 +0100
+++ xorg-x11-driver-video/xorg-x11-driver-video.changes 2009-02-26 16:09:00.605686062 +0100
@@ -1,0 +2,26 @@
+Thu Feb 26 15:55:30 CET 2009 - sndirsch@suse.de
+
+- xf86-video-apm 1.2.1
+- xf86-video-ark 0.7.1
+- xf86-video-ast 0.87.0
+- xf86-video-ati 6.11.0
+ * disabled xf86-video-ati-es1000.diff for now; already obsolete?
+- xf86-video-chips 1.2.1
+- xf86-video-dummy 0.3.1
+- xf86-video-geode 2.11.1
+- xf86-video-glint 1.2.2
+- xf86-video-neomagic 1.2.2
+- xf86-video-rendition 4.2.1
+- xf86-video-s3 0.6.1
+- xf86-video-s3virge 1.10.2
+ * obsoletes xf86-video-s3virge.diff
+- xf86-video-siliconmotion 1.7.0
+- xf86-video-sis 0.10.1
+- xf86-video-tdfx 1.4.1
+- xf86-video-trident 1.3.1
+- xf86-video-tseng 1.2.1
+- xf86-video-vesa 2.2.0
+ * obsoletes xf86-video-vesa_verbose.diff
+- xf86-video-voodoo 1.2.1
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
xf86-video-apm-1.2.0.tar.bz2
xf86-video-ark-0.7.0.tar.bz2
xf86-video-ast-0.85.0.tar.bz2
xf86-video-ati-6.9.0.tar.bz2
xf86-video-chips-1.2.0.tar.bz2
xf86-video-dummy-0.3.0.tar.bz2
xf86-video-geode-2.11.0.tar.bz2
xf86-video-glint-1.2.1.tar.bz2
xf86-video-neomagic-1.2.1.tar.bz2
xf86-video-rendition-4.2.0.tar.bz2
xf86-video-s3-0.6.0.tar.bz2
xf86-video-s3virge-1.10.1.tar.bz2
xf86-video-s3virge.diff
xf86-video-siliconmotion-1.6.0.tar.bz2
xf86-video-sis-0.10.0.tar.bz2
xf86-video-tdfx-1.4.0.tar.bz2
xf86-video-trident-1.3.0.tar.bz2
xf86-video-tseng-1.2.0.tar.bz2
xf86-video-vesa-2.0.0.tar.bz2
xf86-video-vesa_verbose.diff
xf86-video-voodoo-1.2.0.tar.bz2
New:
----
xf86-video-apm-1.2.1.tar.bz2
xf86-video-ark-0.7.1.tar.bz2
xf86-video-ast-0.87.0.tar.bz2
xf86-video-ati-6.11.0.tar.bz2
xf86-video-chips-1.2.1.tar.bz2
xf86-video-dummy-0.3.1.tar.bz2
xf86-video-geode-2.11.1.tar.bz2
xf86-video-glint-1.2.2.tar.bz2
xf86-video-neomagic-1.2.2.tar.bz2
xf86-video-rendition-4.2.1.tar.bz2
xf86-video-s3-0.6.1.tar.bz2
xf86-video-s3virge-1.10.2.tar.bz2
xf86-video-siliconmotion-1.7.0.tar.bz2
xf86-video-sis-0.10.1.tar.bz2
xf86-video-tdfx-1.4.1.tar.bz2
xf86-video-trident-1.3.1.tar.bz2
xf86-video-tseng-1.2.1.tar.bz2
xf86-video-vesa-2.2.0.tar.bz2
xf86-video-voodoo-1.2.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.GC4992/_old 2009-02-27 00:46:48.000000000 +0100
+++ /var/tmp/diff_new_pack.GC4992/_new 2009-02-27 00:46:48.000000000 +0100
@@ -22,7 +22,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk
Url: http://xorg.freedesktop.org/
Version: 7.4
-Release: 40
+Release: 41
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -33,44 +33,44 @@
Requires: xorg-x11-driver-video-unichrome xorg-x11-driver-video-radeonhd
Summary: X.Org video drivers
ExcludeArch: s390 s390x
-Source0: xf86-video-apm-1.2.0.tar.bz2
-Source1: xf86-video-ark-0.7.0.tar.bz2
-Source2: xf86-video-ast-0.85.0.tar.bz2
-Source4: xf86-video-chips-1.2.0.tar.bz2
+Source0: xf86-video-apm-1.2.1.tar.bz2
+Source1: xf86-video-ark-0.7.1.tar.bz2
+Source2: xf86-video-ast-0.87.0.tar.bz2
+Source4: xf86-video-chips-1.2.1.tar.bz2
Source5: xf86-video-cirrus-1.2.1.tar.bz2
-Source7: xf86-video-dummy-0.3.0.tar.bz2
+Source7: xf86-video-dummy-0.3.1.tar.bz2
Source8: xf86-video-fbdev-0.4.0.tar.bz2
-Source9: xf86-video-glint-1.2.1.tar.bz2
+Source9: xf86-video-glint-1.2.2.tar.bz2
Source10: xf86-video-i128-1.3.1.tar.bz2
Source11: xf86-video-i740-1.2.0.tar.bz2
Source14: xf86-video-mga-1.4.9.tar.bz2
-Source15: xf86-video-neomagic-1.2.1.tar.bz2
+Source15: xf86-video-neomagic-1.2.2.tar.bz2
Source16: xf86-video-newport-0.2.1.tar.bz2
Source17: xf86-video-nsc-2.8.3.tar.bz2
Source18: xf86-video-nv-2.1.12.tar.bz2
-Source19: xf86-video-rendition-4.2.0.tar.bz2
-Source20: xf86-video-s3-0.6.0.tar.bz2
-Source21: xf86-video-s3virge-1.10.1.tar.bz2
+Source19: xf86-video-rendition-4.2.1.tar.bz2
+Source20: xf86-video-s3-0.6.1.tar.bz2
+Source21: xf86-video-s3virge-1.10.2.tar.bz2
Source22: xf86-video-savage-2.2.1.tar.bz2
-Source23: xf86-video-siliconmotion-1.6.0.tar.bz2
-Source24: xf86-video-sis-0.10.0.tar.bz2
+Source23: xf86-video-siliconmotion-1.7.0.tar.bz2
+Source24: xf86-video-sis-0.10.1.tar.bz2
Source25: xf86-video-sisusb-0.9.0.tar.bz2
-Source33: xf86-video-tdfx-1.4.0.tar.bz2
+Source33: xf86-video-tdfx-1.4.1.tar.bz2
Source34: xf86-video-tga-1.2.0.tar.bz2
-Source35: xf86-video-trident-1.3.0.tar.bz2
-Source36: xf86-video-tseng-1.2.0.tar.bz2
+Source35: xf86-video-trident-1.3.1.tar.bz2
+Source36: xf86-video-tseng-1.2.1.tar.bz2
Source37: xf86-video-v4l-0.2.0.tar.bz2
-Source38: xf86-video-vesa-2.0.0.tar.bz2
+Source38: xf86-video-vesa-2.2.0.tar.bz2
Source39: xf86-video-vga-4.1.0_080718_97e2d12.tar.bz2
Source41: xf86-video-vmware-10.16.5.tar.bz2
-Source42: xf86-video-voodoo-1.2.0.tar.bz2
+Source42: xf86-video-voodoo-1.2.1.tar.bz2
Source43: xf86-video-impact-0.2.0.tar.bz2
Source44: HALlib-4.1.tar.gz
Source45: xf86-video-intel-2.6.2.tar.bz2
-Source46: xf86-video-ati-6.9.0.tar.bz2
+Source46: xf86-video-ati-6.11.0.tar.bz2
Source48: xf86-video-mga-1.9.100.tar.bz2
Source50: xf86-video-xgi-1.5.0.tar.bz2
-Source51: xf86-video-geode-2.11.0.tar.bz2
+Source51: xf86-video-geode-2.11.1.tar.bz2
Source53: xf86-video-xgixp-1.7.99.3.tar.bz2
Source54: xf86-video-mach64-6.8.0.tar.bz2
Source55: xf86-video-r128-6.8.0.tar.bz2
@@ -85,8 +85,6 @@
Patch41: xf86-video-xgi.diff
Patch46: xf86-video-ati.diff
Patch47: xf86-video-vmware-10.15.2.diff
-Patch51: xf86-video-s3virge.diff
-Patch54: xf86-video-vesa_verbose.diff
Patch56: xf86-video-mga-g200se-swcursor.diff
Patch57: xf86-video-intel-G33-1mb.diff
Patch58: xf86-video-ati-es1000.diff
@@ -167,26 +165,23 @@
pushd xf86-video-vmware-*
%patch47
popd
-pushd xf86-video-s3virge-*
-%patch51
-popd
pushd xf86-video-vesa-*
-%patch54 -p1
%patch64 -p1
popd
pushd xf86-video-ati-*
-%patch58 -p1
+### FIXME
+#%patch58 -p1
%patch68 -p2
%patch69 -p2
popd
%build
for dir in xf86-video-nv-* \
- xf86-video-mga-1.9.100 xf86-video-ati-6.9.* \
+ xf86-video-mga-1.9.100 xf86-video-ati-6.11.* \
$(ls -d xf86-video-* | grep -v -e xf86-video-impact \
-e xf86-video-nv \
-e xf86-video-mga-1.9.100 \
- -e xf86-video-ati-6.9 \
+ -e xf86-video-ati-6.11 \
-e xf86-video-xgixp \
); do
pushd $dir
@@ -194,7 +189,7 @@
xf86-video-mga-1.4.9 | \
xf86-video-intel-* | \
xf86-video-mga-1.9.100 | \
- xf86-video-ati-6.9.* | \
+ xf86-video-ati-6.11.* | \
xf86-video-xgixp | \
xf86-video-nsc-*) autoreconf -fi ;;
*) ;;
@@ -208,11 +203,11 @@
%install
for dir in xf86-video-nv-* \
xf86-video-mga-1.9.100 \
- xf86-video-ati-6.9.* \
+ xf86-video-ati-6.11.* \
$(ls -d xf86-video-* | grep -v -e xf86-video-impact \
-e xf86-video-nv \
-e xf86-video-mga-1.9.100 \
- -e xf86-video-ati-6.9 \
+ -e xf86-video-ati-6.11 \
-e xf86-video-xgixp \
); do
make -C $dir install DESTDIR=$RPM_BUILD_ROOT
@@ -270,6 +265,29 @@
/var/lib/hardware/ids/20.%{name}
%changelog
+* Thu Feb 26 2009 sndirsch@suse.de
+- xf86-video-apm 1.2.1
+- xf86-video-ark 0.7.1
+- xf86-video-ast 0.87.0
+- xf86-video-ati 6.11.0
+ * disabled xf86-video-ati-es1000.diff for now; already obsolete?
+- xf86-video-chips 1.2.1
+- xf86-video-dummy 0.3.1
+- xf86-video-geode 2.11.1
+- xf86-video-glint 1.2.2
+- xf86-video-neomagic 1.2.2
+- xf86-video-rendition 4.2.1
+- xf86-video-s3 0.6.1
+- xf86-video-s3virge 1.10.2
+ * obsoletes xf86-video-s3virge.diff
+- xf86-video-siliconmotion 1.7.0
+- xf86-video-sis 0.10.1
+- xf86-video-tdfx 1.4.1
+- xf86-video-trident 1.3.1
+- xf86-video-tseng 1.2.1
+- xf86-video-vesa 2.2.0
+ * obsoletes xf86-video-vesa_verbose.diff
+- xf86-video-voodoo 1.2.1
* Wed Feb 25 2009 sndirsch@suse.de
- xf86-video-intel 2.6.2
* Here comes a pretty significant bugfix release for the 2.6 2D
++++++ xf86-video-apm-1.2.0.tar.bz2 -> xf86-video-apm-1.2.1.tar.bz2 ++++++
++++ 12688 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-apm-1.2.0/config.h.in new/xf86-video-apm-1.2.1/config.h.in
--- old/xf86-video-apm-1.2.0/config.h.in 2008-03-19 16:38:17.000000000 +0100
+++ new/xf86-video-apm-1.2.1/config.h.in 2008-12-22 05:13:49.000000000 +0100
@@ -8,6 +8,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
+/* Have ISA support */
+#undef HAVE_ISA
+
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-apm-1.2.0/configure.ac new/xf86-video-apm-1.2.1/configure.ac
--- old/xf86-video-apm-1.2.0/configure.ac 2008-03-19 16:06:51.000000000 +0100
+++ new/xf86-video-apm-1.2.1/configure.ac 2008-12-22 05:12:44.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-apm],
- 1.2.0,
+ 1.2.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-apm)
@@ -67,6 +67,14 @@
AC_SUBST([CFLAGS])
AC_SUBST([INCLUDES])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$XORG_CFLAGS"
+AC_CHECK_DECL(xf86ConfigIsaEntity,
+ [AC_DEFINE(HAVE_ISA, 1, [Have ISA support])],
+ [],
+ [#include "xf86.h"])
+CFLAGS="$save_CFLAGS"
+
# Checks for libraries.
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-apm-1.2.0/src/apm_driver.c new/xf86-video-apm-1.2.1/src/apm_driver.c
--- old/xf86-video-apm-1.2.0/src/apm_driver.c 2008-03-19 16:05:14.000000000 +0100
+++ new/xf86-video-apm-1.2.1/src/apm_driver.c 2008-12-22 05:12:28.000000000 +0100
@@ -53,9 +53,10 @@
int flags);
static void ApmProbeDDC(ScrnInfoPtr pScrn, int index);
-
+#ifdef XF86RUSH
int ApmPixmapIndex = -1;
static unsigned long ApmGeneration = 0;
+#endif
_X_EXPORT DriverRec APM = {
APM_VERSION,
@@ -81,10 +82,12 @@
{ -1, -1, RES_UNDEFINED }
};
+#ifdef HAVE_ISA
static IsaChipsets ApmIsaChipsets[] = {
{ PCI_CHIP_AP6422, RES_EXCLUSIVE_VGA},
{-1, RES_UNDEFINED}
};
+#endif
typedef enum {
OPTION_SET_MCLK,
@@ -327,6 +330,7 @@
return ApmOptions;
}
+#ifdef HAVE_ISA
static int
ApmFindIsaDevice(GDevPtr dev)
{
@@ -375,6 +379,7 @@
return apmChip;
}
+#endif
static void
ApmAssignFPtr(ScrnInfoPtr pScrn)
@@ -446,6 +451,7 @@
}
}
+#ifdef HAVE_ISA
/* Check for non-PCI cards */
numUsed = xf86MatchIsaInstances(APM_NAME, ApmChipsets,
ApmIsaChipsets, drv, ApmFindIsaDevice, DevSections,
@@ -466,6 +472,8 @@
}
}
}
+#endif
+
xfree(DevSections);
return foundScreen;
}
@@ -974,8 +982,10 @@
}
if (0 && !MonInfo)
MonInfo = xf86DoEDID_DDC1(pScrn->scrnIndex,vgaHWddc1SetSpeed,ddc1Read);
- if (MonInfo)
+ if (MonInfo) {
xf86PrintEDID(MonInfo);
+ xf86SetDDCproperties(pScrn, MonInfo);
+ }
pScrn->monitor->DDC = MonInfo;
}
@@ -1998,7 +2008,7 @@
miSetPixmapDepths();
switch (pScrn->bitsPerPixel) {
-#ifndef HAVE_XF1BPP
+#ifdef HAVE_XF1BPP
case 1:
ret = xf1bppScreenInit(pScreen, FbBase,
pScrn->virtualX, pScrn->virtualY,
@@ -2120,6 +2130,7 @@
xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options);
}
+#ifdef XF86RUSH
if (ApmGeneration != serverGeneration) {
if ((ApmPixmapIndex = AllocatePixmapPrivateIndex()) < 0)
return FALSE;
@@ -2128,6 +2139,7 @@
if (!AllocatePixmapPrivate(pScreen, ApmPixmapIndex, sizeof(ApmPixmapRec)))
return FALSE;
+#endif
/* Done */
return TRUE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-apm-1.2.0/src/apm.h new/xf86-video-apm-1.2.1/src/apm.h
--- old/xf86-video-apm-1.2.0/src/apm.h 2008-03-19 16:05:14.000000000 +0100
+++ new/xf86-video-apm-1.2.1/src/apm.h 2008-12-22 05:12:28.000000000 +0100
@@ -11,9 +11,6 @@
/* Everything using inb/outb, etc needs "compiler.h" */
#include "compiler.h"
-/* This is used for module versioning */
-#include "xf86Version.h"
-
/* Drivers for PCI hardware need this */
#include "xf86PciInfo.h"
@@ -242,8 +239,10 @@
extern void ApmHWCursorReserveSpace(ApmPtr pApm);
extern void ApmAccelReserveSpace(ApmPtr pApm);
+#ifdef XF86RUSH
extern int ApmPixmapIndex;
#define APM_GET_PIXMAP_PRIVATE(pix)\
((ApmPixmapPtr)(((PixmapPtr)(pix))->devPrivates[ApmPixmapIndex].ptr))
+#endif
#include "apm_regs.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-apm-1.2.0/src/apm_rush.c new/xf86-video-apm-1.2.1/src/apm_rush.c
--- old/xf86-video-apm-1.2.0/src/apm_rush.c 2008-03-19 16:05:14.000000000 +0100
+++ new/xf86-video-apm-1.2.1/src/apm_rush.c 2008-12-22 05:12:28.000000000 +0100
@@ -569,7 +569,7 @@
return (BadMatch);
}
- status = XVCALL(diMatchPort)(pPort, pDraw);
+ status = XvdiMatchPort(pPort, pDraw);
if (status != Success)
return status;
@@ -580,7 +580,7 @@
client->errorValue = stuff->pixmap;
return (BadPixmap);
}
- status = XVCALL(diMatchPort)(pPort, (DrawablePtr)pPixmap);
+ status = XvdiMatchPort(pPort, (DrawablePtr)pPixmap);
if (status != Success)
return status;
pPriv = APM_GET_PIXMAP_PRIVATE(pPixmap);
@@ -604,7 +604,7 @@
return BadMatch;
pApm->PutImageStride = pPixmap->devKind;
- status = XVCALL(diPutImage)(client, pDraw, pPort, pGC,
+ status = XvdiPutImage(client, pDraw, pPort, pGC,
stuff->src_x, stuff->src_y,
stuff->src_w, stuff->src_h,
stuff->drw_x, stuff->drw_y,
++++++ xf86-video-ark-0.7.0.tar.bz2 -> xf86-video-ark-0.7.1.tar.bz2 ++++++
++++ 11751 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ark-0.7.0/configure.ac new/xf86-video-ark-0.7.1/configure.ac
--- old/xf86-video-ark-0.7.0/configure.ac 2008-03-19 18:15:55.000000000 +0100
+++ new/xf86-video-ark-0.7.1/configure.ac 2008-12-22 06:24:55.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-ark],
- 0.7.0,
+ 0.7.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-ark)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ark-0.7.0/src/ark_driver.c new/xf86-video-ark-0.7.1/src/ark_driver.c
--- old/xf86-video-ark-0.7.0/src/ark_driver.c 2008-03-19 18:15:32.000000000 +0100
+++ new/xf86-video-ark-0.7.1/src/ark_driver.c 2008-12-22 06:24:33.000000000 +0100
@@ -35,7 +35,6 @@
#include "xf86_OSproc.h"
#include "xf86Pci.h"
#include "xf86PciInfo.h"
-#include "xf86Version.h"
#include "xf86Resources.h"
#include "xf86fbman.h"
#include "xf86cmap.h"
++++++ xf86-video-ast-0.85.0.tar.bz2 -> xf86-video-ast-0.87.0.tar.bz2 ++++++
++++ 12380 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/ChangeLog new/xf86-video-ast-0.87.0/ChangeLog
--- old/xf86-video-ast-0.85.0/ChangeLog 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/ChangeLog 2008-12-22 05:18:28.000000000 +0100
@@ -1,3 +1,20 @@
+2008-08-22 Y.C. Chen
+ * src/ast.h
+ * src/ast_driver.c
+ * src/ast_vgatool.c, ast_vgatool.h
+ Support AST1100/2050/2100
+
+ * src/ast_mode.c ast_mode.h
+ Modify the display timing of 1920x1200 to reduce blanking timing
+
+ * src/ast_driver.c
+ * src/ast_vgatool.c
+ Support Clone Display for Two VGA
+
+2008-07-21 Y.C. Chen
+ * src/ast_mode.c
+ Fixed Incorrect Settings for Graphices Registers
+
2008-03-18 Y.C. Chen
* src/ast_2dtool.c
* src/ast_tool.c
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/configure.ac new/xf86-video-ast-0.87.0/configure.ac
--- old/xf86-video-ast-0.85.0/configure.ac 2008-03-19 18:22:10.000000000 +0100
+++ new/xf86-video-ast-0.87.0/configure.ac 2008-12-22 05:18:28.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-ast],
- 0.85.0,
+ 0.87.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-ast)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/src/ast_2dtool.c new/xf86-video-ast-0.87.0/src/ast_2dtool.c
--- old/xf86-video-ast-0.85.0/src/ast_2dtool.c 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/src/ast_2dtool.c 2008-12-22 05:18:28.000000000 +0100
@@ -167,7 +167,7 @@
}
*(ULONG *) (pAST->CMDQInfo.pjCmdQBasePort) = ulVMCmdQBasePort;
- pAST->CMDQInfo.ulWritePointer = *(ULONG *) (pAST->CMDQInfo.pjWritePort);
+ pAST->CMDQInfo.ulWritePointer = *(ULONG *) (pAST->CMDQInfo.pjWritePort) << 3;
break;
case VM_CMD_MMIO:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/src/ast_driver.c new/xf86-video-ast-0.87.0/src/ast_driver.c
--- old/xf86-video-ast-0.85.0/src/ast_driver.c 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/src/ast_driver.c 2008-12-22 05:18:28.000000000 +0100
@@ -66,10 +66,12 @@
extern Bool bASTRegInit(ScrnInfoPtr pScrn);
extern ULONG GetVRAMInfo(ScrnInfoPtr pScrn);
extern ULONG GetMaxDCLK(ScrnInfoPtr pScrn);
+extern void GetChipType(ScrnInfoPtr pScrn);
extern void vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, VisualPtr pVisual);
extern void ASTDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags);
extern void vSetStartAddressCRT1(ASTRecPtr pAST, ULONG base);
extern Bool ASTSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
+extern Bool GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer);
extern Bool bInitCMDQInfo(ScrnInfoPtr pScrn, ASTRecPtr pAST);
extern Bool bEnableCMDQ(ScrnInfoPtr pScrn, ASTRecPtr pAST);
@@ -121,12 +123,14 @@
/* Chipsets */
static SymTabRec ASTChipsets[] = {
- {PCI_CHIP_AST2000, "AST2000"},
+ {PCI_CHIP_AST2000, "AST2000 Family"},
+ {PCI_CHIP_AST2100, "AST1100_2050_2100"},
{-1, NULL}
};
static PciChipsets ASTPciChipsets[] = {
{PCI_CHIP_AST2000, PCI_CHIP_AST2000, RES_SHARED_VGA},
+ {PCI_CHIP_AST2100, PCI_CHIP_AST2100, RES_SHARED_VGA},
{-1, -1, RES_UNDEFINED }
};
@@ -137,17 +141,19 @@
OPTION_HWC_NUM,
OPTION_ENG_CAPS,
OPTION_DBG_SELECT,
- OPTION_NO_DDC
+ OPTION_NO_DDC,
+ OPTION_VGA2_CLONE
} ASTOpts;
static const OptionInfoRec ASTOptions[] = {
{OPTION_NOACCEL, "NoAccel", OPTV_BOOLEAN, {0}, FALSE},
- {OPTION_MMIO2D, "MMIO2D", OPTV_BOOLEAN, {0}, FALSE},
- {OPTION_SW_CURSOR, "SWCursor", OPTV_BOOLEAN, {0}, FALSE},
+ {OPTION_MMIO2D, "MMIO2D", OPTV_BOOLEAN, {0}, FALSE},
+ {OPTION_SW_CURSOR, "SWCursor", OPTV_BOOLEAN, {0}, FALSE},
{OPTION_HWC_NUM, "HWCNumber", OPTV_INTEGER, {0}, FALSE},
- {OPTION_ENG_CAPS, "ENGCaps", OPTV_INTEGER, {0}, FALSE},
- {OPTION_DBG_SELECT, "DBGSelect", OPTV_INTEGER, {0}, FALSE},
- {OPTION_NO_DDC, "NoDDC", OPTV_BOOLEAN, {0}, FALSE},
+ {OPTION_ENG_CAPS, "ENGCaps", OPTV_INTEGER, {0}, FALSE},
+ {OPTION_DBG_SELECT, "DBGSelect", OPTV_INTEGER, {0}, FALSE},
+ {OPTION_NO_DDC, "NoDDC", OPTV_BOOLEAN, {0}, FALSE},
+ {OPTION_VGA2_CLONE, "VGA2Clone", OPTV_BOOLEAN, {0}, FALSE},
{-1, NULL, OPTV_NONE, {0}, FALSE}
};
@@ -564,11 +570,7 @@
(pScrn->chipset != NULL) ? pScrn->chipset : "Unknown ast");
/* Resource Allocation */
-#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
- pAST->IODBase = 0;
-#else
pAST->IODBase = pScrn->domainIOBase;
-#endif
/* "Patch" the PIOOffset inside vgaHW in order to force
* the vgaHW module to use our relocated i/o ports.
*/
@@ -638,7 +640,7 @@
/* Get Revision */
if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x10)
- pAST->jChipType = AST2100;
+ GetChipType(pScrn);
else
pAST->jChipType = AST2000;
@@ -1201,13 +1203,22 @@
}
}
+#define SkipDT 0x00
+#define DT1 0x01
+#define DT2 0x02
+
static xf86MonPtr
ASTDoDDC(ScrnInfoPtr pScrn, int index)
{
vbeInfoPtr pVbe;
- xf86MonPtr MonInfo = NULL;
+ xf86MonPtr MonInfo = NULL, MonInfo1 = NULL, MonInfo2 = NULL;
ASTRecPtr pAST = ASTPTR(pScrn);
-
+ unsigned long i, j, k;
+ unsigned char DDC_data[128];
+ struct monitor_ranges ranges, ranges1, ranges2;
+ int DTSelect, dclock1=0, h_active1=0, v_active1=0, dclock2=0, h_active2=0, v_active2=0;
+ struct std_timings stdtiming, *stdtiming1, *stdtiming2;
+
/* Honour Option "noDDC" */
if (xf86ReturnOptValBool(pAST->Options, OPTION_NO_DDC, FALSE)) {
return MonInfo;
@@ -1215,7 +1226,150 @@
if (xf86LoadSubModule(pScrn, "vbe") && (pVbe = VBEInit(NULL, index))) {
xf86LoaderReqSymLists(vbeSymbols, NULL);
- MonInfo = vbeDoEDID(pVbe, NULL);
+ MonInfo1 = vbeDoEDID(pVbe, NULL);
+ MonInfo = MonInfo1;
+
+ /* For VGA2 CLONE Support, ycchen@012508 */
+ if (xf86ReturnOptValBool(pAST->Options, OPTION_VGA2_CLONE, FALSE)) {
+ if (GetVGA2EDID(pScrn, DDC_data) == TRUE) {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Get VGA2 EDID Correctly!! \n");
+ MonInfo2 = xf86InterpretEDID(pScrn->scrnIndex, DDC_data);
+ if (MonInfo1 == NULL) /* No DDC1 EDID */
+ MonInfo = MonInfo2;
+ else { /* Check with VGA1 & VGA2 EDID */
+ /* Update establishment timing */
+ MonInfo->timings1.t1 = MonInfo1->timings1.t1 & MonInfo2->timings1.t1;
+ MonInfo->timings1.t2 = MonInfo1->timings1.t2 & MonInfo2->timings1.t2;
+ MonInfo->timings1.t_manu = MonInfo1->timings1.t_manu & MonInfo2->timings1.t_manu;
+
+ /* Update Std. Timing */
+ for (i=0; i<8; i++) {
+ stdtiming.hsize = stdtiming.vsize = stdtiming.refresh = stdtiming.id = 0;
+ for (j=0; j<8; j++) {
+ if ((MonInfo1->timings2[i].hsize == MonInfo2->timings2[j].hsize) && \
+ (MonInfo1->timings2[i].vsize == MonInfo2->timings2[j].vsize) && \
+ (MonInfo1->timings2[i].refresh == MonInfo2->timings2[j].refresh)) {
+ stdtiming = MonInfo1->timings2[i];
+ break;
+ }
+ }
+
+ MonInfo->timings2[i] = stdtiming;
+ } /* Std. Timing */
+
+ /* Get Detailed Timing */
+ for (i=0;i<4;i++) {
+ if (MonInfo1->det_mon[i].type == 0xFD)
+ ranges1 = MonInfo1->det_mon[i].section.ranges;
+ else if (MonInfo1->det_mon[i].type == 0xFA)
+ stdtiming1 = MonInfo1->det_mon[i].section.std_t;
+ else if (MonInfo1->det_mon[i].type == 0x00) {
+ if (MonInfo1->det_mon[i].section.d_timings.clock > dclock1)
+ dclock1 = MonInfo1->det_mon[i].section.d_timings.clock;
+ if (MonInfo1->det_mon[i].section.d_timings.h_active > h_active1)
+ h_active1 = MonInfo1->det_mon[i].section.d_timings.h_active;
+ if (MonInfo1->det_mon[i].section.d_timings.v_active > v_active1)
+ v_active1 = MonInfo1->det_mon[i].section.d_timings.v_active;
+ }
+ if (MonInfo2->det_mon[i].type == 0xFD)
+ ranges2 = MonInfo2->det_mon[i].section.ranges;
+ else if (MonInfo1->det_mon[i].type == 0xFA)
+ stdtiming2 = MonInfo2->det_mon[i].section.std_t;
+ else if (MonInfo2->det_mon[i].type == 0x00) {
+ if (MonInfo2->det_mon[i].section.d_timings.clock > dclock2)
+ dclock2 = MonInfo2->det_mon[i].section.d_timings.clock;
+ if (MonInfo2->det_mon[i].section.d_timings.h_active > h_active2)
+ h_active2 = MonInfo2->det_mon[i].section.d_timings.h_active;
+ if (MonInfo2->det_mon[i].section.d_timings.v_active > v_active2)
+ v_active2 = MonInfo2->det_mon[i].section.d_timings.v_active;
+ }
+ } /* Get Detailed Timing */
+
+ /* Chk Detailed Timing */
+ if ((dclock1 >= dclock2) && (h_active1 >= h_active2) && (v_active1 >= v_active2))
+ DTSelect = DT2;
+ else if ((dclock2 >= dclock1) && (h_active2 >= h_active1) && (v_active2 >= v_active1))
+ DTSelect = DT1;
+ else
+ DTSelect = SkipDT;
+
+ /* Chk Monitor Descriptor */
+ ranges = ranges1;
+ ranges.min_h = ranges1.min_h > ranges2.min_h ? ranges1.min_h:ranges2.min_h;
+ ranges.min_v = ranges1.min_v > ranges2.min_v ? ranges1.min_v:ranges2.min_v;
+ ranges.max_h = ranges1.max_h < ranges2.max_h ? ranges1.max_h:ranges2.max_h;
+ ranges.max_v = ranges1.max_v < ranges2.max_v ? ranges1.max_v:ranges2.max_v;
+ ranges.max_clock = ranges1.max_clock < ranges2.max_clock ? ranges1.max_clock:ranges2.max_clock;
+
+ /* Update Detailed Timing */
+ for (i=0; i<4; i++)
+ {
+ if (MonInfo->det_mon[i].type == 0xFD) {
+ MonInfo->det_mon[i].section.ranges = ranges;
+ }
+ else if (MonInfo->det_mon[i].type == 0xFA) {
+ for (j=0; j<5; j++) {
+ stdtiming.hsize = stdtiming.vsize = stdtiming.refresh = stdtiming.id = 0;
+ for (k=0; k<5; k++) {
+ if ((stdtiming1[j].hsize == stdtiming2[k].hsize) && \
+ (stdtiming1[j].vsize == stdtiming2[k].vsize) && \
+ (stdtiming1[j].refresh == stdtiming2[k].refresh)) {
+ stdtiming = stdtiming1[j];
+ break;
+ }
+ }
+ stdtiming1[j] = stdtiming;
+ } /* Std. Timing */
+ } /* FA */
+ else if (MonInfo->det_mon[i].type == 0x00) {
+ if (DTSelect == DT2)
+ MonInfo->det_mon[i] = MonInfo2->det_mon[i];
+ else if (DTSelect == DT1)
+ MonInfo->det_mon[i] = MonInfo1->det_mon[i];
+ else /* SkipDT */
+ { /* use 1024x768 as default */
+ MonInfo->det_mon[i] = MonInfo1->det_mon[i];
+ MonInfo->det_mon[i].section.d_timings.clock = 65000000;
+ MonInfo->det_mon[i].section.d_timings.h_active = 1024;
+ MonInfo->det_mon[i].section.d_timings.h_blanking = 320;
+ MonInfo->det_mon[i].section.d_timings.v_active = 768;
+ MonInfo->det_mon[i].section.d_timings.v_blanking = 38;
+ MonInfo->det_mon[i].section.d_timings.h_sync_off = 24;
+ MonInfo->det_mon[i].section.d_timings.h_sync_width = 136;
+ MonInfo->det_mon[i].section.d_timings.v_sync_off = 3;
+ MonInfo->det_mon[i].section.d_timings.v_sync_width = 6;
+ }
+ } /* 00 */
+ else { /* use Monitor 1 as default */
+ MonInfo->det_mon[i] = MonInfo1->det_mon[i];
+ }
+
+ } /* Update Detailed Timing */
+
+ /* set feature size */
+ if (DTSelect == DT2) {
+ MonInfo->features.hsize = MonInfo2->features.hsize;
+ MonInfo->features.vsize = MonInfo2->features.vsize;
+ }
+ else if (DTSelect == DT1) {
+ MonInfo->features.hsize = MonInfo1->features.hsize;
+ MonInfo->features.vsize = MonInfo1->features.vsize;
+ }
+ else /* Skip DT */
+ { /* use 1024x768 as default */
+ MonInfo->features.hsize = 0x20;
+ MonInfo->features.vsize = 0x18;
+ }
+
+ } /* Check with VGA1 & VGA2 EDID */
+
+ } /* GetVGA2EDID */
+ else {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Can't Get VGA2 EDID Correctly!! \n");
+ }
+
+ }
+
xf86PrintEDID(MonInfo);
xf86SetDDCproperties(pScrn, MonInfo);
vbeFree(pVbe);
@@ -1223,7 +1377,7 @@
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"this driver cannot do DDC without VBE\n");
}
-
+
return MonInfo;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/src/ast.h new/xf86-video-ast-0.87.0/src/ast.h
--- old/xf86-video-ast-0.85.0/src/ast.h 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/src/ast.h 2008-12-22 05:18:28.000000000 +0100
@@ -40,10 +40,15 @@
#define PCI_CHIP_AST2000 0x2000
#endif
+#ifndef PCI_CHIP_AST2100
+#define PCI_CHIP_AST2100 0x2010
+#endif
+
typedef enum _CHIP_ID {
VGALegacy,
AST2000,
- AST2100
+ AST2100,
+ AST1100
} CHIP_ID;
/* AST REC Info */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/src/ast_mode.c new/xf86-video-ast-0.87.0/src/ast_mode.c
--- old/xf86-video-ast-0.85.0/src/ast_mode.c 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/src/ast_mode.c 2008-12-22 05:18:28.000000000 +0100
@@ -190,11 +190,11 @@
(SyncPP | Charx8Dot), 0xFF, 1, 0x33 },
};
-VBIOS_ENHTABLE_STRUCT Res1920x1200Table[] = {
- {2592, 1920,136, 200, 1245, 1200, 3, 6, VCLK193_25, /* 60Hz */
- (SyncPP | Charx8Dot), 60, 1, 0x33 },
- {2592, 1920,136, 200, 1245, 1200, 3, 6, VCLK193_25, /* end */
- (SyncPP | Charx8Dot), 0xFF, 1, 0x33 },
+VBIOS_ENHTABLE_STRUCT Res1920x1200Table[] = {
+ {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
+ (SyncNP | Charx8Dot), 60, 1, 0x34 },
+ {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
+ (SyncNP | Charx8Dot), 0xFF, 1, 0x34 },
};
VBIOS_DCLK_INFO DCLKTable [] = {
@@ -214,7 +214,7 @@
{0x85, 0x24, 0x00}, /* 0D: VCLK135 */
{0x67, 0x22, 0x00}, /* 0E: VCLK157_5 */
{0x6A, 0x22, 0x00}, /* 0F: VCLK162 */
- {0x61, 0x2C, 0x81}, /* 10: VCLK193_25 */
+ {0x4d, 0x4c, 0x80}, /* 10: VCLK193_25 */
};
VBIOS_DAC_INFO DAC_TEXT[] = {
@@ -341,6 +341,7 @@
void vSetOffsetReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetDCLKReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
void vSetExtReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
+void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo);
Bool
@@ -363,6 +364,7 @@
vSetOffsetReg(pScrn, mode, &vgamodeinfo);
vSetDCLKReg(pScrn, mode, &vgamodeinfo);
vSetExtReg(pScrn, mode, &vgamodeinfo);
+ vSetSyncReg(pScrn, mode, &vgamodeinfo);
bSetDACReg(pScrn, mode, &vgamodeinfo);
/* post set mode */
@@ -534,6 +536,7 @@
/* Set GR */
for (i=0; i<9; i++)
{
+ jReg = pStdModePtr->GR[i];
SetIndexReg(GR_PORT,(UCHAR) i, jReg);
}
@@ -568,10 +571,10 @@
if (usTemp & 0x20) jReg05 |= 0x80; /* HBE D[5] */
if (usTemp & 0x40) jRegAD |= 0x01; /* HBE D[6] */
SetIndexRegMask(CRTC_PORT,0x03, 0xE0, (UCHAR) (usTemp & 0x1F));
- usTemp = (mode->CrtcHSyncStart >> 3 );
+ usTemp = (mode->CrtcHSyncStart >> 3 ) + 2;
if (usTemp & 0x100) jRegAC |= 0x40; /* HRS D[5] */
SetIndexRegMask(CRTC_PORT,0x04, 0x00, (UCHAR) (usTemp));
- usTemp = (mode->CrtcHSyncEnd >> 3 ) & 0x3F;
+ usTemp = ((mode->CrtcHSyncEnd >> 3 ) + 2) & 0x3F;
if (usTemp & 0x20) jRegAD |= 0x04; /* HRE D[5] */
SetIndexRegMask(CRTC_PORT,0x05, 0x60, (UCHAR) ((usTemp & 0x1F) | jReg05));
@@ -686,6 +689,20 @@
}
+void vSetSyncReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
+{
+ PVBIOS_ENHTABLE_STRUCT pEnhModePtr;
+ ASTRecPtr pAST;
+ UCHAR jReg;
+
+ pAST = ASTPTR(pScrn);
+ pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
+
+ jReg = GetReg(MISC_PORT_READ);
+ jReg |= (UCHAR) (pEnhModePtr->Flags & SyncNN);
+ SetReg(MISC_PORT_WRITE,jReg);
+
+}
Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/src/ast_mode.h new/xf86-video-ast-0.87.0/src/ast_mode.h
--- old/xf86-video-ast-0.85.0/src/ast_mode.h 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/src/ast_mode.h 2008-12-22 05:18:28.000000000 +0100
@@ -48,7 +48,8 @@
#define VCLK135 0x0D
#define VCLK157_5 0x0E
#define VCLK162 0x0F
-#define VCLK193_25 0x10
+/* #define VCLK193_25 0x10 */
+#define VCLK154 0x10
/* Flags Definition */
#define Charx8Dot 0x00000001
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/src/ast_vgatool.c new/xf86-video-ast-0.87.0/src/ast_vgatool.c
--- old/xf86-video-ast-0.85.0/src/ast_vgatool.c 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/src/ast_vgatool.c 2008-12-22 05:18:28.000000000 +0100
@@ -61,11 +61,13 @@
Bool bASTRegInit(ScrnInfoPtr pScrn);
ULONG GetVRAMInfo(ScrnInfoPtr pScrn);
ULONG GetMaxDCLK(ScrnInfoPtr pScrn);
+void GetChipType(ScrnInfoPtr pScrn);
void vAST1000DisplayOn(ASTRecPtr pAST);
void vAST1000DisplayOff(ASTRecPtr pAST);
void vSetStartAddressCRT1(ASTRecPtr pAST, ULONG base);
void vASTLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, VisualPtr pVisual);
void ASTDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags);
+Bool GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer);
void
vASTOpenKey(ScrnInfoPtr pScrn)
@@ -172,7 +174,10 @@
}
- /* Get Bandwidth */
+ /* Get Bandwidth */
+ /* Modify DARM utilization to 60% for AST1100/2100 16bits DRAM, ycchen@032508 */
+ if ( ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100)) && (ulDRAMBusWidth == 16) )
+ DRAMEfficiency = 600;
ulDRAMBandwidth = ulMCLK * ulDRAMBusWidth * 2 / 8;
ActualDRAMBandwidth = ulDRAMBandwidth * DRAMEfficiency / 1000;
@@ -183,13 +188,34 @@
else
ulDCLK = ActualDRAMBandwidth / ((pScrn->bitsPerPixel+1) / 8);
- if (ulDCLK > 165) ulDCLK = 165;
-
+ /* Add for AST2100, ycchen@061807 */
+ if (pAST->jChipType == AST2100)
+ if (ulDCLK > 200) ulDCLK = 200;
+ else
+ if (ulDCLK > 165) ulDCLK = 165;
+
return(ulDCLK);
}
void
+GetChipType(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ ULONG ulData;
+
+ pAST->jChipType = AST2100;
+
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+
+ ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1207c);
+
+ if ((ulData & 0x0300) == 0x0200)
+ pAST->jChipType = AST1100;
+}
+
+void
vSetStartAddressCRT1(ASTRecPtr pAST, ULONG base)
{
SetIndexReg(CRTC_PORT,0x0D, (UCHAR) (base & 0xFF));
@@ -319,3 +345,96 @@
}
+
+#define I2C_BASE 0x1e780000
+#define I2C_OFFSET (0xA000 + 0x40 * 4) /* port4 */
+#define I2C_DEVICEADDR 0x0A0 /* slave addr */
+
+Bool
+GetVGA2EDID(ScrnInfoPtr pScrn, unsigned char *pEDIDBuffer)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *ulI2CBase = pAST->MMIOVirtualAddr + 0x10000 + I2C_OFFSET;
+ ULONG i, ulData;
+ UCHAR *pjEDID;
+
+ pjEDID = pEDIDBuffer;
+
+ /* SCU settings */
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+ xf86UDelay(10000);
+
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
+ ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12004);
+ ulData &= 0xfffffffb;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x12004) = ulData;
+ xf86UDelay(10000);
+
+ /* I2C settings */
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = I2C_BASE;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+ xf86UDelay(10000);
+
+ /* I2C Start */
+ *(ULONG *) (ulI2CBase + 0x00) = 0x0;
+ *(ULONG *) (ulI2CBase + 0x04) = 0x77777355;
+ *(ULONG *) (ulI2CBase + 0x08) = 0x0;
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(ULONG *) (ulI2CBase + 0x00) = 0x1;
+ *(ULONG *) (ulI2CBase + 0x0C) = 0xAF;
+ *(ULONG *) (ulI2CBase + 0x20) = I2C_DEVICEADDR;
+ *(ULONG *) (ulI2CBase + 0x14) = 0x03;
+ do {
+ ulData = *(volatile ULONG *) (ulI2CBase + 0x10);
+ } while (!(ulData & 0x03));
+ if (ulData & 0x02) /* NACK */
+ return (FALSE);
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(ULONG *) (ulI2CBase + 0x20) = (ULONG) 0; /* Offset */
+ *(ULONG *) (ulI2CBase + 0x14) = 0x02;
+ do {
+ ulData = *(volatile ULONG *) (ulI2CBase + 0x10);
+ } while (!(ulData & 0x01));
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(ULONG *) (ulI2CBase + 0x20) = I2C_DEVICEADDR + 1;
+ *(ULONG *) (ulI2CBase + 0x14) = 0x03;
+ do {
+ ulData = *(volatile ULONG *) (ulI2CBase + 0x10);
+ } while (!(ulData & 0x01));
+
+ /* I2C Read */
+ for (i=0; i<127; i++)
+ {
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(ULONG *) (ulI2CBase + 0x0C) |= 0x10;
+ *(ULONG *) (ulI2CBase + 0x14) = 0x08;
+ do {
+ ulData = *(volatile ULONG *) (ulI2CBase + 0x10);
+ } while (!(ulData & 0x04));
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(UCHAR *) (pjEDID++) = (UCHAR) ((*(ULONG *) (ulI2CBase + 0x20) & 0xFF00) >> 8);
+ }
+
+ /* Read Last Byte */
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(ULONG *) (ulI2CBase + 0x0C) |= 0x10;
+ *(ULONG *) (ulI2CBase + 0x14) = 0x18;
+ do {
+ ulData = *(volatile ULONG *) (ulI2CBase + 0x10);
+ } while (!(ulData & 0x04));
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(UCHAR *) (pjEDID++) = (UCHAR) ((*(ULONG *) (ulI2CBase + 0x20) & 0xFF00) >> 8);
+
+ /* I2C Stop */
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+ *(ULONG *) (ulI2CBase + 0x14) = 0x20;
+ do {
+ ulData = *(volatile ULONG *) (ulI2CBase + 0x10);
+ } while (!(ulData & 0x10));
+ *(ULONG *) (ulI2CBase + 0x0C) &= 0xffffffef;
+ *(ULONG *) (ulI2CBase + 0x10) = 0xffffffff;
+
+ return (TRUE);
+
+} /* GetVGA2EDID */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-ast-0.85.0/src/ast_vgatool.h new/xf86-video-ast-0.87.0/src/ast_vgatool.h
--- old/xf86-video-ast-0.85.0/src/ast_vgatool.h 2008-03-19 15:28:56.000000000 +0100
+++ new/xf86-video-ast-0.87.0/src/ast_vgatool.h 2008-12-22 05:18:28.000000000 +0100
@@ -25,6 +25,7 @@
#define VIDEOMEM_SIZE_16M 0x01000000
#define VIDEOMEM_SIZE_32M 0x02000000
#define VIDEOMEM_SIZE_64M 0x04000000
+#define VIDEOMEM_SIZE_128M 0x08000000
#define AR_PORT_WRITE (pAST->RelocateIO + 0x40)
#define MISC_PORT_WRITE (pAST->RelocateIO + 0x42)
@@ -34,6 +35,7 @@
#define GR_PORT (pAST->RelocateIO + 0x4E)
#define CRTC_PORT (pAST->RelocateIO + 0x54)
#define INPUT_STATUS1_READ (pAST->RelocateIO + 0x5A)
+#define MISC_PORT_READ (pAST->RelocateIO + 0x4C)
#define GetReg(base) inb(base)
#define SetReg(base,val) outb(base,val)
++++++ xf86-video-ati-6.9.0.tar.bz2 -> xf86-video-ati-6.11.0.tar.bz2 ++++++
++++ 35122 lines of diff (skipped)
++++++ xf86-video-chips-1.2.0.tar.bz2 -> xf86-video-chips-1.2.1.tar.bz2 ++++++
++++ 13017 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-chips-1.2.0/config.h.in new/xf86-video-chips-1.2.1/config.h.in
--- old/xf86-video-chips-1.2.0/config.h.in 2008-03-19 18:35:58.000000000 +0100
+++ new/xf86-video-chips-1.2.1/config.h.in 2008-12-22 05:26:01.000000000 +0100
@@ -8,6 +8,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
+/* Have ISA support */
+#undef HAVE_ISA
+
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-chips-1.2.0/configure.ac new/xf86-video-chips-1.2.1/configure.ac
--- old/xf86-video-chips-1.2.0/configure.ac 2008-03-19 18:35:37.000000000 +0100
+++ new/xf86-video-chips-1.2.1/configure.ac 2008-12-22 05:25:45.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-chips],
- 1.2.0,
+ 1.2.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-chips)
@@ -73,6 +73,14 @@
fi
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+save_CFLAGS="$CFLAGS"
+CFLAGS="$XORG_CFLAGS"
+AC_CHECK_DECL(xf86ConfigIsaEntity,
+ [AC_DEFINE(HAVE_ISA, 1, [Have ISA support])],
+ [],
+ [#include "xf86.h"])
+CFLAGS="$save_CFLAGS"
+
# Checks for header files.
AC_HEADER_STDC
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-chips-1.2.0/src/ct_driver.c new/xf86-video-chips-1.2.1/src/ct_driver.c
--- old/xf86-video-chips-1.2.0/src/ct_driver.c 2008-03-19 18:35:01.000000000 +0100
+++ new/xf86-video-chips-1.2.1/src/ct_driver.c 2008-12-22 05:25:35.000000000 +0100
@@ -1,4 +1,3 @@
-
/*
* Copyright 1993 by Jon Block
* Modified by Mike Hollick
@@ -86,9 +85,6 @@
/* Drivers that need to access the PCI config space directly need this */
#include "xf86Pci.h"
-/* This is used for module versioning */
-#include "xf86Version.h"
-
/* Standard resources are defined here */
#include "xf86Resources.h"
@@ -558,6 +554,7 @@
{ -1, -1, RES_UNDEFINED}
};
+#ifdef HAVE_ISA
static IsaChipsets CHIPSISAchipsets[] = {
{ CHIPS_CT65520, RES_EXCLUSIVE_VGA },
{ CHIPS_CT65525, RES_EXCLUSIVE_VGA },
@@ -577,6 +574,7 @@
{ CHIPS_CT64300, RES_EXCLUSIVE_VGA },
{ -1, RES_UNDEFINED }
};
+#endif
/* The options supported by the Chips and Technologies Driver */
typedef enum {
@@ -1043,7 +1041,8 @@
xfree(usedChips);
}
}
-
+
+#ifdef HAVE_ISA
/* Isa Bus */
numUsed = xf86MatchIsaInstances(CHIPS_NAME,CHIPSChipsets,CHIPSISAchipsets,
drv,chipsFindIsaDevice,devSections,
@@ -1057,7 +1056,7 @@
usedChips[i],
CHIPSISAchipsets,NULL,
NULL,NULL,NULL,NULL))) {
- pScrn->driverVersion = VERSION;
+ pScrn->driverVersion = CHIPS_VERSION;
pScrn->driverName = CHIPS_DRIVER_NAME;
pScrn->name = CHIPS_NAME;
pScrn->Probe = CHIPSProbe;
@@ -1074,12 +1073,14 @@
xfree(usedChips);
}
}
+#endif
xfree(devSections);
return foundScreen;
}
#endif
+#ifdef HAVE_ISA
static int
chipsFindIsaDevice(GDevPtr dev)
{
@@ -1163,6 +1164,7 @@
}
return found;
}
+#endif
/* Mandatory */
Bool
@@ -1542,11 +1544,7 @@
hwp = VGAHWPTR(pScrn);
vgaHWGetIOBase(hwp);
-#if XF86_VERSION_CURRENT > XF86_VERSION_NUMERIC(4,1,0,0,0)
cPtr->PIOBase = hwp->PIOOffset;
-#else
- cPtr->PIOBase = 0 ; /* for old version the IO offset is global */
-#endif
/*
* Must allow ensure that storage for the 2nd set of vga registers is
* allocated for dual channel cards
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-chips-1.2.0/src/ct_driver.h new/xf86-video-chips-1.2.1/src/ct_driver.h
--- old/xf86-video-chips-1.2.0/src/ct_driver.h 2008-03-19 18:35:01.000000000 +0100
+++ new/xf86-video-chips-1.2.1/src/ct_driver.h 2008-12-22 05:25:35.000000000 +0100
@@ -36,6 +36,7 @@
#include "xf86xv.h"
#include "vgaHW.h"
#include
+#include
/* Supported chipsets */
typedef enum {
@@ -274,11 +275,7 @@
PCITAG PciTag;
int Chipset;
EntityInfoPtr pEnt;
-#if XF86_VERSION_CURRENT > XF86_VERSION_NUMERIC(4,1,0,0,0)
- IOADDRESS PIOBase;
-#else
- int PIOBase; /* unused variable : here for compatibility reason with newer version */
-#endif
+ IOADDRESS PIOBase;
CARD32 IOAddress;
unsigned long FbAddress;
unsigned int IOBase;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-chips-1.2.0/src/ct_regs.c new/xf86-video-chips-1.2.1/src/ct_regs.c
--- old/xf86-video-chips-1.2.0/src/ct_regs.c 2008-03-19 18:35:01.000000000 +0100
+++ new/xf86-video-chips-1.2.1/src/ct_regs.c 2008-12-22 05:25:35.000000000 +0100
@@ -64,9 +64,6 @@
/* Drivers that need to access the PCI config space directly need this */
#include "xf86Pci.h"
-/* This is used for module versioning */
-#include "xf86Version.h"
-
/* Driver specific headers */
#include "ct_driver.h"
++++++ xf86-video-dummy-0.3.0.tar.bz2 -> xf86-video-dummy-0.3.1.tar.bz2 ++++++
++++ 3867 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-dummy-0.3.0/configure.ac new/xf86-video-dummy-0.3.1/configure.ac
--- old/xf86-video-dummy-0.3.0/configure.ac 2008-03-19 22:27:00.000000000 +0100
+++ new/xf86-video-dummy-0.3.1/configure.ac 2009-01-25 23:23:57.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-dummy],
- 0.3.0,
+ 0.3.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-dummy)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-dummy-0.3.0/src/dummy_driver.c new/xf86-video-dummy-0.3.1/src/dummy_driver.c
--- old/xf86-video-dummy-0.3.0/src/dummy_driver.c 2008-03-19 22:26:50.000000000 +0100
+++ new/xf86-video-dummy-0.3.1/src/dummy_driver.c 2009-01-25 23:21:56.000000000 +0100
@@ -11,9 +11,6 @@
#include "xf86.h"
#include "xf86_OSproc.h"
-/* This is used for module versioning */
-#include "xf86Version.h"
-
/* All drivers initialising the SW cursor need this */
#include "mipointer.h"
++++++ xf86-video-geode-2.11.0.tar.bz2 -> xf86-video-geode-2.11.1.tar.bz2 ++++++
++++ 12953 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.0/ChangeLog new/xf86-video-geode-2.11.1/ChangeLog
--- old/xf86-video-geode-2.11.0/ChangeLog 2008-12-10 05:23:01.000000000 +0100
+++ new/xf86-video-geode-2.11.1/ChangeLog 2009-02-16 19:46:47.000000000 +0100
@@ -1,3 +1,58 @@
+commit da07a540db2078e00e48897b52a5a1f6d283cfeb
+Author: Chris Ball
+Date: Mon Feb 16 13:37:03 2009 -0500
+
+ Release 2.11.1.
+
+ Signed-off-by: Chris Ball
+
+commit 4176e9ed24e7b79cefe3e7f4f5d73c7353781f1b
+Author: Chris Ball
+Date: Mon Feb 16 13:41:48 2009 -0500
+
+ Makefile.am: use "git log" instead of "git-log"
+
+ "git-log" doesn't work on my Fedora machine, but "git log" should work
+ everywhere. Some distributions choose not to ship all the git aliases.
+
+ Signed-off-by: Chris Ball
+
+commit 990ff710c6220cc3d1ba6b9e8fb972bd168b4472
+Author: Chris Ball
+Date: Sun Feb 15 15:30:09 2009 -0500
+
+ Change OLPC detection heuristic to one that works on upstream kernels
+
+ We've been checking whether we have a DCON/are on an OLPC by looking for
+ files from the "olpc_dcon" kernel module. This module isn't upstream yet,
+ so this only works for the OLPC custom kernel. We might as well check for
+ an OLPC kernel module that *is* upstream, so that we can run on unmodified
+ distributions. This patch moves us to checking for "olpc-ac" instead.
+
+ Signed-off-by: Chris Ball
+
+commit e33dc807bf4504ba242cb19ce8024cdb32e10f4d
+Author: Chris Ball
+Date: Sun Feb 15 00:17:45 2009 -0500
+
+ Fix pMsk=NULL segfault at startup on OLPC
+
+ Commit 7c278551c79d7a5898c627341f58fad59b7ae20d uses pMsk without testing
+ for non-NULL, and this causes an immediate segfault when running Sugar.
+
+ Signed-off-by: Chris Ball
+
+commit 7c278551c79d7a5898c627341f58fad59b7ae20d
+Author: Mart Raudsepp
+Date: Fri Jan 9 19:32:50 2009 +0200
+
+ Fallback in case of mask transforms as well.
+
+ Fixes attachment #21519 test case on bug #15700, but not the initial report.
+ Detective work by Michel Dänzer.
+
+ Signed-off-by: Mart Raudsepp
+
commit 0e65d77a636848b6bc24518d8e45aed506122b49
Author: Jordan Crouse
Date: Tue Dec 9 20:54:20 2008 -0700
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.0/configure.ac new/xf86-video-geode-2.11.1/configure.ac
--- old/xf86-video-geode-2.11.0/configure.ac 2008-12-10 04:54:14.000000000 +0100
+++ new/xf86-video-geode-2.11.1/configure.ac 2009-02-16 19:46:00.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-geode],
- 2.11.0,
+ 2.11.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode],
xf86-video-geode)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.0/Makefile.am new/xf86-video-geode-2.11.1/Makefile.am
--- old/xf86-video-geode-2.11.0/Makefile.am 2008-11-17 18:37:03.000000000 +0100
+++ new/xf86-video-geode-2.11.1/Makefile.am 2009-02-16 19:45:09.000000000 +0100
@@ -28,6 +28,6 @@
.PHONY: ChangeLog
ChangeLog:
- (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+ (GIT_DIR=$(top_srcdir)/.git git log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
dist-hook: ChangeLog
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.0/missing new/xf86-video-geode-2.11.1/missing
--- old/xf86-video-geode-2.11.0/missing 2008-12-10 05:05:50.000000000 +0100
+++ new/xf86-video-geode-2.11.1/missing 2009-02-16 19:46:36.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2006-05-10.23
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
@@ -33,6 +33,8 @@
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +46,7 @@
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +79,7 @@
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -106,7 +109,7 @@
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case "$1" in
+case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -135,7 +138,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -164,7 +167,7 @@
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -192,8 +195,8 @@
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -214,25 +217,25 @@
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -244,18 +247,18 @@
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -267,11 +270,9 @@
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -289,11 +290,17 @@
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -317,13 +324,13 @@
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.0/src/geode_dcon.c new/xf86-video-geode-2.11.1/src/geode_dcon.c
--- old/xf86-video-geode-2.11.0/src/geode_dcon.c 2008-11-26 17:08:52.000000000 +0100
+++ new/xf86-video-geode-2.11.1/src/geode_dcon.c 2009-02-16 19:44:58.000000000 +0100
@@ -45,7 +45,7 @@
static int _dval = -1;
if (_dval == -1)
- _dval = (access("/sys/devices/platform/dcon", F_OK) == 0);
+ _dval = (access("/sys/class/power_supply/olpc-ac", F_OK) == 0);
return (Bool) _dval;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.0/src/lx_exa.c new/xf86-video-geode-2.11.1/src/lx_exa.c
--- old/xf86-video-geode-2.11.0/src/lx_exa.c 2008-11-17 18:37:03.000000000 +0100
+++ new/xf86-video-geode-2.11.1/src/lx_exa.c 2009-02-16 19:44:58.000000000 +0100
@@ -564,7 +564,11 @@
return FALSE;
}
- /* Keep an eye out for rotation transforms - those we can
+ /* We don't support any mask transforms */
+ if (pMsk && pMsk->transform)
+ return FALSE;
+
+ /* Keep an eye out for source rotation transforms - those we can
* do something about */
exaScratch.rotate = RR_Rotate_0;
++++++ xf86-video-glint-1.2.1.tar.bz2 -> xf86-video-glint-1.2.2.tar.bz2 ++++++
++++ 12085 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-glint-1.2.1/config.h.in new/xf86-video-glint-1.2.2/config.h.in
--- old/xf86-video-glint-1.2.1/config.h.in 2008-06-30 17:56:57.000000000 +0200
+++ new/xf86-video-glint-1.2.2/config.h.in 2008-12-22 05:32:33.000000000 +0100
@@ -2,6 +2,9 @@
#include "xorg-server.h"
+/* Have cfb8_32 support */
+#undef HAVE_CFB8_32
+
/* Define to 1 if you have the header file. */
#undef HAVE_DLFCN_H
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-glint-1.2.1/configure.ac new/xf86-video-glint-1.2.2/configure.ac
--- old/xf86-video-glint-1.2.1/configure.ac 2008-06-30 17:49:15.000000000 +0200
+++ new/xf86-video-glint-1.2.2/configure.ac 2008-12-22 05:32:17.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-glint],
- 1.2.1,
+ 1.2.2,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-glint)
@@ -69,6 +69,7 @@
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
[XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
[#include "xorg-server.h"])
+AC_CHECK_HEADER(cfb8_32.h,[AC_DEFINE(HAVE_CFB8_32, 1, [Have cfb8_32 support])],[])
CPPFLAGS="$SAVE_CPPFLAGS"
# Checks for header files.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-glint-1.2.1/src/glint_driver.c new/xf86-video-glint-1.2.2/src/glint_driver.c
--- old/xf86-video-glint-1.2.1/src/glint_driver.c 2008-06-24 00:07:01.000000000 +0200
+++ new/xf86-video-glint-1.2.2/src/glint_driver.c 2008-12-22 05:31:59.000000000 +0100
@@ -28,7 +28,6 @@
* this work is sponsored by S.u.S.E. GmbH, Fuerth, Elsa GmbH, Aachen,
* Siemens Nixdorf Informationssysteme and Appian Graphics.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c,v 1.162 2003/11/03 05:11:11 tsi Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -38,7 +37,6 @@
#include "micmap.h"
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
#include "xf86cmap.h"
@@ -694,17 +692,8 @@
if (pScrn)
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"claimed PCI slot %d:%d:%d\n",bus,device,func);
- } else {
- /* XXX This is a quick hack */
- int entity;
-
- entity = xf86ClaimIsaSlot(drv, 0,
- devSections[i], TRUE);
- pScrn = xf86ConfigIsaEntity(pScrn,0,entity,
- NULL,RES_SHARED_VGA,
- NULL,NULL,NULL,NULL);
}
- if (pScrn) {
+ if (pScrn) {
/* Fill in what we can of the ScrnInfoRec */
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"%s successfully probed\n", dev ? dev : "default framebuffer device");
@@ -2060,6 +2049,64 @@
xf86DrvMsg(pScrn->scrnIndex, from, "Max pixel clock is %d MHz\n",
pGlint->MaxClock / 1000);
+ /* Load DDC */
+ if (!xf86LoadSubModule(pScrn, "ddc")) {
+ GLINTFreeRec(pScrn);
+ return FALSE;
+ }
+ xf86LoaderReqSymLists(ddcSymbols, NULL);
+ /* Load I2C if needed */
+ if ((pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2V) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA3) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA4) ||
+ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_R4) ||
+ (pGlint->Chipset == PCI_VENDOR_TI_CHIP_PERMEDIA2)) {
+ if (xf86LoadSubModule(pScrn, "i2c")) {
+ I2CBusPtr pBus;
+
+ xf86LoaderReqSymLists(i2cSymbols, NULL);
+ if ((pBus = xf86CreateI2CBusRec())) {
+ pBus->BusName = "DDC";
+ pBus->scrnIndex = pScrn->scrnIndex;
+ pBus->I2CUDelay = Permedia2I2CUDelay;
+ pBus->I2CPutBits = Permedia2I2CPutBits;
+ pBus->I2CGetBits = Permedia2I2CGetBits;
+ pBus->DriverPrivate.ptr = pGlint;
+ if (!xf86I2CBusInit(pBus)) {
+ xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
+ } else
+ pGlint->DDCBus = pBus;
+ }
+
+ if ((pBus = xf86CreateI2CBusRec())) {
+ pBus->BusName = "Video";
+ pBus->scrnIndex = pScrn->scrnIndex;
+ pBus->I2CUDelay = Permedia2I2CUDelay;
+ pBus->I2CPutBits = Permedia2I2CPutBits;
+ pBus->I2CGetBits = Permedia2I2CGetBits;
+ pBus->DriverPrivate.ptr = pGlint;
+ if (!xf86I2CBusInit(pBus)) {
+ xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
+ } else
+ pGlint->VSBus = pBus;
+ }
+ }
+ }
+
+ /* DDC */
+ {
+ xf86MonPtr pMon = NULL;
+
+ if (pGlint->DDCBus)
+ pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pGlint->DDCBus);
+
+ if (!pMon)
+ /* Try DDC1 */;
+
+ xf86SetDDCproperties(pScrn,xf86PrintEDID(pMon));
+ }
+
/*
* Setup the ClockRanges, which describe what clock ranges are available,
* and what sort of modes they can be used for.
@@ -2386,51 +2433,6 @@
xf86LoaderReqSymLists(shadowSymbols, NULL);
}
- /* Load DDC */
- if (!xf86LoadSubModule(pScrn, "ddc")) {
- GLINTFreeRec(pScrn);
- return FALSE;
- }
- xf86LoaderReqSymLists(ddcSymbols, NULL);
- /* Load I2C if needed */
- if ((pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2V) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA3) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA4) ||
- (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_R4) ||
- (pGlint->Chipset == PCI_VENDOR_TI_CHIP_PERMEDIA2)) {
- if (xf86LoadSubModule(pScrn, "i2c")) {
- I2CBusPtr pBus;
-
- xf86LoaderReqSymLists(i2cSymbols, NULL);
- if ((pBus = xf86CreateI2CBusRec())) {
- pBus->BusName = "DDC";
- pBus->scrnIndex = pScrn->scrnIndex;
- pBus->I2CUDelay = Permedia2I2CUDelay;
- pBus->I2CPutBits = Permedia2I2CPutBits;
- pBus->I2CGetBits = Permedia2I2CGetBits;
- pBus->DriverPrivate.ptr = pGlint;
- if (!xf86I2CBusInit(pBus)) {
- xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
- } else
- pGlint->DDCBus = pBus;
- }
-
- if ((pBus = xf86CreateI2CBusRec())) {
- pBus->BusName = "Video";
- pBus->scrnIndex = pScrn->scrnIndex;
- pBus->I2CUDelay = Permedia2I2CUDelay;
- pBus->I2CPutBits = Permedia2I2CPutBits;
- pBus->I2CGetBits = Permedia2I2CGetBits;
- pBus->DriverPrivate.ptr = pGlint;
- if (!xf86I2CBusInit(pBus)) {
- xf86DestroyI2CBusRec(pBus, TRUE, TRUE);
- } else
- pGlint->VSBus = pBus;
- }
- }
- }
-
TRACE_EXIT("GLINTPreInit");
return TRUE;
}
@@ -2885,7 +2887,9 @@
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
GLINTPtr pGlint = GLINTPTR(pScrn);
int ret, displayWidth;
+#if HAVE_CFB8_32
int init_picture = 0;
+#endif
unsigned char *FBStart;
VisualPtr visual;
@@ -2905,19 +2909,6 @@
/* Save the current state */
GLINTSave(pScrn);
- /* DDC */
- {
- xf86MonPtr pMon = NULL;
-
- if (pGlint->DDCBus)
- pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pGlint->DDCBus);
-
- if (!pMon)
- /* Try DDC1 */;
-
- xf86SetDDCproperties(pScrn,xf86PrintEDID(pMon));
- }
-
/* Initialise the first mode */
if ( (!pGlint->FBDev) && !(GLINTModeInit(pScrn, pScrn->currentMode))) {
xf86DrvMsg(scrnIndex, X_ERROR,
@@ -3003,10 +2994,14 @@
case 8:
case 16:
case 24:
+#if !HAVE_CFB8_32
+ case 32:
+#endif
ret = fbScreenInit(pScreen, FBStart,
pScrn->virtualX, pScrn->virtualY,
pScrn->xDpi, pScrn->yDpi,
displayWidth, pScrn->bitsPerPixel);
+#if HAVE_CFB8_32
init_picture = 1;
break;
case 32:
@@ -3022,6 +3017,7 @@
displayWidth, pScrn->bitsPerPixel);
init_picture = 1;
}
+#endif
break;
default:
xf86DrvMsg(scrnIndex, X_ERROR,
@@ -3059,7 +3055,9 @@
}
/* must be after RGB ordering fixed */
+#if HAVE_CFB8_32
if (init_picture)
+#endif
fbPictureInit(pScreen, 0, 0);
if (!pGlint->NoAccel) {
switch (pGlint->Chipset)
@@ -3188,11 +3186,13 @@
}
}
+#if HAVE_CFB8_32
if((pScrn->overlayFlags & OVERLAY_8_32_PLANAR) &&
(pScrn->bitsPerPixel == 32)) {
if(!xf86Overlay8Plus32Init(pScreen))
return FALSE;
}
+#endif
if(pGlint->ShadowFB)
ShadowFBInit(pScreen, GLINTRefreshArea);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-glint-1.2.1/src/glintpcirename.h new/xf86-video-glint-1.2.2/src/glintpcirename.h
--- old/xf86-video-glint-1.2.1/src/glintpcirename.h 2008-06-24 00:04:21.000000000 +0200
+++ new/xf86-video-glint-1.2.2/src/glintpcirename.h 2008-12-22 05:31:59.000000000 +0100
@@ -77,6 +77,9 @@
#define PCI_WRITE_LONG(_pcidev, _value, _offset) \
pciWriteLong(PCI_CFG_TAG(_pcidev), (_offset), (_value))
+#define PCI_WRITE_BYTE(_pcidev, _value, _offset) \
+ pciWriteByte(PCI_CFG_TAG(_pcidev), (_offset), (_value))
+
#else /* XSERVER_LIBPCIACCESS */
typedef struct pci_device *pciVideoPtr;
@@ -117,6 +120,9 @@
#define PCI_WRITE_LONG(_pcidev, _value, _offset) \
pci_device_cfg_write_u32((_pcidev), (_value), (_offset))
+#define PCI_WRITE_BYTE(_pcidev, _value, _offset) \
+ pci_device_cfg_write_u8((_pcidev), (_value), (_offset))
+
#endif /* XSERVER_LIBPCIACCESS */
#endif /* SISPCIRENAME_H */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-glint-1.2.1/src/pm3_dac.c new/xf86-video-glint-1.2.2/src/pm3_dac.c
--- old/xf86-video-glint-1.2.1/src/pm3_dac.c 2008-06-24 00:04:21.000000000 +0200
+++ new/xf86-video-glint-1.2.2/src/pm3_dac.c 2008-12-22 05:31:59.000000000 +0100
@@ -437,9 +437,9 @@
"VX1 secondary enabling VGA before int10\n");
/* Enable VGA on the current card. */
- pciWriteByte( pGlint->PciTag, 0xf8, 0 );
- pciWriteByte( pGlint->PciTag, 0xf4, 0 );
- pciWriteByte( pGlint->PciTag, 0xfc, 0 );
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0, 0xf8);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0, 0xf4);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0, 0xfc);
/* The card we are on should be VGA-enabled now, so run int10. */
if (xf86LoadSubModule(pScrn, "int10")) {
@@ -455,9 +455,9 @@
"VX1 secondary disabling VGA after int10\n");
/* Finally, disable VGA on the current card. */
- pciWriteByte( pGlint->PciTag, 0xf8, 0x70 );
- pciWriteByte( pGlint->PciTag, 0xf4, 0x01 );
- pciWriteByte( pGlint->PciTag, 0xfc, 0x00 );
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0x70, 0xf8);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0x01, 0xf4);
+ PCI_WRITE_BYTE(pGlint->PciInfo, 0x00, 0xfc);
}
}
#endif /* __alpha__ */
++++++ xf86-video-neomagic-1.2.1.tar.bz2 -> xf86-video-neomagic-1.2.2.tar.bz2 ++++++
++++ 11918 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-neomagic-1.2.1/config.h.in new/xf86-video-neomagic-1.2.2/config.h.in
--- old/xf86-video-neomagic-1.2.1/config.h.in 2008-05-21 21:50:38.000000000 +0200
+++ new/xf86-video-neomagic-1.2.2/config.h.in 2008-12-22 05:37:38.000000000 +0100
@@ -8,6 +8,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
+/* Have ISA support */
+#undef HAVE_ISA
+
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-neomagic-1.2.1/configure.ac new/xf86-video-neomagic-1.2.2/configure.ac
--- old/xf86-video-neomagic-1.2.1/configure.ac 2008-05-21 21:50:00.000000000 +0200
+++ new/xf86-video-neomagic-1.2.2/configure.ac 2008-12-22 05:37:16.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-neomagic],
- 1.2.1,
+ 1.2.2,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-neomagic)
@@ -59,6 +59,14 @@
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+save_CFLAGS="$CFLAGS"
+CFLAGS="$XORG_CFLAGS"
+AC_CHECK_DECL(xf86ConfigIsaEntity,
+ [AC_DEFINE(HAVE_ISA, 1, [Have ISA support])],
+ [],
+ [#include "xf86.h"])
+CFLAGS="$save_CFLAGS"
+
# Checks for libraries.
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-neomagic-1.2.1/src/neo_driver.c new/xf86-video-neomagic-1.2.2/src/neo_driver.c
--- old/xf86-video-neomagic-1.2.1/src/neo_driver.c 2008-05-21 21:49:50.000000000 +0200
+++ new/xf86-video-neomagic-1.2.2/src/neo_driver.c 2008-12-22 05:37:05.000000000 +0100
@@ -62,9 +62,6 @@
/* Drivers that need to access the PCI config space directly need this */
#include "xf86Pci.h"
-/* This is used for module versioning */
-#include "xf86Version.h"
-
/* All drivers using the vgahw module need this */
#include "vgaHW.h"
@@ -325,6 +322,7 @@
{ -1, -1, RES_UNDEFINED}
};
+#ifdef HAVE_ISA
static IsaChipsets NEOISAchipsets[] = {
{ NM2070, RES_EXCLUSIVE_VGA },
{ NM2090, RES_EXCLUSIVE_VGA },
@@ -334,6 +332,7 @@
{ NM2200, RES_EXCLUSIVE_VGA },
{ -1, RES_UNDEFINED }
};
+#endif
/* The options supported by the Neomagic Driver */
typedef enum {
@@ -646,7 +645,8 @@
xfree(usedChips);
}
}
-
+
+#ifdef HAVE_ISA
/* Isa Bus */
numUsed = xf86MatchIsaInstances(NEO_NAME,NEOChipsets,NEOISAchipsets,
@@ -677,11 +677,13 @@
}
xfree(usedChips);
}
+#endif
xfree(devSections);
return foundScreen;
}
+#ifdef HAVE_ISA
static int
neoFindIsaDevice(GDevPtr dev)
{
@@ -708,7 +710,7 @@
return -1;
}
}
-
+#endif
/* Mandatory */
Bool
++++++ xf86-video-rendition-4.2.0.tar.bz2 -> xf86-video-rendition-4.2.1.tar.bz2 ++++++
++++ 60456 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-rendition-4.2.0/ChangeLog new/xf86-video-rendition-4.2.1/ChangeLog
--- old/xf86-video-rendition-4.2.0/ChangeLog 2008-03-19 19:47:10.000000000 +0100
+++ new/xf86-video-rendition-4.2.1/ChangeLog 2009-02-24 16:15:44.000000000 +0100
@@ -1,3 +1,21 @@
+commit 29c9c203a1541df36685b6bedd3d4955c5882508
+Author: Alan Coopersmith
+Date: Fri Jan 9 16:32:50 2009 -0800
+
+ Remove xorgconfig & xorgcfg from See Also list in man page
+
+commit 1de42780432957381a05fc565f04124df7f536e0
+Author: Adam Jackson
+Date: Fri Aug 15 14:06:54 2008 -0400
+
+ Uninclude xf86Version.h
+
+commit 6a565d3a8caad1d44e9cfc724fc8298b3ce023e5
+Author: Adam Jackson
+Date: Wed Mar 19 14:50:31 2008 -0400
+
+ rendition 4.2.0
+
commit e943057ef844a7a3153b6158f3dd26ae02296e98
Author: Adam Jackson
Date: Wed Mar 19 14:45:52 2008 -0400
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-rendition-4.2.0/config.h.in new/xf86-video-rendition-4.2.1/config.h.in
--- old/xf86-video-rendition-4.2.0/config.h.in 2008-03-19 19:47:10.000000000 +0100
+++ new/xf86-video-rendition-4.2.1/config.h.in 2009-02-24 16:15:44.000000000 +0100
@@ -44,6 +44,10 @@
/* Have 4bpp support */
#undef HAVE_XF4BPP
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
/* Name of package */
#undef PACKAGE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-rendition-4.2.0/configure.ac new/xf86-video-rendition-4.2.1/configure.ac
--- old/xf86-video-rendition-4.2.0/configure.ac 2008-03-19 19:46:00.000000000 +0100
+++ new/xf86-video-rendition-4.2.1/configure.ac 2009-02-24 16:15:10.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-rendition],
- 4.2.0,
+ 4.2.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-rendition)
@@ -84,6 +84,7 @@
XORG_MANPAGE_SECTIONS
XORG_RELEASE_VERSION
+XORG_CHANGELOG
XORG_CHECK_LINUXDOC
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-rendition-4.2.0/Makefile.am new/xf86-video-rendition-4.2.1/Makefile.am
--- old/xf86-video-rendition-4.2.0/Makefile.am 2008-03-19 15:30:59.000000000 +0100
+++ new/xf86-video-rendition-4.2.1/Makefile.am 2009-02-24 16:15:22.000000000 +0100
@@ -33,6 +33,6 @@
.PHONY: ChangeLog
ChangeLog:
- (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+ $(CHANGELOG_CMD)
dist-hook: ChangeLog
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-rendition-4.2.0/man/rendition.man new/xf86-video-rendition-4.2.1/man/rendition.man
--- old/xf86-video-rendition-4.2.0/man/rendition.man 2008-03-19 15:30:59.000000000 +0100
+++ new/xf86-video-rendition-4.2.1/man/rendition.man 2009-02-24 16:12:28.000000000 +0100
@@ -107,6 +107,6 @@
.B "Option \*qMTRR\*q"
to let the driver request write-combining of memory access on the video board.
.SH "SEE ALSO"
-__xservername__(1), __xconfigfile__(__filemansuffix__), xorgconfig(1), Xserver(1), X(__miscmansuffix__)
+__xservername__(1), __xconfigfile__(__filemansuffix__), Xserver(1), X(__miscmansuffix__)
.SH AUTHORS
Authors include: Marc Langenbach, Dejan Ilic
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-rendition-4.2.0/src/rendition.h new/xf86-video-rendition-4.2.1/src/rendition.h
--- old/xf86-video-rendition-4.2.0/src/rendition.h 2008-03-19 19:41:58.000000000 +0100
+++ new/xf86-video-rendition-4.2.1/src/rendition.h 2008-08-15 20:06:48.000000000 +0200
@@ -14,9 +14,6 @@
/* Everything using inb/outb, etc needs "compiler.h" */
#include "compiler.h"
-/* This is used for module versioning */
-#include "xf86Version.h"
-
/* Drivers for PCI hardware need this */
#include "xf86PciInfo.h"
++++++ xf86-video-s3-0.6.0.tar.bz2 -> xf86-video-s3-0.6.1.tar.bz2 ++++++
++++ 13369 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/ChangeLog new/xf86-video-s3-0.6.1/ChangeLog
--- old/xf86-video-s3-0.6.0/ChangeLog 2008-03-19 15:31:01.000000000 +0100
+++ new/xf86-video-s3-0.6.1/ChangeLog 2008-12-22 06:24:47.000000000 +0100
@@ -1,3 +1,27 @@
+2008-07-06 Evgeny M. Zubok
+
+ * src/s3_video.c:
+
+ Streams Processor initialization.
+
+ XVideo support for 16, 24 and 32 bpp (only for TRIO64V2).
+
+ * src/s3_driver.c:
+
+ Add XVideo option (enabled by default).
+
+ Replace "swcursor" by "hwcursor" option (HW cursor
+ not implemented yet for all chipsets).
+
+ Close bug #5527: 24-bit colour depth support (24bpp and
+ 32bpp framebuffer) for TRIO64V2. Acceleration doesn't work
+ with packed colour mode (24 bpp FB) but works with 32bpp
+ framebuffer mode (hardware limitation? -- need data).
+
+ Fix system hang-up when switching between console and X session.
+
+ Some minor changes of driver messages.
+
2008-02-23 Evgeny M. Zubok
* src/s3_driver.c: Add DPMS support for S3 Trio64V2 and possibly
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/configure.ac new/xf86-video-s3-0.6.1/configure.ac
--- old/xf86-video-s3-0.6.0/configure.ac 2008-03-19 19:53:21.000000000 +0100
+++ new/xf86-video-s3-0.6.1/configure.ac 2008-12-22 06:25:40.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-s3],
- 0.6.0,
+ 0.6.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-s3)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/Makefile.am new/xf86-video-s3-0.6.1/src/Makefile.am
--- old/xf86-video-s3-0.6.0/src/Makefile.am 2008-03-19 19:54:46.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/Makefile.am 2008-12-22 06:24:47.000000000 +0100
@@ -39,13 +39,12 @@
s3_pcirename.h \
s3_reg.h \
s3_Ti.c \
- s3_Trio64DAC.c \
- s3_video.c
+ s3_Trio64DAC.c
noinst_LTLIBRARIES = libs3_accel_newmmio.la libs3_accel_pio.la
s3_drv_la_LIBADD = libs3_accel_newmmio.la libs3_accel_pio.la
-libs3_accel_newmmio_la_SOURCES = s3_accel.c
+libs3_accel_newmmio_la_SOURCES = s3_accel.c s3_video.c
libs3_accel_newmmio_la_CFLAGS = $(AM_CFLAGS) -DS3_NEWMMIO=1
libs3_accel_pio_la_SOURCES = s3_accel.c
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/newmmio.h new/xf86-video-s3-0.6.1/src/newmmio.h
--- old/xf86-video-s3-0.6.0/src/newmmio.h 2008-03-19 19:53:10.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/newmmio.h 2008-12-22 06:24:47.000000000 +0100
@@ -248,10 +248,10 @@
#define WaitQueue(v) \
- if(!(pS3->PCIRetry)) { \
+ if(!(pS3->PCIRetry)) { \
mem_barrier(); \
- while(inb(GP_STAT) & (0x0100 >> (v))); \
- }
+ while(INB_GP_STAT() & (0x0100 >> (v))); \
+ }
#define CMD_REG_WIDTH 0x200 /* select 32bit command register */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/s3_accel.c new/xf86-video-s3-0.6.1/src/s3_accel.c
--- old/xf86-video-s3-0.6.0/src/s3_accel.c 2008-03-19 19:53:10.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/s3_accel.c 2008-12-22 06:24:47.000000000 +0100
@@ -140,7 +140,7 @@
}
}
-
+#if 0
static void S3SetupForColor8x8PatternFill(ScrnInfoPtr pScrn,
int patx, int paty,
int rop, unsigned int planemask,
@@ -182,6 +182,7 @@
SET_MULT_MISC(CMD_REG_WIDTH);
}
}
+#endif
#ifdef S3_NEWMMIO
static void S3SetupForCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
@@ -569,9 +570,22 @@
pXAA->SetupForScreenToScreenCopy = S3SetupForScreenToScreenCopy;
pXAA->SubsequentScreenToScreenCopy = S3SubsequentScreenToScreenCopy;
+ pXAA->ScreenToScreenCopyFlags = NO_TRANSPARENCY;
+#if 0
+/*
+ 8x8 color pattern filling doesn't work properly after introducing
+ framebuffer manager initialization before XAA initialization. There
+ are problems with addressing a colour patterns from offscreen area.
+*/
pXAA->SetupForColor8x8PatternFill = S3SetupForColor8x8PatternFill;
pXAA->SubsequentColor8x8PatternFillRect = S3SubsequentColor8x8PatternFillRect;
+ pXAA->Color8x8PatternFillFlags = NO_TRANSPARENCY |
+ HARDWARE_PATTERN_SCREEN_ORIGIN |
+ BIT_ORDER_IN_BYTE_MSBFIRST;
+
+ pXAA->CachePixelGranularity = 0;
+#endif
#ifdef S3_NEWMMIO
pXAA->SetupForCPUToScreenColorExpandFill =
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/s3_driver.c new/xf86-video-s3-0.6.1/src/s3_driver.c
--- old/xf86-video-s3-0.6.0/src/s3_driver.c 2008-03-19 19:53:10.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/s3_driver.c 2008-12-22 06:30:35.000000000 +0100
@@ -43,7 +43,6 @@
#include "xf86_OSproc.h"
#include "xf86Pci.h"
#include "xf86PciInfo.h"
-#include "xf86Version.h"
#include "xf86Resources.h"
#include "xf86fbman.h"
#include "xf86cmap.h"
@@ -54,6 +53,7 @@
#include "micmap.h"
#include "mibstore.h"
#include "fb.h"
+#include "inputstr.h"
#include "IBM.h"
#include "TI.h"
@@ -152,20 +152,22 @@
typedef enum {
OPTION_NOACCEL,
- OPTION_SWCURS,
+ OPTION_HWCURS,
OPTION_SLOW_DRAM_REFRESH,
OPTION_SLOW_DRAM,
OPTION_SLOW_EDODRAM,
- OPTION_SLOW_VRAM
+ OPTION_SLOW_VRAM,
+ OPTION_XVIDEO
} S3Opts;
static OptionInfoRec S3Options[] = {
{ OPTION_NOACCEL, "noaccel", OPTV_BOOLEAN, {0}, FALSE },
- { OPTION_SWCURS, "swcursor", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_HWCURS, "hwcursor", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_SLOW_DRAM_REFRESH, "slow_dram_refresh", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_SLOW_DRAM, "slow_dram", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_SLOW_EDODRAM, "slow_edodram", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_SLOW_VRAM, "slow_vram", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_XVIDEO, "XVideo", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -388,21 +390,20 @@
pScrn->monitor = pScrn->confScreen->monitor;
if (!xf86SetDepthBpp(pScrn, 0, 0, 0, Support24bppFb | Support32bppFb))
- return FALSE;
+ return FALSE;
switch (pScrn->depth) {
- case 8:
- case 15:
- case 16:
- case 24:
- case 32:
- /* OK */
- break;
- default:
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "Given depth (%d) is not supported by this driver\n",
- pScrn->depth);
- return FALSE;
+ case 8:
+ case 15:
+ case 16:
+ case 24:
+ /* OK */
+ break;
+ default:
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Given depth (%d) is not supported by this driver\n",
+ pScrn->depth);
+ return FALSE;
}
xf86PrintDepthBpp(pScrn);
@@ -427,37 +428,13 @@
xf86CollectOptions(pScrn, NULL);
xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, S3Options);
- if (xf86ReturnOptValBool(S3Options, OPTION_NOACCEL, FALSE)) {
- pS3->NoAccel = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Option: NoAccel - acceleration disabled\n");
- } else
- pS3->NoAccel = FALSE;
- if (xf86ReturnOptValBool(S3Options, OPTION_SWCURS, FALSE)) {
- pS3->SWCursor = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Option: SWCursor - using software cursor\n");
- } else
- pS3->SWCursor = FALSE;
- if (xf86ReturnOptValBool(S3Options, OPTION_SLOW_DRAM_REFRESH, FALSE)) {
- pS3->SlowDRAMRefresh = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Option: Slow DRAM Refresh enabled\n");
- } else
- pS3->SlowDRAMRefresh = FALSE;
- if (xf86ReturnOptValBool(S3Options, OPTION_SLOW_DRAM, FALSE)) {
- pS3->SlowDRAM = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Option: Slow DRAM enabled\n");
- } else
- pS3->SlowDRAM = FALSE;
- if (xf86ReturnOptValBool(S3Options, OPTION_SLOW_EDODRAM, FALSE)) {
- pS3->SlowEDODRAM = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Option: Slow EDO DRAM enabled\n");
- } else
- pS3->SlowEDODRAM = FALSE;
- if (xf86ReturnOptValBool(S3Options, OPTION_SLOW_DRAM, FALSE)) {
- pS3->SlowVRAM = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Option: Slow VRAM enabled\n");
- } else
- pS3->SlowVRAM = FALSE;
-
+ pS3->XVideo = xf86ReturnOptValBool(S3Options, OPTION_XVIDEO, TRUE);
+ pS3->NoAccel = xf86ReturnOptValBool(S3Options, OPTION_NOACCEL, FALSE);
+ pS3->HWCursor = xf86ReturnOptValBool(S3Options, OPTION_HWCURS, FALSE);
+ pS3->SlowDRAMRefresh = xf86ReturnOptValBool(S3Options, OPTION_SLOW_DRAM_REFRESH, FALSE);
+ pS3->SlowDRAM = xf86ReturnOptValBool(S3Options, OPTION_SLOW_DRAM, FALSE);
+ pS3->SlowEDODRAM = xf86ReturnOptValBool(S3Options, OPTION_SLOW_EDODRAM, FALSE);
+ pS3->SlowVRAM = xf86ReturnOptValBool(S3Options, OPTION_SLOW_VRAM, FALSE);
if (pScrn->numEntities > 1) {
S3FreeRec(pScrn);
return FALSE;
@@ -532,6 +509,11 @@
break;
}
+ if (HAS_STREAMS_PROCESSOR() && pS3->S3NewMMIO)
+ pS3->hasStreams = TRUE;
+ else
+ pS3->hasStreams = FALSE;
+
pS3->FBAddress = PCI_REGION_BASE(pS3->PciInfo, 0, REGION_MEM);
pScrn->memPhysBase = pS3->FBAddress;
pScrn->fbOffset = 0;
@@ -581,9 +563,10 @@
if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
{
+ /* disable DAC power saving to avoid bright left edge */
outb (0x3d4, 0x86);
outb (0x3d5, 0x80);
-
+ /* disable the stream display fetch length control */
outb (0x3d4, 0x90);
outb (0x3d5, 0x00);
}
@@ -664,17 +647,28 @@
#endif
switch(pScrn->bitsPerPixel) {
case 8:
- pS3->MaxClock = 135000;
+ if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
+ pS3->MaxClock = 170000;
+ else
+ pS3->MaxClock = 135000;
+
+ pScrn->rgbBits = 6;
break;
case 16:
pS3->MaxClock = 80000;
+ pScrn->rgbBits = 6;
break;
case 24:
case 32:
- pS3->MaxClock = 50000;
+ if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
+ pS3->MaxClock = 56700;
+ else
+ pS3->MaxClock = 50000;
+
+ pScrn->rgbBits = 8;
break;
}
- pScrn->rgbBits = 6;
+
pS3->LoadPalette = S3GenericLoadPalette;
}
@@ -684,7 +678,7 @@
return FALSE;
}
- if (pS3->SWCursor)
+ if (!pS3->HWCursor)
pS3->CursorInit = NULL;
pS3->RefClock = S3GetRefClock(pScrn);
@@ -749,6 +743,7 @@
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
S3Ptr pS3 = S3PTR(pScrn);
+ BoxRec ScreenArea;
pScrn->fbOffset = 0;
@@ -811,31 +806,71 @@
miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
+ /* framebuffer manager setup */
+ ScreenArea.x1 = 0;
+ ScreenArea.y1 = 0;
+ ScreenArea.x2 = pScrn->displayWidth;
+ ScreenArea.y2 = (pScrn->videoRam * 1024) / pS3->s3BppDisplayWidth;
+
+ if (!xf86InitFBManager(pScreen, &ScreenArea)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Memory manager initialization to (%d,%d) (%d,%d) failed\n",
+ ScreenArea.x1, ScreenArea.y1,
+ ScreenArea.x2, ScreenArea.y2);
+ return FALSE;
+ } else
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Memory manager initialized to (%d,%d) (%d,%d)\n",
+ ScreenArea.x1, ScreenArea.y1,
+ ScreenArea.x2, ScreenArea.y2);
+
+
+ /* 2D acceleration setup */
+
+ if (pS3->NoAccel)
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "Acceleration disabled (by option)\n");
+
+ /* It seems that acceleration isn't supported for 24-bit packed
+ colour. Disable it for S3 Trio64V2 */
+ if (!pS3->NoAccel && (pScrn->bitsPerPixel == 24) &&
+ (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Acceleration isn't supported for 24 bpp. Disabled.\n");
+ pS3->NoAccel = TRUE;
+ }
+
if (!pS3->NoAccel) {
- if (pS3->S3NewMMIO) {
+ if (pS3->S3NewMMIO)
if (S3AccelInitNewMMIO(pScreen)) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Acceleration enabled\n");
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using NewMMIO\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Acceleration enabled\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Using NewMMIO\n");
} else {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Acceleration initialization failed\n");
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Acceleration disabled\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Acceleration initialization failed\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Acceleration disabled\n");
}
- } else {
+ else {
if (S3AccelInitPIO(pScreen)) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Acceleration enabled\n");
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using PIO\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Acceleration enabled\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Using PIO\n");
} else {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Acceleration initialization failed\n");
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Acceleration disabled\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Acceleration initialization failed\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Acceleration disabled\n");
}
}
- } else {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Acceleration disabled by option\n");
}
-
+
miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
- /* hw cursor setup */
+ /* HW cursor setup */
+
if (pS3->CursorInit) {
if (pS3->CursorInit(pScreen))
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using HW cursor\n");
@@ -869,10 +904,54 @@
pScrn->racIoFlags = pScrn->racMemFlags = RAC_COLORMAP
| RAC_FB | RAC_VIEWPORT | RAC_CURSOR;
-#if 0
- S3InitVideo(pScreen);
-#endif
+ if (pS3->SlowEDODRAM)
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "SlowEDODRAM: Setting 2-cycle EDO\n");
+
+ if (pS3->SlowVRAM)
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "SlowVRAM: -RAS low time is 4.5 MCLKs\n");
+
+ if (pS3->SlowDRAM)
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "SlowDRAM: -RAS precharge time is 3.5 MCLKs\n");
+
+ if (pS3->SlowDRAMRefresh)
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "SlowDRAMRefresh: three refresh cycles per scanline\n");
+
+ /* XVideo setup */
+
+ if (pS3->XVideo) {
+ if (!pS3->hasStreams) {
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Overlay video isn't supported by video hardware. Disabled.\n");
+ pS3->XVideo = FALSE;
+ } else if (pScrn->bitsPerPixel < 16) {
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Overlay video isn't supported for %d bpp. Disabled.\n", pScrn->bitsPerPixel);
+ pS3->XVideo = FALSE;
+ }
+ } else
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "Overlay video disabled by option\n");
+ /* At present time we support XV only for chips with New MMIO */
+ if ((pS3->XVideo) && (pS3->S3NewMMIO))
+ S3InitVideo(pScreen);
+
+ switch (pScrn->bitsPerPixel) {
+ case 8:
+ pS3->Streams_FIFO = FIFO_PS16_SS8;
+ break;
+ case 15:
+ case 16:
+ pS3->Streams_FIFO = FIFO_PS12_SS12;
+ break;
+ case 24:
+ case 32:
+ pS3->Streams_FIFO = FIFO_PS8_SS16;
+ break;
+ }
+
return TRUE;
}
@@ -1053,7 +1132,7 @@
void** result = (void**)&pS3->FBBase;
int err = pci_device_map_range(pS3->PciInfo,
pS3->FBAddress,
- pS3->videoRam * 1024,
+ pScrn->videoRam * 1024,
PCI_DEV_MAP_FLAG_WRITABLE |
PCI_DEV_MAP_FLAG_WRITE_COMBINE,
result);
@@ -1107,8 +1186,12 @@
shift = 1; /* XXX IBMRGB */
else if (pS3->Chipset == PCI_CHIP_TRIO ||
pS3->Chipset == PCI_CHIP_TRIO64UVP ||
- pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
- shift = -(pS3->s3Bpp >> 1);
+ pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX) {
+ if (pS3->s3Bpp == 2)
+ shift = -1;
+ else
+ shift = 0;
+ }
return shift;
}
@@ -1134,13 +1217,22 @@
pS3->s3ScissB = ((pScrn->videoRam * 1024) / pS3->s3BppDisplayWidth) - 1;
pS3->s3ScissR = pScrn->displayWidth - 1;
- if (mode->HTotal == mode->CrtcHTotal) {
+ /*
+ Set correct blanking for S3 Trio64V2. It's also needed
+ to clear cr33_5.
+ */
+ if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
+ mode->CrtcHBlankStart = mode->CrtcHDisplay + 8;
+
+ if ((mode->HTotal == mode->CrtcHTotal) && (pS3->pixMuxShift != 0)) {
if (pS3->pixMuxShift > 0) {
/* XXX hack */
/* mode->Flags |= V_PIXMUX; */
mode->CrtcHTotal >>= pS3->pixMuxShift;
mode->CrtcHDisplay >>= pS3->pixMuxShift;
+ mode->CrtcHBlankStart >>= pS3->pixMuxShift;
+ mode->CrtcHBlankEnd >>= pS3->pixMuxShift;
mode->CrtcHSyncStart >>= pS3->pixMuxShift;
mode->CrtcHSyncEnd >>= pS3->pixMuxShift;
mode->CrtcHSkew >>= pS3->pixMuxShift;
@@ -1149,6 +1241,8 @@
mode->CrtcHTotal <<= -pS3->pixMuxShift;
mode->CrtcHDisplay <<= -pS3->pixMuxShift;
+ mode->CrtcHBlankStart <<= -pS3->pixMuxShift;
+ mode->CrtcHBlankEnd <<= -pS3->pixMuxShift;
mode->CrtcHSyncStart <<= -pS3->pixMuxShift;
mode->CrtcHSyncEnd <<= -pS3->pixMuxShift;
mode->CrtcHSkew <<= -pS3->pixMuxShift;
@@ -1202,13 +1296,12 @@
}
/* We need to set this first - S3 *is* broken */
- outw(vgaCRIndex, (pVga->CRTC[17] << 8) | 17);
+ outw(vgaCRIndex, (pVga->CRTC[17] << 8) | 17);
for(r=0; r<25; r++)
outw(vgaCRIndex, (pVga->CRTC[r] << 8) | r);
- for(r=0; r<9; r++) {
+ for(r=0; r<9; r++)
outw(0x3ce, (pVga->Graphics[r] << 8) | r);
- }
inb(vgaIOBase + 0x0a);
@@ -1235,19 +1328,14 @@
if ((pS3->Chipset == PCI_CHIP_964_0) ||
(pS3->Chipset == PCI_CHIP_964_1))
new->cr33 = 0x20;
+ else if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
+ new->cr33 &= ~0x20;
outb(vgaCRReg, new->cr33);
new->cr34 = 0x10;
outb(vgaCRIndex, 0x34);
outb(vgaCRReg, new->cr34);
- if (pS3->SlowDRAMRefresh)
- new->cr3a = 0xb7;
- else
- new->cr3a = 0xb5;
- outb(vgaCRIndex, 0x3a);
- outb(vgaCRReg, new->cr3a);
-
if (pS3->Chipset != PCI_CHIP_AURORA64VP) {
new->cr3b = (pVga->CRTC[0] + pVga->CRTC[4] + 1) / 2;
outb(vgaCRIndex, 0x3b);
@@ -1302,7 +1390,7 @@
tmp |= 0x10;
break;
case 24:
- tmp |= 0x20;
+ tmp |= 0x20; /* there is no such value in spec s3.txt */
break;
case 32:
tmp |= 0x30;
@@ -1373,6 +1461,16 @@
new->cr60 = n;
outb(vgaCRReg, new->cr60);
+ if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX) {
+ new->cr60 = 255;
+ outb(vgaCRIndex, 0x60);
+ outb(vgaCRReg, new->cr60);
+
+ new->cr54 = 31 << 3;
+ outb(vgaCRIndex, 0x54);
+ outb(vgaCRReg, new->cr54);
+ }
+
outb(vgaCRIndex, 0x55);
new->cr55 = (inb(vgaCRReg) & 0x08) | 0x40;
outb(vgaCRReg, new->cr55);
@@ -1387,10 +1485,10 @@
{
int i;
unsigned int j;
-
- i = ((((mode->CrtcHTotal >> 3) - 5) & 0x100) >> 8) |
- ((((mode->CrtcHDisplay >> 3) - 1) & 0x100) >> 7) |
- ((((mode->CrtcHSyncStart >> 3) - 1) & 0x100) >> 6) |
+
+ i = ((((mode->CrtcHTotal >> 3) - 5) & 0x100) >> 8) |
+ ((((mode->CrtcHDisplay >> 3) - 1) & 0x100) >> 7) |
+ ((((mode->CrtcHSyncStart >> 3) - 1) & 0x100) >> 6) |
((mode->CrtcHSyncStart & 0x800) >> 7);
if ((mode->CrtcHSyncEnd >> 3) - (mode->CrtcHSyncStart >> 3) > 64)
i |= 0x08;
@@ -1452,6 +1550,33 @@
outb(vgaCRReg, new->cr42);
}
+ if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX) {
+ unsigned char a;
+
+ outb(vgaCRIndex, 0x67);
+ a = inb(vgaCRReg) & 0xfe;
+
+ switch (pScrn->depth) {
+ case 8:
+ break;
+ case 15:
+ a |= (3 << 4);
+ break;
+ case 16:
+ a |= (5 << 4);
+ break;
+ case 24:
+ a |= (13 << 4);
+ break;
+ }
+
+ if (pS3->hasStreams)
+ a |= (3 << 2);
+
+ WaitVSync(); /* Wait for VSync before setting mode */
+ outb(vgaCRReg, a);
+ }
+
if (pS3->Chipset == PCI_CHIP_968) {
unsigned char a;
@@ -1513,6 +1638,35 @@
new->cr66 |= 0x80;
outb(vgaCRReg, new->cr66);
+ if (pS3->SlowDRAMRefresh)
+ new->cr3a = 0xb7;
+ else
+ new->cr3a = 0xb5;
+ outb(vgaCRIndex, 0x3a);
+ outb(vgaCRReg, new->cr3a);
+
+ /*
+ Set 3.5 MCLKs for -RAS low, 2.5 MCLKs for -RAS precharge,
+ disable -CAS/-OE adjustment. It seems that cr68 has different
+ format for 96x and TRIOs
+ */
+ if (!((pS3->Chipset == PCI_CHIP_968) ||
+ (pS3->Chipset == PCI_CHIP_964_0) ||
+ (pS3->Chipset == PCI_CHIP_964_1))) {
+
+ outb(vgaCRIndex, 0x39);
+ outb(vgaCRReg, 0xa5);
+
+ outb(vgaCRIndex, 0x68);
+ tmp = inb(vgaCRReg) & ~0x0f;
+ outb(vgaCRReg, tmp | 0x0f);
+
+ /* Enable 1-cycle EDO access */
+ outb(vgaCRIndex, 0x36);
+ tmp = inb(vgaCRReg);
+ outb(vgaCRReg, tmp & 0xf3);
+ }
+
if (pS3->SlowVRAM) {
/*
* some Diamond Stealth 64 VRAM cards have a problem with
@@ -1530,7 +1684,7 @@
if (pS3->SlowDRAM) {
/*
* fixes some pixel errors for a SPEA Trio64V+ card
- * increas -RAS precharge timing from 2.5 MCLKs
+ * increase -RAS precharge timing from 2.5 MCLKs
* to 3.5 MCLKs
*/
outb(vgaCRIndex, 0x39);
@@ -1543,7 +1697,7 @@
if (pS3->SlowEDODRAM) {
/*
* fixes some pixel errors for a SPEA Trio64V+ card
- * increas from 1-cycle to 2-cycle EDO mode
+ * increase from 1-cycle to 2-cycle EDO mode
*/
outb(vgaCRIndex, 0x39);
@@ -1626,13 +1780,8 @@
WaitQueue(5);
SET_SCISSORS(0, 0, pS3->s3ScissR, pS3->s3ScissB);
- outb(vgaCRIndex, 0x6f);
-
-#if 0
- if (((pScrn->bitsPerPixel == 16) ||
- (pScrn->bitsPerPixel == 24)) && (pS3->S3NewMMIO))
+ if (pS3->hasStreams)
S3InitStreams(pScrn, mode);
-#endif
return TRUE;
}
@@ -1755,7 +1904,7 @@
{
int px, py, a;
- miPointerPosition(&px, &py);
+ miPointerGetPosition(inputInfo.pointer, &px, &py);
if (pS3->s3Bpp == 1)
a = 4 - 1;
@@ -1784,7 +1933,7 @@
S3Ptr pS3 = S3PTR(pScrn);
int vgaCRIndex = pS3->vgaCRIndex, vgaCRReg = pS3->vgaCRReg;
-#if 1
+#if 0
outb(vgaCRIndex, 0x31);
ErrorF("cr31 = 0x%x\n", inb(vgaCRReg));
outb(vgaCRIndex, 0x32);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/s3.h new/xf86-video-s3-0.6.1/src/s3.h
--- old/xf86-video-s3-0.6.0/src/s3.h 2008-03-19 19:53:10.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/s3.h 2008-12-22 06:24:47.000000000 +0100
@@ -64,7 +64,7 @@
typedef struct {
unsigned char brightness;
unsigned char contrast;
- FBAreaPtr area;
+ FBLinearPtr area;
RegionRec clip;
CARD32 colorKey;
CARD32 videoStatus;
@@ -98,12 +98,15 @@
OptionInfoPtr Options;
unsigned int Flags;
Bool NoAccel;
- Bool SWCursor;
+ Bool HWCursor;
Bool SlowDRAMRefresh;
Bool SlowDRAM;
Bool SlowEDODRAM;
Bool SlowVRAM;
Bool S3NewMMIO;
+ Bool hasStreams;
+ int Streams_FIFO;
+ Bool XVideo;
Bool PCIRetry;
Bool ColorExpandBug;
@@ -159,7 +162,7 @@
unsigned char *imageBuffer;
int imageWidth;
int imageHeight;
- Bool hwCursor;
+ Bool hwCursor;
} S3Rec, *S3Ptr;
#define S3PTR(p) ((S3Ptr)((p)->driverPrivate))
@@ -234,9 +237,14 @@
#define S3_964_SERIES() ((pS3->Chipset == PCI_CHIP_964_0) || \
(pS3->Chipset == PCI_CHIP_964_1))
+
#define S3_TRIO_SERIES() ((pS3->Chipset == PCI_CHIP_TRIO) || \
(pS3->Chipset == PCI_CHIP_AURORA64VP) || \
(pS3->Chipset == PCI_CHIP_TRIO64UVP) || \
(pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX))
+#define HAS_STREAMS_PROCESSOR() ((pS3->Chipset == PCI_CHIP_AURORA64VP) || \
+ (pS3->Chipset == PCI_CHIP_TRIO64UVP) || \
+ (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX))
+
#endif /* _S3_H */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/s3_reg.h new/xf86-video-s3-0.6.1/src/s3_reg.h
--- old/xf86-video-s3-0.6.0/src/s3_reg.h 2008-03-19 19:53:10.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/s3_reg.h 2008-12-22 06:24:47.000000000 +0100
@@ -139,6 +139,16 @@
#define VECDIR_315 0x00e0
#define SSVDRAW 0x0010
+/*
+ * Some values for Streams FIFO.
+ * primary stream threshold | secondary stream threshold |
+ * secondary stream slots (can be 0, 8, 12, 16, 24) from 24 total
+ */
+#define FIFO_PS0_SS24 (0 << 10) | (12 << 5) | 24
+#define FIFO_PS8_SS16 (8 << 10) | (12 << 5) | 16
+#define FIFO_PS12_SS12 (6 << 10) | (8 << 5) | 12
+#define FIFO_PS16_SS8 (8 << 10) | (4 << 5) | 8
+#define FIFO_PS24_SS0 (12 << 10) | (0 << 5) | 0
#define S3_OUTW(p,n) outw(p, n)
#define S3_OUTL(p,n) outl(p, n)
@@ -153,6 +163,10 @@
while(inw(GP_STAT) & GPBUSY); \
} while(0)
+#define WaitVSync() { \
+ while (inb(0x3da) & 8); \
+ while (!(inb(0x3da) & 8)); \
+}
#ifdef S3_NEWMMIO
#include "newmmio.h"
@@ -162,13 +176,15 @@
*/
#define SET_BLEND_CNTL(val) ((mmtr)s3MmioMem)->streams_regs.regs.blend_cntl = (val)
#define SET_PSTREAM_CNTL(val) ((mmtr)s3MmioMem)->streams_regs.regs.prim_stream_cntl = (val)
-#define SET_PSTREAM_FBADDR(val) ((mmtr)s3MmioMem)->streams_regs.regs.prim_fbaddr0 = (val)
+#define SET_PSTREAM_FBADDR0(val) ((mmtr)s3MmioMem)->streams_regs.regs.prim_fbaddr0 = (val)
+#define SET_PSTREAM_FBADDR1(val) ((mmtr)s3MmioMem)->streams_regs.regs.prim_fbaddr1 = (val)
#define SET_PSTREAM_STRIDE(val) ((mmtr)s3MmioMem)->streams_regs.regs.prim_stream_stride = (val)
#define SET_PSTREAM_START(val) ((mmtr)s3MmioMem)->streams_regs.regs.prim_start_coord = (val)
#define SET_PSTREAM_WIND(val) ((mmtr)s3MmioMem)->streams_regs.regs.prim_window_size = (val)
#define SET_SSTREAM_CNTL(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_stream_cntl = (val)
#define SET_SSTRETCH(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_stream_stretch = (val)
-#define SET_SSTREAM_FBADDR(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_fbaddr0 = (val)
+#define SET_SSTREAM_FBADDR0(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_fbaddr0 = (val)
+#define SET_SSTREAM_FBADDR1(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_fbaddr1 = (val)
#define SET_SSTREAM_STRIDE(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_stream_stride = (val)
#define SET_SSTREAM_START(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_start_coord = (val)
#define SET_SSTREAM_WIND(val) ((mmtr)s3MmioMem)->streams_regs.regs.second_window_size = (val)
@@ -178,6 +194,7 @@
#define SET_CHROMA_KEY(val) ((mmtr)s3MmioMem)->streams_regs.regs.col_chroma_key_cntl = (val)
#define SET_DOUBLE_BUFFER(val) ((mmtr)s3MmioMem)->streams_regs.regs.double_buffer = (val)
#define SET_OPAQUE_OVERLAY(val) ((mmtr)s3MmioMem)->streams_regs.regs.opaq_overlay_cntl = (val)
+#define SET_FIFO_CNTL(val) ((mmtr)s3MmioMem)->streams_regs.regs.streams_fifo = (val)
#else
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/s3_Trio64DAC.c new/xf86-video-s3-0.6.1/src/s3_Trio64DAC.c
--- old/xf86-video-s3-0.6.0/src/s3_Trio64DAC.c 2008-03-19 19:53:10.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/s3_Trio64DAC.c 2008-12-22 06:24:47.000000000 +0100
@@ -35,6 +35,7 @@
#include "compiler.h"
#include "s3.h"
+#include "s3_reg.h"
/* this is really quite dumb */
Bool S3Trio64DACProbe(ScrnInfoPtr pScrn)
@@ -232,33 +233,30 @@
outb(0x3c4, 0x08);
outb(0x3c5, 0x06); /* unlock extended CR9-18 */
-
- if (clk != 10) {
- outb(0x3c4, 0x12);
- outb(0x3c5, n);
- outb(0x3c4, 0x13);
- outb(0x3c5, m);
-
- outb(0x3c4, 0x15);
- tmp = inb(0x3c5) & ~0x21;
- outb(0x3c5, tmp | 0x02);
- outb(0x3c5, tmp | 0x22);
- outb(0x3c5, tmp | 0x02);
- } else {
- outb(0x3c4, 0x10);
- outb(0x3c5, n);
- outb(0x3c4, 0x11);
- outb(0x3c5, m);
- outb(0x3c4, 0x1a);
- outb(0x3c5, n);
-
- outb(0x3c4, 0x15);
- tmp = inb(0x3c5) & ~0x21;
- outb(0x3c5, tmp | 0x01);
- outb(0x3c5, tmp | 0x21);
- outb(0x3c5, tmp | 0x01);
- outb(0x3c5, tmp);
- }
+
+ outb(0x3c4, 0x12); /* write N1 and N2 to DCLK PLL */
+ outb(0x3c5, n);
+ outb(0x3c4, 0x13); /* write M to DCLK PLL */
+ outb(0x3c5, m);
+
+#if 0
+/* this code was in previous driver version but it was never called.
+ So I decide to comment it. */
+ outb(0x3c4, 0x10);
+ outb(0x3c5, n);
+ outb(0x3c4, 0x11);
+ outb(0x3c5, m); */
+
+ outb(0x3c4, 0x1a);
+ outb(0x3c5, n);
+#endif
+ /* Toggle cr15_5 by sequence 0->1->0 to immediately apply
+ new PLL parameters */
+ outb(0x3c4, 0x15);
+ tmp = inb(0x3c5) & ~0x20;
+ outb(0x3c5, tmp);
+ outb(0x3c5, tmp | 0x20);
+ outb(0x3c5, tmp);
outb(0x3c4, 0x08);
outb(0x3c5, 0x00); /* lock em */
@@ -331,18 +329,17 @@
S3TrioSetClock(pScrn, mode->Clock, 2, 1, 1, 31, 0, 3, 2,
135000, 270000);
-
- outb(0x3c4, 1);
+ outb(0x3c4, 0x01);
blank = inb(0x3c5);
outb(0x3c5, blank | 0x20); /* blank the screen */
outb(0x3c4, 0x08);
sr8 = inb(0x3c5);
- outb(0x3c5, 0x06);
+ outb(0x3c5, 0x06); /* unlock extended sequenser register */
- outb(0x3c4, 0x0d0);
- tmp = inb(0x3c5) & ~1;
- outb(0x3c5, tmp);
+ outb(0x3c4, 0x0d);
+ tmp = inb(0x3c5) & ~0x01;
+ outb(0x3c5, tmp); /* VCLK, HSYNC, VSYNC are outputs */
outb(0x3c4, 0x15);
sr15 = inb(0x3c5) & ~0x10;
@@ -352,11 +349,6 @@
outb(pS3->vgaCRIndex, 0x33);
cr33 = inb(pS3->vgaCRReg) & ~0x28;
- if (pS3->Chipset == PCI_CHIP_TRIO64V2_DXGX)
- {
- cr33 |= 0x20;
- }
-
/* ! pixmux */
switch (pScrn->depth) {
case 8:
@@ -369,6 +361,7 @@
cr33 |= 0x08;
pixmux = 0x50;
break;
+ case 24:
case 32:
pixmux = 0xd0;
break;
@@ -377,6 +370,7 @@
outb(pS3->vgaCRReg, cr33);
outb(pS3->vgaCRIndex, 0x67);
+ WaitVSync();
outb(pS3->vgaCRReg, pixmux | invert_vclk);
outb(0x3c4, 0x15);
@@ -392,6 +386,6 @@
outb(0x3c4, 0x08);
outb(0x3c5, sr8);
- outb(0x3c4, 1);
+ outb(0x3c4, 0x01);
outb(0x3c5, blank); /* unblank the screen */
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3-0.6.0/src/s3_video.c new/xf86-video-s3-0.6.1/src/s3_video.c
--- old/xf86-video-s3-0.6.0/src/s3_video.c 2008-03-19 19:53:10.000000000 +0100
+++ new/xf86-video-s3-0.6.1/src/s3_video.c 2008-12-22 06:24:47.000000000 +0100
@@ -29,8 +29,6 @@
#include "config.h"
#endif
-#define S3_NEWMMIO /* previously defined in Imakefile in monolith */
-
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -59,7 +57,7 @@
static int S3QueryImageAttributes(ScrnInfoPtr, int, unsigned short *,
unsigned short *, int *, int *);
static void S3ResetVideoOverlay(ScrnInfoPtr);
-
+static FBLinearPtr S3XVMemAlloc(ScrnInfoPtr pScrn, pointer pVideo, int size);
void S3InitVideo(ScreenPtr pScreen)
@@ -70,12 +68,8 @@
XF86VideoAdaptorPtr newAdaptor = NULL;
int num_adaptors;
- if (((pScrn->bitsPerPixel == 16) ||
- (pScrn->bitsPerPixel == 24)) && (pS3->S3NewMMIO)) {
- newAdaptor = S3SetupImageVideoOverlay(pScreen);
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using overlay video\n");
- } else
- return;
+ newAdaptor = S3SetupImageVideoOverlay(pScreen);
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using overlay video\n");
num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors);
@@ -92,7 +86,7 @@
newAdaptors[num_adaptors] = newAdaptor;
adaptors = newAdaptors;
num_adaptors++;
- }
+ }
}
}
@@ -122,12 +116,42 @@
};
+static FBLinearPtr S3XVMemAlloc(ScrnInfoPtr pScrn, pointer pVideo, int size)
+{
+ FBLinearPtr pLinear = (FBLinearPtr)pVideo;
+ ScreenPtr pScreen = pScrn->pScreen;
+ if (pLinear) {
+ if ((pLinear->size >= size) ||
+ xf86ResizeOffscreenLinear(pLinear, size)) {
+ pLinear->MoveLinearCallback = NULL;
+ pLinear->RemoveLinearCallback = NULL;
+ return pLinear;
+ }
+ xf86FreeOffscreenLinear(pLinear);
+ }
+ pLinear = xf86AllocateOffscreenLinear(pScreen, size, 16,
+ NULL, NULL, NULL);
+
+ if (!pLinear) {
+ int maxSize;
+
+ xf86QueryLargestOffscreenLinear(pScreen, &maxSize, 16,
+ PRIORITY_EXTREME);
+ if (maxSize < size)
+ return NULL;
+
+ xf86PurgeUnlockedOffscreenAreas(pScreen);
+ pLinear = xf86AllocateOffscreenLinear(pScreen, size, 16,
+ NULL, NULL, NULL);
+ }
+ return pLinear;
+}
static XF86VideoFormatRec Formats[NUM_FORMATS_TEXTURE] =
{
- /*{15, TrueColor},*/ {16, TrueColor}, {24, TrueColor} /* ,
- {15, DirectColor}*/, {16, DirectColor}, {24, DirectColor}
+ {16, TrueColor}, {24, TrueColor},
+ {16, DirectColor}, {24, DirectColor}
};
@@ -188,7 +212,7 @@
return NULL;
if(!(pPriv = xcalloc(1, sizeof(S3PortPrivRec) +
- (sizeof(DevUnion) * S3_MAX_PORTS))))
+ (sizeof(DevUnion) * S3_MAX_PORTS))))
{
xfree(adapt);
return NULL;
@@ -199,15 +223,16 @@
for(i = 0; i < S3_MAX_PORTS; i++)
adapt->pPortPrivates[i].val = i;
- pPriv->colorKey = (1 << pScrn->offset.red) | (1 << pScrn->offset.green) |
- (((pScrn->mask.blue >> pScrn->offset.blue) - 1) << pScrn->offset.blue);
+ pPriv->colorKey = (1 << pScrn->offset.red) |
+ (1 << pScrn->offset.green) |
+ (((pScrn->mask.blue >> pScrn->offset.blue) - 1) << pScrn->offset.blue);
pPriv->videoStatus = 0;
pPriv->lastPort = -1;
pS3->adaptor = adapt;
pS3->portPrivate = pPriv;
-
+
return adapt;
}
@@ -262,11 +287,13 @@
REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
if (exit) {
+ SET_FIFO_CNTL(0x00080000 | FIFO_PS24_SS0);
+
if (pPriv->videoStatus & CLIENT_VIDEO_ON)
SET_BLEND_CNTL(0x01000000);
-
+
if (pPriv->area) {
- xf86FreeOffscreenArea(pPriv->area);
+ xf86FreeOffscreenLinear(pPriv->area);
pPriv->area = NULL;
}
@@ -274,47 +301,6 @@
}
}
-
-static FBAreaPtr S3AllocateMemory(ScrnInfoPtr pScrn, FBAreaPtr area,
- int numlines)
-{
- ScreenPtr pScreen;
- FBAreaPtr new_area;
-
- if(area) {
- if((area->box.y2 - area->box.y1) >= numlines)
- return area;
-
- if(xf86ResizeOffscreenArea(area, pScrn->displayWidth, numlines))
- return area;
-
- xf86FreeOffscreenArea(area);
- }
-
- pScreen = screenInfo.screens[pScrn->scrnIndex];
-
- new_area = xf86AllocateOffscreenArea(pScreen, pScrn->displayWidth,
- numlines, 0, NULL, NULL, NULL);
-
- if(!new_area) {
- int max_w, max_h;
-
- xf86QueryLargestOffscreenArea(pScreen, &max_w, &max_h, 0,
- FAVOR_WIDTH_THEN_AREA, PRIORITY_EXTREME);
-
- if((max_w < pScrn->displayWidth) || (max_h < numlines))
- return NULL;
-
- xf86PurgeUnlockedOffscreenAreas(pScreen);
- new_area = xf86AllocateOffscreenArea(pScreen, pScrn->displayWidth,
- numlines, 0, NULL, NULL, NULL);
- }
-
- return new_area;
-}
-
-
-
static void S3DisplayVideoOverlay(ScrnInfoPtr pScrn, int id, int offset,
short width, short height, int pitch,
int x1, int y1, int x2, int y2,
@@ -330,139 +316,162 @@
else
tmp = 2;
- SET_SSTREAM_CNTL(tmp << 28 | 0x01000000 |
- ((((src_w-1)<<1)-(drw_w-1)) & 0xfff));
- SET_SSTRETCH(((src_w - 1) & 0x7ff) | (((src_w-drw_w) & 0x7ff) << 16));
+ SET_SSTREAM_CNTL((tmp << 28) | 0x01000000 |
+ ((((src_w - 1) << 1) - (drw_w - 1)) & 0xfff));
+ SET_SSTRETCH(((src_w - 1) & 0x7ff) |
+ (((src_w - drw_w) & 0x7ff) << 16));
SET_BLEND_CNTL(0x05000000);
- SET_SSTREAM_FBADDR(offset & 0x3fffff);
+ SET_SSTREAM_FBADDR0(offset & 0x3fffff);
+ SET_SSTREAM_FBADDR1(offset & 0x3fffff);
SET_SSTREAM_STRIDE(pitch & 0xfff);
+ SET_SSTREAM_START(((dstBox->x1 + 1) << 16) | (dstBox->y1 + 1));
+ SET_SSTREAM_WIND((((drw_w - 1) << 16) | drw_h) & 0x7ff07ff);
SET_K1_VSCALE(src_h - 1);
SET_K2_VSCALE((src_h - drw_h) & 0x7ff);
-
- SET_DDA_VERT((((~drw_h)-1)) & 0xfff);
-
- SET_SSTREAM_START(((dstBox->x1 +1) << 16) | (dstBox->y1 +1));
- SET_SSTREAM_WIND(( ((drw_w-1) << 16) | (drw_h ) ) & 0x7ff07ff);
+ SET_DDA_VERT(((~drw_h - 1)) & 0xfff);
SET_CHROMA_KEY(0x10000000 |
((pScrn->weight.red-1) << 24) |
((pPriv->colorKey & pScrn->mask.red) >> pScrn->offset.red) <<
- (16 + 8-pScrn->weight.red) |
+ (16 + 8-pScrn->weight.red) |
((pPriv->colorKey & pScrn->mask.green) >> pScrn->offset.green) <<
- (8 + 8-pScrn->weight.green) |
+ (8 + 8-pScrn->weight.green) |
((pPriv->colorKey & pScrn->mask.blue) >> pScrn->offset.blue) <<
- (8-pScrn->weight.blue));
-}
+ (8-pScrn->weight.blue));
+ SET_FIFO_CNTL(0x00080000 | pS3->Streams_FIFO);
+}
static int S3PutImage(ScrnInfoPtr pScrn, short src_x, short src_y,
- short drw_x, short drw_y, short src_w, short src_h,
- short drw_w, short drw_h, int id, unsigned char *buf,
- short width, short height, Bool sync, RegionPtr clipBoxes,
- pointer data, DrawablePtr pDraw)
+ short drw_x, short drw_y, short src_w, short src_h,
+ short drw_w, short drw_h, int id, unsigned char *buf,
+ short width, short height, Bool sync,
+ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw)
{
S3Ptr pS3 = S3PTR(pScrn);
S3PortPrivPtr pPriv = pS3->portPrivate;
INT32 x1, x2, y1, y2;
- unsigned char *dst_start;
- int pitch, new_h, offset, offset2=0, offset3=0;
- int srcPitch, srcPitch2=0, dstPitch;
- int top, left, npixels, nlines;
+ CARD8 *dst_start;
+ int pitch, new_h, offset, offsetV = 0, offsetU = 0;
+ int srcPitch, srcPitchUV = 0, dstPitch, dstSize;
+ int top, bottom, right, left, npixels, nlines;
BoxRec dstBox;
- CARD32 tmp;
+ CARD32 tmp;
+ int cpp = (pScrn->bitsPerPixel + 7) >> 3;
- /* Clip */
- x1 = src_x;
- x2 = src_x + src_w;
- y1 = src_y;
- y2 = src_y + src_h;
+ /* Clip */
+ x1 = src_x;
+ x2 = src_x + src_w;
+ y1 = src_y;
+ y2 = src_y + src_h;
- dstBox.x1 = drw_x;
- dstBox.x2 = drw_x + drw_w;
- dstBox.y1 = drw_y;
- dstBox.y2 = drw_y + drw_h;
+ dstBox.x1 = drw_x;
+ dstBox.x2 = drw_x + drw_w;
+ dstBox.y1 = drw_y;
+ dstBox.y2 = drw_y + drw_h;
- if(!xf86XVClipVideoHelper(&dstBox, &x1, &x2, &y1, &y2,
- clipBoxes, width, height))
- return Success;
-
- /*if(!pMga->TexturedVideo) {*/
- dstBox.x1 -= pScrn->frameX0;
- dstBox.x2 -= pScrn->frameX0;
- dstBox.y1 -= pScrn->frameY0;
- dstBox.y2 -= pScrn->frameY0;
- /*}*/
-
- pitch = pScrn->bitsPerPixel * pScrn->displayWidth >> 3;
- dstPitch = ((width << 1) + 15) & ~15;
- new_h = ((dstPitch * height) + pitch - 1) / pitch;
+ if(!xf86XVClipVideoHelper(&dstBox, &x1, &x2, &y1, &y2, clipBoxes,
+ width, height))
+ return Success;
- switch(id) {
- case FOURCC_YV12:
- case FOURCC_I420:
- srcPitch = (width + 3) & ~3;
- offset2 = srcPitch * height;
- srcPitch2 = ((width >> 1) + 3) & ~3;
- offset3 = (srcPitch2 * (height >> 1)) + offset2;
- break;
- case FOURCC_UYVY:
- case FOURCC_YUY2:
- default:
- srcPitch = (width << 1);
- break;
- }
+ dstBox.x1 -= pScrn->frameX0;
+ dstBox.x2 -= pScrn->frameX0;
+ dstBox.y1 -= pScrn->frameY0;
+ dstBox.y2 -= pScrn->frameY0;
+
+ /* requested size in bytes */
+ dstPitch = ((width << 1) + 15) & ~15;
+ dstSize = dstPitch * height;
+
+ pPriv->area = S3XVMemAlloc(pScrn, pPriv->area,
+ (dstSize + cpp - 1) / cpp);
+ if (!pPriv->area)
+ return BadAlloc;
+
+ offset = pPriv->area->offset * cpp;
+ dst_start = pS3->FBBase + offset;
+
+ switch (id) {
+ case FOURCC_YV12:
+ case FOURCC_I420:
+ left = (x1 >> 16) & ~1;
+ right = ((x2 + 0x1ffff) >> 16) & ~1;
+ top = (y1 >> 16) & ~1;
+ bottom = ((y2 + 0x1ffff) >> 16) & ~1;
+
+ if ((right < width) && ((x1 & 0x1ffff) <= (x2 & 0x1ffff)))
+ right += 2;
+ if ((bottom < height) && ((y1 & 0x1ffff) <= (y2 & 0x1ffff)))
+ bottom += 2;
+
+ npixels = right - left;
+ nlines = bottom - top;
+
+ srcPitch = (width + 3) & ~3;
+ offsetV = srcPitch * height;
+ srcPitchUV = ((width >> 1) + 3) & ~3;
+ offsetU = ((height >> 1) * srcPitchUV) + offsetV;
+
+ tmp = ((top >> 1) * srcPitchUV) + (left >> 1);
+ offsetV += tmp;
+ offsetU += tmp;
+
+ if (id == FOURCC_I420)
+ {
+ tmp = offsetV;
+ offsetV = offsetU;
+ offsetU = tmp;
+ }
+
+ dst_start += top * dstPitch + (left << 1);
+
+ xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + left,
+ buf + offsetV, buf + offsetU,
+ dst_start, srcPitch, srcPitchUV,
+ dstPitch, nlines, npixels);
+ break;
+
+ case FOURCC_UYVY:
+ case FOURCC_YUY2:
+ default:
+ left = (x1 >> 16) & ~1;
+ right = ((x2 + 0x1ffff) >> 16) & ~1;
+ top = y1 >> 16;
+ bottom = (y2 + 0x0ffff) >> 16;
+
+ if ((right < width) && ((x1 & 0x1ffff) <= (x2 & 0x1ffff)))
+ right += 2;
+ if ((bottom < height) && ((y1 & 0x0ffff) <= (y2 & 0x0ffff)))
+ bottom++;
+
+ npixels = right - left;
+ nlines = bottom - top;
+
+ srcPitch = width << 1;
+ buf += (top * srcPitch) + (left << 1);
+ dst_start += top * dstPitch + (left << 1);
+
+ xf86XVCopyPacked(buf, dst_start, srcPitch, dstPitch,
+ nlines, npixels);
+ break;
+ }
+
+ /* update cliplist */
+ if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
+ REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
+ /* draw these */
+ xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey,
+ clipBoxes);
+ }
- if(!(pPriv->area = S3AllocateMemory(pScrn, pPriv->area, new_h)))
- return BadAlloc;
+ offset += (left << 1) + (top * dstPitch);
+ S3DisplayVideoOverlay(pScrn, id, offset, width, height, dstPitch,
+ x1, y1, x2, y2, &dstBox,
+ src_w, src_h, drw_w, drw_h);
- /* copy data */
- top = y1 >> 16;
- left = (x1 >> 16) & ~1;
- npixels = ((((x2 + 0xffff) >> 16) + 1) & ~1) - left;
- left <<= 1;
-
- offset = pPriv->area->box.y1 * pitch;
- dst_start = pS3->FBBase + offset + left + (top * dstPitch);
- switch(id) {
- case FOURCC_YV12:
- case FOURCC_I420:
- top &= ~1;
- tmp = ((top >> 1) * srcPitch2) + (left >> 2);
- offset2 += tmp;
- offset3 += tmp;
- if(id == FOURCC_I420) {
- tmp = offset2;
- offset2 = offset3;
- offset3 = tmp;
- }
- nlines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top;
- xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1),
- buf + offset2, buf + offset3, dst_start,
- srcPitch, srcPitch2, dstPitch, nlines, npixels);
- break;
- case FOURCC_UYVY:
- case FOURCC_YUY2:
- default:
- buf += (top * srcPitch) + left;
- nlines = ((y2 + 0xffff) >> 16) - top;
- xf86XVCopyPacked(buf, dst_start, srcPitch, dstPitch, nlines, npixels);
- break;
- }
-
- /* update cliplist */
- if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
- REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
- /* draw these */
- xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
- }
-
- offset += left + (top * dstPitch);
- S3DisplayVideoOverlay(pScrn, id, offset, width, height, dstPitch,
- x1, y1, x2, y2, &dstBox, src_w, src_h, drw_w, drw_h);
-
- pPriv->videoStatus = CLIENT_VIDEO_ON;
- return Success;
+ pPriv->videoStatus = CLIENT_VIDEO_ON;
+ return Success;
}
@@ -472,54 +481,92 @@
int *pitches, int *offsets)
{
int size, tmp;
-
- *w = (*w + 1) & ~1;
- if(offsets) offsets[0] = 0;
-
- switch(id) {
- case FOURCC_YV12:
- case FOURCC_I420:
- *h = (*h + 1) & ~1;
- size = (*w + 3) & ~3;
- if(pitches) pitches[0] = size;
- size *= *h;
- if(offsets) offsets[1] = size;
- tmp = ((*w >> 1) + 3) & ~3;
- if(pitches) pitches[1] = pitches[2] = tmp;
- tmp *= (*h >> 1);
- size += tmp;
- if(offsets) offsets[2] = size;
- size += tmp;
- break;
- case FOURCC_UYVY:
- case FOURCC_YUY2:
- default:
- size = *w << 1;
- if(pitches) pitches[0] = size;
- size *= *h;
- break;
- }
+
+ *w = (*w + 1) & ~1;
+ if(offsets) offsets[0] = 0;
+
+ switch(id) {
+ case FOURCC_YV12:
+ case FOURCC_I420:
+ *h = (*h + 1) & ~1;
+ size = (*w + 3) & ~3;
+ if(pitches) pitches[0] = size;
+ size *= *h;
+ if(offsets) offsets[1] = size;
+ tmp = ((*w >> 1) + 3) & ~3;
+ if(pitches) pitches[1] = pitches[2] = tmp;
+ tmp *= (*h >> 1);
+ size += tmp;
+ if(offsets) offsets[2] = size;
+ size += tmp;
+ break;
+ case FOURCC_UYVY:
+ case FOURCC_YUY2:
+ default:
+ size = *w << 1;
+ if(pitches) pitches[0] = size;
+ size *= *h;
+ break;
+ }
- return size;
+ return size;
}
-
void S3InitStreams(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
S3Ptr pS3 = S3PTR(pScrn);
unsigned int pst_wind = (mode->HDisplay-1) << 16 | (mode->VDisplay);
- SET_PSTREAM_CNTL(0x05000000 & 0x77000000);
- SET_CHROMA_KEY(0x00);
- SET_SSTREAM_CNTL(0x03000000);
- SET_BLEND_CNTL(0x01000000);
- SET_PSTREAM_STRIDE((pScrn->displayWidth * 2) & 0x0fff);
- SET_SSTREAM_STRIDE(0x01);
- SET_OPAQUE_OVERLAY(0x40000000);
- SET_PSTREAM_START(0x00010001);
+ WaitVSync();
+
+ switch (pScrn->bitsPerPixel) {
+ case 8:
+ SET_PSTREAM_CNTL(0x00000000);
+ break;
+ case 15:
+ SET_PSTREAM_CNTL(0x03000000);
+ break;
+ case 16:
+ SET_PSTREAM_CNTL(0x05000000);
+ break;
+ case 24:
+ SET_PSTREAM_CNTL(0x06000000);
+ break;
+ case 32:
+ SET_PSTREAM_CNTL(0x07000000);
+ break;
+ }
+
+ SET_PSTREAM_FBADDR0(0x00000000);
+ SET_PSTREAM_FBADDR1(0x00000000);
+
+ SET_PSTREAM_STRIDE(pS3->s3BppDisplayWidth & 0x0fff);
+
SET_PSTREAM_WIND(pst_wind & 0x07ff07ff);
+ SET_PSTREAM_START(0x00010001);
+
+ SET_CHROMA_KEY(0x00000000);
+ SET_SSTRETCH(0x00000000);
+ SET_BLEND_CNTL(0x01000000);
+ SET_DOUBLE_BUFFER(0x00000000);
+
+ SET_SSTREAM_CNTL(0x03000000);
+ SET_SSTREAM_FBADDR0(0x00000000);
+ SET_SSTREAM_FBADDR1(0x00000000);
+ SET_SSTREAM_STRIDE(0x00000001);
SET_SSTREAM_START(0x07ff07ff);
SET_SSTREAM_WIND(0x00010001);
+
+ SET_OPAQUE_OVERLAY(0x40000000);
+ SET_K1_VSCALE(0x00000000);
+ SET_K2_VSCALE(0x00000000);
+ SET_DDA_VERT(0x00000000);
+
+ /*
+ ps thr | ss thr | ss fifo slots
+ set primary stream FIFO to 24 slots and 12 slots for threshold
+ */
+ SET_FIFO_CNTL(0x00080000 | FIFO_PS24_SS0);
}
++++++ xf86-video-s3virge-1.10.1.tar.bz2 -> xf86-video-s3virge-1.10.2.tar.bz2 ++++++
++++ 11652 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3virge-1.10.1/configure.ac new/xf86-video-s3virge-1.10.2/configure.ac
--- old/xf86-video-s3virge-1.10.1/configure.ac 2008-05-21 21:54:36.000000000 +0200
+++ new/xf86-video-s3virge-1.10.2/configure.ac 2008-12-22 06:35:13.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-s3virge],
- 1.10.1,
+ 1.10.2,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-s3virge)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-s3virge-1.10.1/src/s3v_driver.c new/xf86-video-s3virge-1.10.2/src/s3v_driver.c
--- old/xf86-video-s3virge-1.10.1/src/s3v_driver.c 2008-05-21 21:54:10.000000000 +0200
+++ new/xf86-video-s3virge-1.10.2/src/s3v_driver.c 2008-12-22 06:23:36.000000000 +0100
@@ -1232,12 +1232,12 @@
* Toshiba Tecra 5x0/7x0 seems to use 28.636 MHz
* Compaq Armada 7x00 uses 14.318 MHz
*/
- if (find_bios_string(ps3v->PciTag, BIOS_BASE, "COMPAQ M5 BIOS", NULL) != NULL) {
+ if (find_bios_string(ps3v, BIOS_BASE, "COMPAQ M5 BIOS", NULL) != NULL) {
if (xf86GetVerbosity())
xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "COMPAQ M5 BIOS found\n");
/* ps3v->refclk_fact = 1.0; */
}
- else if (find_bios_string(ps3v->PciTag, BIOS_BASE, "TOSHIBA Video BIOS", NULL) != NULL) {
+ else if (find_bios_string(ps3v, BIOS_BASE, "TOSHIBA Video BIOS", NULL) != NULL) {
if (xf86GetVerbosity())
xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "TOSHIBA Video BIOS found\n");
/* ps3v->refclk_fact = 2.0; */
@@ -2651,8 +2651,8 @@
case 16:
case 24:
case 32:
- ret = fbScreenInit(pScreen, FBStart, pScrn->virtualX,
- pScrn->virtualY, pScrn->xDpi, pScrn->yDpi,
+ ret = fbScreenInit(pScreen, FBStart, width,
+ height, pScrn->xDpi, pScrn->yDpi,
displayWidth, pScrn->bitsPerPixel);
break;
default:
++++++ xf86-video-siliconmotion-1.6.0.tar.bz2 -> xf86-video-siliconmotion-1.7.0.tar.bz2 ++++++
++++ 30677 lines of diff (skipped)
++++++ xf86-video-sis-0.10.0.tar.bz2 -> xf86-video-sis-0.10.1.tar.bz2 ++++++
++++ 12928 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-sis-0.10.0/configure.ac new/xf86-video-sis-0.10.1/configure.ac
--- old/xf86-video-sis-0.10.0/configure.ac 2008-03-19 20:28:25.000000000 +0100
+++ new/xf86-video-sis-0.10.1/configure.ac 2008-12-22 05:38:15.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-sis],
- 0.10.0,
+ 0.10.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-sis)
@@ -58,7 +58,6 @@
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 -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-sis-0.10.0/src/sis_driver.c new/xf86-video-sis-0.10.1/src/sis_driver.c
--- old/xf86-video-sis-0.10.0/src/sis_driver.c 2008-03-19 20:28:09.000000000 +0100
+++ new/xf86-video-sis-0.10.1/src/sis_driver.c 2008-12-22 05:37:57.000000000 +0100
@@ -57,8 +57,6 @@
#include "mibank.h"
#include "mipointer.h"
#include "mibstore.h"
-#define _XF86MISC_SERVER_
-#include
#include "edid.h"
#define SIS_NEED_inSISREG
@@ -669,11 +667,7 @@
pScrn->LeaveVT = SISLeaveVT;
pScrn->FreeScreen = SISFreeScreen;
pScrn->ValidMode = SISValidMode;
-#ifdef X_XF86MiscPassMessage
- if(xf86GetVersion() >= XF86_VERSION_NUMERIC(4,3,99,2,0)) {
- pScrn->HandleMessage = SISHandleMessage;
- }
-#endif
+
foundScreen = TRUE;
}
@@ -7337,11 +7331,12 @@
xf86DrvMsg (pScrn->scrnIndex, X_ERROR,
"Unable to map IO dense aperture. %s (%d)\n",
strerror (err), err);
-#endif
+ }
+#endif /* XSERVER_LIBPCIACCESS */
}
pSiS->IOBaseDense = pSiSEnt->IOBaseDense;
- } else
-#endif
+ } else {
+#endif /* SISDUALHEAD */
#ifndef XSERVER_LIBPCIACCESS
pSiS->IOBaseDense = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO,
pSiS->PciTag, pSiS->IOAddress, (pSiS->mmioSize * 1024));
@@ -7357,8 +7352,11 @@
xf86DrvMsg (pScrn->scrnIndex, X_ERROR,
"Unable to map IO dense aperture. %s (%d)\n",
strerror (err), err);
+ }
+#endif /* XSERVER_LIBPCIACCESS */
+#ifdef SISDUALHEAD
+ }
#endif
-
if(pSiS->IOBaseDense == NULL) {
SISErrorLog(pScrn, "Could not map MMIO dense area\n");
return FALSE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-sis-0.10.0/src/sis_driver.h new/xf86-video-sis-0.10.1/src/sis_driver.h
--- old/xf86-video-sis-0.10.0/src/sis_driver.h 2008-03-19 20:28:09.000000000 +0100
+++ new/xf86-video-sis-0.10.1/src/sis_driver.h 2008-12-22 05:37:57.000000000 +0100
@@ -1577,10 +1577,6 @@
#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 -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-sis-0.10.0/src/sis_utility.c new/xf86-video-sis-0.10.1/src/sis_utility.c
--- old/xf86-video-sis-0.10.0/src/sis_utility.c 2008-03-19 20:28:09.000000000 +0100
+++ new/xf86-video-sis-0.10.1/src/sis_utility.c 2008-12-22 05:37:57.000000000 +0100
@@ -38,8 +38,6 @@
#define NEED_EVENTS
#include
#include "dixstruct.h"
-#define _XF86MISC_SERVER_
-#include
#include "sis_videostr.h"
@@ -255,9 +253,6 @@
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);
@@ -853,19 +848,6 @@
#endif
/***********************************
- * 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 *
***********************************/
++++++ xf86-video-tdfx-1.4.0.tar.bz2 -> xf86-video-tdfx-1.4.1.tar.bz2 ++++++
++++ 12508 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tdfx-1.4.0/configure.ac new/xf86-video-tdfx-1.4.1/configure.ac
--- old/xf86-video-tdfx-1.4.0/configure.ac 2008-03-19 20:37:53.000000000 +0100
+++ new/xf86-video-tdfx-1.4.1/configure.ac 2008-12-22 06:20:18.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-tdfx],
- 1.4.0,
+ 1.4.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-tdfx)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tdfx-1.4.0/src/tdfx_driver.c new/xf86-video-tdfx-1.4.1/src/tdfx_driver.c
--- old/xf86-video-tdfx-1.4.0/src/tdfx_driver.c 2008-03-19 20:37:46.000000000 +0100
+++ new/xf86-video-tdfx-1.4.1/src/tdfx_driver.c 2008-12-22 06:20:01.000000000 +0100
@@ -956,6 +956,7 @@
#ifdef XSERVER_LIBPCIACCESS
match = pTDFX->PciInfo[0];
+ pTDFX->ChipType = DEVICE_ID(match);
#else
match=pTDFX->PciInfo=xf86GetPciInfoForEntity(pTDFX->pEnt->index);
TDFXFindChips(pScrn, match);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tdfx-1.4.0/src/tdfx_priv.c new/xf86-video-tdfx-1.4.1/src/tdfx_priv.c
--- old/xf86-video-tdfx-1.4.0/src/tdfx_priv.c 2008-03-19 20:37:46.000000000 +0100
+++ new/xf86-video-tdfx-1.4.1/src/tdfx_priv.c 2008-12-22 06:20:01.000000000 +0100
@@ -104,7 +104,7 @@
{
TDFXPtr pTDFX;
int oldValue;
- long start_sec, end_sec, dummy;
+ struct timeval start, stop;
pTDFX=TDFXPTR(pScrn);
ErrorF("Resetting FIFO\n");
@@ -113,17 +113,17 @@
/* Toggle the reset bits */
oldValue=TDFXReadLongMMIO(pTDFX, MISCINIT0);
TDFXWriteLongMMIO(pTDFX, MISCINIT0, oldValue|0x23);
- xf86getsecs(&start_sec, &dummy);
+ gettimeofday(&start, NULL);
do {
- xf86getsecs(&end_sec, &dummy);
- } while (end_sec-start_sec<2);
+ gettimeofday(&stop, NULL);
+ } while (stop.tv_sec - start.tv_sec < 2);
TDFXWriteLongMMIO(pTDFX, MISCINIT0, oldValue);
oldValue=TDFXReadLongMMIO(pTDFX, MISCINIT1);
TDFXWriteLongMMIO(pTDFX, MISCINIT1, oldValue|BIT(19));
- xf86getsecs(&start_sec, &dummy);
+ gettimeofday(&start, NULL);
do {
- xf86getsecs(&end_sec, &dummy);
- } while (end_sec-start_sec<2);
+ gettimeofday(&stop, NULL);
+ } while (stop.tv_sec - start.tv_sec < 2);
TDFXWriteLongMMIO(pTDFX, MISCINIT1, oldValue);
InstallFifo(pScrn);
}
@@ -141,14 +141,16 @@
TDFXPtr pTDFX;
int i, cnt, resets=0;
int stat;
- long start_sec, end_sec, dummy, readptr;
+ long tmp, readptr;
+ struct timeval start, stop;
TDFXTRACEACCEL("TDFXSyncFifo start\n");
pTDFX=TDFXPTR(pScrn);
TDFXSendNOPFifo(pScrn);
i=0;
cnt=0;
- start_sec=0;
+ start.tv_sec=0;
+
readptr=TDFXReadLongMMIO(pTDFX, SST_FIFO_RDPTRL0);
do {
readptr=TDFXReadLongMMIO(pTDFX, SST_FIFO_RDPTRL0);
@@ -156,15 +158,15 @@
if (stat&SST_BUSY) i=0; else i++;
cnt++;
if (cnt==1000) {
- if (!start_sec) {
- xf86getsecs(&start_sec, &dummy);
+ if (!start.tv_sec) {
+ gettimeofday(&start, NULL);
} else {
- xf86getsecs(&end_sec, &dummy);
- if (end_sec-start_sec>3) {
- dummy=TDFXReadLongMMIO(pTDFX, SST_FIFO_RDPTRL0);
- if (dummy==readptr) {
+ gettimeofday(&stop, NULL);
+ if (stop.tv_sec - start.tv_sec > 3) {
+ tmp = TDFXReadLongMMIO(pTDFX, SST_FIFO_RDPTRL0);
+ if (tmp == readptr) {
TDFXResetFifo(pScrn);
- readptr=dummy;
+ readptr = tmp;
resets++;
if (resets==3) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
@@ -172,7 +174,7 @@
return;
}
}
- start_sec=0;
+ start.tv_sec=0;
}
}
cnt=0;
++++++ xf86-video-trident-1.3.0.tar.bz2 -> xf86-video-trident-1.3.1.tar.bz2 ++++++
++++ 12412 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/config.h.in new/xf86-video-trident-1.3.1/config.h.in
--- old/xf86-video-trident-1.3.0/config.h.in 2008-03-19 20:40:54.000000000 +0100
+++ new/xf86-video-trident-1.3.1/config.h.in 2008-12-22 05:00:39.000000000 +0100
@@ -8,6 +8,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
+/* Have ISA support */
+#undef HAVE_ISA
+
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/configure.ac new/xf86-video-trident-1.3.1/configure.ac
--- old/xf86-video-trident-1.3.0/configure.ac 2008-03-19 20:40:40.000000000 +0100
+++ new/xf86-video-trident-1.3.1/configure.ac 2008-12-22 05:00:22.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-trident],
- 1.3.0,
+ 1.3.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-trident)
@@ -58,6 +58,14 @@
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+save_CFLAGS="$CFLAGS"
+CFLAGS="$XORG_CFLAGS"
+AC_CHECK_DECL(xf86ConfigIsaEntity,
+ [AC_DEFINE(HAVE_ISA, 1, [Have ISA support])],
+ [],
+ [#include "xf86.h"])
+CFLAGS="$save_CFLAGS"
+
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/src/Makefile.am new/xf86-video-trident-1.3.1/src/Makefile.am
--- old/xf86-video-trident-1.3.0/src/Makefile.am 2008-03-19 20:41:41.000000000 +0100
+++ new/xf86-video-trident-1.3.1/src/Makefile.am 2008-12-22 04:59:18.000000000 +0100
@@ -26,6 +26,7 @@
AM_CFLAGS = @XORG_CFLAGS@
trident_drv_la_LTLIBRARIES = trident_drv.la
trident_drv_la_LDFLAGS = -module -avoid-version
+trident_drv_la_LIBADD = -lm
trident_drv_ladir = @moduledir@/drivers
trident_drv_la_SOURCES = \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/src/trident_dac.c new/xf86-video-trident-1.3.1/src/trident_dac.c
--- old/xf86-video-trident-1.3.0/src/trident_dac.c 2008-03-19 20:40:10.000000000 +0100
+++ new/xf86-video-trident-1.3.1/src/trident_dac.c 2008-12-22 04:59:18.000000000 +0100
@@ -28,7 +28,6 @@
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/src/trident_driver.c new/xf86-video-trident-1.3.1/src/trident_driver.c
--- old/xf86-video-trident-1.3.0/src/trident_driver.c 2008-03-19 20:40:10.000000000 +0100
+++ new/xf86-video-trident-1.3.1/src/trident_driver.c 2008-12-22 04:59:18.000000000 +0100
@@ -40,7 +40,6 @@
#include "xf86.h"
#include "xf86_OSproc.h"
#include "xf86Resources.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
#include "xf86cmap.h"
@@ -174,6 +173,7 @@
{ -1, NULL }
};
+#ifdef HAVE_ISA
static IsaChipsets TRIDENTISAchipsets[] = {
{ TVGA9000, RES_EXCLUSIVE_VGA },
{ TVGA9000i, RES_EXCLUSIVE_VGA },
@@ -185,6 +185,7 @@
{ TGUI9440AGi, RES_EXCLUSIVE_VGA },
{ -1, RES_UNDEFINED }
};
+#endif
static PciChipsets TRIDENTPciChipsets[] = {
{ CYBER9320, PCI_CHIP_9320, RES_SHARED_VGA },
@@ -809,6 +810,7 @@
return(TRUE);
}
+#ifdef HAVE_ISA
static int
TridentFindIsaDevice(GDevPtr dev)
{
@@ -899,6 +901,7 @@
}
return found;
}
+#endif
/* Mandatory */
@@ -975,6 +978,7 @@
}
}
+#ifdef HAVE_ISA
/* Isa Bus */
numUsed = xf86MatchIsaInstances(TRIDENT_NAME,TRIDENTChipsets,
TRIDENTISAchipsets,
@@ -1005,7 +1009,8 @@
}
xfree(usedChips);
}
-
+#endif
+
xfree(devSections);
return foundScreen;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/src/trident.h new/xf86-video-trident-1.3.1/src/trident.h
--- old/xf86-video-trident-1.3.0/src/trident.h 2008-03-19 20:40:10.000000000 +0100
+++ new/xf86-video-trident-1.3.1/src/trident.h 2008-12-22 04:59:18.000000000 +0100
@@ -322,8 +322,12 @@
#define IsPciCard (pTrident->pEnt->location.type == BUS_PCI)
-#define IsPrimaryCard ((xf86IsPrimaryPci(pTrident->PciInfo)) || \
+#ifdef HAVE_ISA
+# define IsPrimaryCard ((xf86IsPrimaryPci(pTrident->PciInfo)) || \
(xf86IsPrimaryIsa()))
+#else
+# define IsPrimaryCard (xf86IsPrimaryPci(pTrident->PciInfo))
+#endif
#define HAS_DST_TRANS ((pTrident->Chipset == PROVIDIA9682) || \
(pTrident->Chipset == PROVIDIA9685) || \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/src/tridenthelper.c new/xf86-video-trident-1.3.1/src/tridenthelper.c
--- old/xf86-video-trident-1.3.0/src/tridenthelper.c 2008-03-19 20:40:10.000000000 +0100
+++ new/xf86-video-trident-1.3.1/src/tridenthelper.c 2008-12-22 04:59:18.000000000 +0100
@@ -28,7 +28,6 @@
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-trident-1.3.0/src/tvga_dac.c new/xf86-video-trident-1.3.1/src/tvga_dac.c
--- old/xf86-video-trident-1.3.0/src/tvga_dac.c 2008-03-19 20:40:10.000000000 +0100
+++ new/xf86-video-trident-1.3.1/src/tvga_dac.c 2008-12-22 04:59:18.000000000 +0100
@@ -28,7 +28,6 @@
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
++++++ xf86-video-tseng-1.2.0.tar.bz2 -> xf86-video-tseng-1.2.1.tar.bz2 ++++++
++++ 12512 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tseng-1.2.0/configure.ac new/xf86-video-tseng-1.2.1/configure.ac
--- old/xf86-video-tseng-1.2.0/configure.ac 2008-03-19 21:03:05.000000000 +0100
+++ new/xf86-video-tseng-1.2.1/configure.ac 2008-12-22 06:02:30.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-tseng],
- 1.2.0,
+ 1.2.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-tseng)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tseng-1.2.0/src/tseng_driver.c new/xf86-video-tseng-1.2.1/src/tseng_driver.c
--- old/xf86-video-tseng-1.2.0/src/tseng_driver.c 2008-03-19 20:45:11.000000000 +0100
+++ new/xf86-video-tseng-1.2.1/src/tseng_driver.c 2008-12-22 06:02:16.000000000 +0100
@@ -1453,18 +1453,22 @@
*/
switch (pScrn->bitsPerPixel) {
+#if HAVE_XF1BPP
case 1:
ret = xf1bppScreenInit(pScreen, pTseng->FbBase,
pScrn->virtualX, pScrn->virtualY,
pScrn->xDpi, pScrn->yDpi,
pScrn->displayWidth);
break;
+#endif
+#if HAVE_XF4BPP
case 4:
ret = xf4bppScreenInit(pScreen, pTseng->FbBase,
pScrn->virtualX, pScrn->virtualY,
pScrn->xDpi, pScrn->yDpi,
pScrn->displayWidth);
break;
+#endif
default:
ret = fbScreenInit(pScreen, pTseng->FbBase,
pScrn->virtualX, pScrn->virtualY,
@@ -1493,8 +1497,10 @@
}
}
+#if HAVE_XF1BPP
/* must be after RGB ordering fixed */
if (pScrn->bitsPerPixel > 4)
+#endif
fbPictureInit(pScreen, 0, 0);
if (pScrn->depth >= 8)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tseng-1.2.0/src/tseng.h new/xf86-video-tseng-1.2.1/src/tseng.h
--- old/xf86-video-tseng-1.2.0/src/tseng.h 2008-03-19 21:01:54.000000000 +0100
+++ new/xf86-video-tseng-1.2.1/src/tseng.h 2008-12-22 06:02:16.000000000 +0100
@@ -15,9 +15,6 @@
/* Everything using inb/outb, etc needs "compiler.h" */
#include "compiler.h"
-/* This is used for module versioning */
-#include "xf86Version.h"
-
/* Drivers for PCI hardware need this */
#include "xf86PciInfo.h"
++++++ xf86-video-vesa-2.0.0.tar.bz2 -> xf86-video-vesa-2.2.0.tar.bz2 ++++++
++++ 58683 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vesa-2.0.0/config.h.in new/xf86-video-vesa-2.2.0/config.h.in
--- old/xf86-video-vesa-2.0.0/config.h.in 2008-07-01 19:41:41.000000000 +0200
+++ new/xf86-video-vesa-2.2.0/config.h.in 2009-02-18 00:03:57.000000000 +0100
@@ -8,6 +8,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
+/* Have ISA support */
+#undef HAVE_ISA
+
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
@@ -32,6 +35,10 @@
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
/* Name of package */
#undef PACKAGE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vesa-2.0.0/configure.ac new/xf86-video-vesa-2.2.0/configure.ac
--- old/xf86-video-vesa-2.0.0/configure.ac 2008-07-01 19:40:40.000000000 +0200
+++ new/xf86-video-vesa-2.2.0/configure.ac 2009-02-18 00:03:35.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-vesa],
- 2.0.0,
+ 2.2.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-vesa)
@@ -58,6 +58,14 @@
save_CFLAGS="$CFLAGS"
CFLAGS="$XORG_CFLAGS"
+AC_CHECK_DECL(xf86ConfigIsaEntity,
+ [AC_DEFINE(HAVE_ISA, 1, [Have ISA support])],
+ [],
+ [#include "xf86.h"])
+CFLAGS="$save_CFLAGS"
+
+save_CFLAGS="$CFLAGS"
+CFLAGS="$XORG_CFLAGS"
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
[XSERVER_LIBPCIACCESS=yes], [XSERVER_LIBPCIACCESS=no],
[#include "xorg-server.h"])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vesa-2.0.0/man/vesa.man new/xf86-video-vesa-2.2.0/man/vesa.man
--- old/xf86-video-vesa-2.0.0/man/vesa.man 2008-03-19 15:31:25.000000000 +0100
+++ new/xf86-video-vesa-2.2.0/man/vesa.man 2009-02-05 21:52:43.000000000 +0100
@@ -54,6 +54,6 @@
to turn this option off. Default: on.
.SH "SEE ALSO"
-__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgcfg(__appmansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
+__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
.SH AUTHORS
Authors include: Paulo Ce\'sar Pereira de Andrade.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vesa-2.0.0/README new/xf86-video-vesa-2.2.0/README
--- old/xf86-video-vesa-2.0.0/README 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-video-vesa-2.2.0/README 2009-02-05 21:52:43.000000000 +0100
@@ -0,0 +1,20 @@
+xf86-video-vesa - Generic VESA video driver for the Xorg X server
+
+Please submit bugs & patches to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vesa
+
+ http://cgit.freedesktop.org/xorg/driver/xf86-video-vesa
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vesa-2.0.0/src/vesa.c new/xf86-video-vesa-2.2.0/src/vesa.c
--- old/xf86-video-vesa-2.0.0/src/vesa.c 2008-07-01 19:40:04.000000000 +0200
+++ new/xf86-video-vesa-2.2.0/src/vesa.c 2009-02-05 22:15:07.000000000 +0100
@@ -31,6 +31,14 @@
* Adam Jackson
*/
+/*
+ * TODO:
+ * - PanelID might give us useful size hints.
+ * - Port to RANDR 1.2 setup to make mode selection slightly better
+ * - Port to RANDR 1.2 to drop the old-school DGA junk
+ * - VBE/SCI for secondary DDC method?
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -93,8 +101,6 @@
static Bool
VESASaveRestore(ScrnInfoPtr pScrn, vbeSaveRestoreFunction function);
-static void *VESAWindowPlanar(ScreenPtr pScrn, CARD32 row, CARD32 offset,
- int mode, CARD32 *size, void *closure);
static void *VESAWindowLinear(ScreenPtr pScrn, CARD32 row, CARD32 offset,
int mode, CARD32 *size, void *closure);
static void *VESAWindowWindowed(ScreenPtr pScrn, CARD32 row, CARD32 offset,
@@ -125,15 +131,19 @@
{-1, NULL}
};
+#ifndef XSERVER_LIBPCIACCESS
static PciChipsets VESAPCIchipsets[] = {
{ CHIP_VESA_GENERIC, PCI_CHIP_VGA, RES_SHARED_VGA },
{ -1, -1, RES_UNDEFINED },
};
+#endif
+#ifdef HAVE_ISA
static IsaChipsets VESAISAchipsets[] = {
{CHIP_VESA_GENERIC, RES_EXCLUSIVE_VGA},
{-1, 0 }
};
+#endif
/*
@@ -278,7 +288,7 @@
ScrnInfoPtr pScrn = xf86Screens[scrn];
VESAPtr pVesa = VESAGetRec(pScrn);
MonPtr mon = pScrn->monitor;
- ModeStatus ret;
+ ModeStatus ret = MODE_BAD;
DisplayModePtr mode;
float v;
@@ -438,6 +448,7 @@
}
#endif
+#ifdef HAVE_ISA
/* Isa Bus */
numUsed = xf86MatchIsaInstances(VESA_NAME,VESAChipsets,
VESAISAchipsets, drv,
@@ -457,12 +468,14 @@
}
xfree(usedChips);
}
+#endif
xfree(devSections);
return (foundScreen);
}
+#ifdef HAVE_ISA
static int
VESAFindIsaDevice(GDevPtr dev)
{
@@ -487,6 +500,7 @@
#endif
return (int)CHIP_VESA_GENERIC;
}
+#endif
static void
VESAFreeRec(ScrnInfoPtr pScrn)
@@ -522,6 +536,22 @@
pScrn->driverPrivate = NULL;
}
+static int
+VESAValidateModes(ScrnInfoPtr pScrn)
+{
+ VESAPtr pVesa = VESAGetRec(pScrn);
+ DisplayModePtr mode;
+
+ for (mode = pScrn->monitor->Modes; mode; mode = mode->next)
+ mode->status = MODE_OK;
+
+ return VBEValidateModes(pScrn, NULL, pScrn->display->modes,
+ NULL, NULL, 0, 2048, 1, 0, 2048,
+ pScrn->display->virtualX,
+ pScrn->display->virtualY,
+ pVesa->mapSize, LOOKUP_BEST_REFRESH);
+}
+
/*
* This function is called once for each screen at the start of the first
* server generation to initialise the screen for all server generations.
@@ -668,27 +698,37 @@
VBESetModeNames(pScrn->modePool);
pVesa->strict_validation = TRUE;
- i = VBEValidateModes(pScrn, NULL, pScrn->display->modes,
- NULL, NULL, 0, 2048, 1, 0, 2048,
- pScrn->display->virtualX,
- pScrn->display->virtualY,
- pVesa->mapSize, LOOKUP_BEST_REFRESH);
+ i = VESAValidateModes(pScrn);
if (i <= 0) {
- DisplayModePtr mode;
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "No valid modes left. Trying less strict filter...\n");
- for (mode = pScrn->monitor->Modes; mode; mode = mode->next)
- mode->status = MODE_OK;
+ "No valid modes left. Trying less strict filter...\n");
pVesa->strict_validation = FALSE;
- i = VBEValidateModes(pScrn, NULL, pScrn->display->modes,
- NULL, NULL, 0, 2048, 1, 0, 2048,
- pScrn->display->virtualX,
- pScrn->display->virtualY,
- pVesa->mapSize, LOOKUP_BEST_REFRESH);
+ i = VESAValidateModes(pScrn);
}
+ if (i <= 0) do {
+ Bool changed = FALSE;
+ /* maybe there's more modes at the bottom... */
+ if (pScrn->monitor->vrefresh[0].lo > 50) {
+ changed = TRUE;
+ pScrn->monitor->vrefresh[0].lo = 50;
+ }
+ if (pScrn->monitor->hsync[0].lo > 31.5) {
+ changed = TRUE;
+ pScrn->monitor->hsync[0].lo = 31.5;
+ }
+
+ if (!changed)
+ break;
+
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "No valid modes left. Trying aggressive sync range...\n");
+ i = VESAValidateModes(pScrn);
+ } while (0);
+
if (i <= 0) {
+ /* alright, i'm out of ideas */
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes\n");
vbeFree(pVesa->pVbe);
return (FALSE);
@@ -1091,6 +1131,10 @@
data = (VbeModeInfoData*)pMode->Private;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Setting up VESA Mode 0x%X (%dx%d)\n",
+ data->mode & 0x7FF, pMode->HDisplay, pMode->VDisplay);
+
/* careful, setting the bit means don't clear the screen */
mode = data->mode | (pVesa->ModeSetClearScreen ? 0 : (1U << 15));
@@ -1232,28 +1276,6 @@
pVesa->base = NULL;
}
-void *
-VESAWindowPlanar(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
- CARD32 *size, void *closure)
-{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
- VESAPtr pVesa = VESAGetRec(pScrn);
- VbeModeInfoBlock *data = ((VbeModeInfoData*)(pScrn->currentMode->Private))->data;
- int window;
- int mask = 1 << (offset & 3);
-
- outb(pVesa->ioBase + VGA_SEQ_INDEX, 2);
- outb(pVesa->ioBase + VGA_SEQ_DATA, mask);
- offset = (offset >> 2) + pVesa->maxBytesPerScanline * row;
- window = offset / (data->WinGranularity * 1024);
- pVesa->windowAoffset = window * data->WinGranularity * 1024;
- VESABankSwitch(pScreen, window);
- *size = data->WinSize * 1024 - (offset - pVesa->windowAoffset);
-
- return (void *)((unsigned long)pVesa->base +
- (offset - pVesa->windowAoffset));
-}
-
static void *
VESAWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
CARD32 *size, void *closure)
@@ -1393,13 +1415,6 @@
outb(pVesa->ioBase + (VGA_IOBASE_COLOR + VGA_CRTC_INDEX_OFFSET), index); \
outb(pVesa->ioBase + (VGA_IOBASE_COLOR + VGA_CRTC_DATA_OFFSET), value)
-static int
-ReadCrtc(VESAPtr pVesa, int index)
-{
- outb(pVesa->ioBase + (VGA_IOBASE_COLOR + VGA_CRTC_INDEX_OFFSET), index);
- return inb(pVesa->ioBase + (VGA_IOBASE_COLOR + VGA_CRTC_DATA_OFFSET));
-}
-
static void
SeqReset(VESAPtr pVesa, Bool start)
{
@@ -1656,45 +1671,13 @@
int flags)
{
VESAPtr pVesa = VESAGetRec(pScrn);
- unsigned char seq1 = 0, crtc17 = 0;
if (!pScrn->vtSema)
return;
- switch (mode) {
- case DPMSModeOn:
- /* Screen: On; HSync: On, VSync: On */
- seq1 = 0x00;
- crtc17 = 0x80;
- break;
- case DPMSModeStandby:
- /* Screen: Off; HSync: Off, VSync: On -- Not Supported */
- seq1 = 0x20;
- crtc17 = 0x80;
- break;
- case DPMSModeSuspend:
- /* Screen: Off; HSync: On, VSync: Off -- Not Supported */
- seq1 = 0x20;
- crtc17 = 0x80;
- break;
- case DPMSModeOff:
- /* Screen: Off; HSync: Off, VSync: Off */
- seq1 = 0x20;
- crtc17 = 0x00;
- break;
- }
- WriteSeq(0x00, 0x01); /* Synchronous Reset */
- seq1 |= ReadSeq(pVesa, 0x01) & ~0x20;
- WriteSeq(0x01, seq1);
- crtc17 |= ReadCrtc(pVesa, 0x17) & ~0x80;
- usleep(10000);
- WriteCrtc(0x17, crtc17);
- WriteSeq(0x00, 0x03); /* End Reset */
+ VBEDPMSSet(pVesa->pVbe, mode);
}
-
-
-
/***********************************************************************
* DGA stuff
***********************************************************************/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-vesa-2.0.0/src/vesa.h new/xf86-video-vesa-2.2.0/src/vesa.h
--- old/xf86-video-vesa-2.0.0/src/vesa.h 2008-07-01 19:23:12.000000000 +0200
+++ new/xf86-video-vesa-2.2.0/src/vesa.h 2008-08-15 19:55:41.000000000 +0200
@@ -78,9 +78,9 @@
#define VESA_VERSION 4000
#define VESA_NAME "VESA"
#define VESA_DRIVER_NAME "vesa"
-#define VESA_MAJOR_VERSION 1
-#define VESA_MINOR_VERSION 3
-#define VESA_PATCHLEVEL 0
+#define VESA_MAJOR_VERSION PACKAGE_VERSION_MAJOR
+#define VESA_MINOR_VERSION PACKAGE_VERSION_MINOR
+#define VESA_PATCHLEVEL PACKAGE_VERSION_PATCHLEVEL
/*XXX*/
++++++ xf86-video-voodoo-1.2.0.tar.bz2 -> xf86-video-voodoo-1.2.1.tar.bz2 ++++++
++++ 60000 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-voodoo-1.2.0/config.h.in new/xf86-video-voodoo-1.2.1/config.h.in
--- old/xf86-video-voodoo-1.2.0/config.h.in 2008-03-19 22:08:04.000000000 +0100
+++ new/xf86-video-voodoo-1.2.1/config.h.in 2009-02-24 16:28:40.000000000 +0100
@@ -38,6 +38,10 @@
/* Have 4bpp support */
#undef HAVE_XF4BPP
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
/* Name of package */
#undef PACKAGE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-voodoo-1.2.0/configure.ac new/xf86-video-voodoo-1.2.1/configure.ac
--- old/xf86-video-voodoo-1.2.0/configure.ac 2008-03-19 22:07:36.000000000 +0100
+++ new/xf86-video-voodoo-1.2.1/configure.ac 2009-02-24 16:28:29.000000000 +0100
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-voodoo],
- 1.2.0,
+ 1.2.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-voodoo)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-voodoo-1.2.0/src/voodoo_dga.c new/xf86-video-voodoo-1.2.1/src/voodoo_dga.c
--- old/xf86-video-voodoo-1.2.0/src/voodoo_dga.c 2008-03-19 15:31:33.000000000 +0100
+++ new/xf86-video-voodoo-1.2.1/src/voodoo_dga.c 2008-08-15 21:55:43.000000000 +0200
@@ -42,13 +42,11 @@
#include "micmap.h"
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
#include "xf86cmap.h"
#include "shadowfb.h"
#include "vgaHW.h"
-#include "xf86DDC.h"
#include "xf86RAC.h"
#include "xf86Resources.h"
#include "compiler.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-voodoo-1.2.0/src/voodoo_driver.c new/xf86-video-voodoo-1.2.1/src/voodoo_driver.c
--- old/xf86-video-voodoo-1.2.0/src/voodoo_driver.c 2008-03-19 22:07:12.000000000 +0100
+++ new/xf86-video-voodoo-1.2.1/src/voodoo_driver.c 2009-02-24 16:27:23.000000000 +0100
@@ -47,15 +47,15 @@
#include "fb.h"
#include "mibank.h"
#include "micmap.h"
+#include "mipointer.h"
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
+#include "xorgVersion.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
#include "xf86cmap.h"
#include "shadowfb.h"
#include "vgaHW.h"
-#include "xf86DDC.h"
#include "xf86RAC.h"
#include "xf86Resources.h"
#include "compiler.h"
@@ -110,12 +110,14 @@
typedef enum {
OPTION_NOACCEL,
- OPTION_SHADOW_FB
+ OPTION_SHADOW_FB,
+ OPTION_PASS_THROUGH,
} VoodooOpts;
static const OptionInfoRec VoodooOptions[] = {
{ OPTION_NOACCEL, "NoAccel", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_SHADOW_FB, "ShadowFB", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_PASS_THROUGH,"PassThrough", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -162,7 +164,7 @@
MODULEVENDORSTRING,
MODINFOSTRING1,
MODINFOSTRING2,
- XF86_VERSION_CURRENT,
+ XORG_VERSION_CURRENT,
VOODOO_MAJOR_VERSION, VOODOO_MINOR_VERSION, VOODOO_PATCHLEVEL,
ABI_CLASS_VIDEODRV, /* This is a video driver */
ABI_VIDEODRV_VERSION,
@@ -436,6 +438,9 @@
pVoo->Accel = 0;
}
+ if (xf86ReturnOptValBool(pVoo->Options, OPTION_PASS_THROUGH, FALSE))
+ pVoo->PassThrough = 1;
+
if (xf86ReturnOptValBool(pVoo->Options, OPTION_NOACCEL, FALSE)) {
pVoo->ShadowFB = 1;
pVoo->Accel = 0;
@@ -544,6 +549,7 @@
}
/* Set the current mode to the first in the list */
+ xf86SetCrtcForModes(pScrn, 0);
pScrn->currentMode = pScrn->modes;
/* Do some checking, we will not support a virtual framebuffer larger than
@@ -914,8 +920,10 @@
pVoo = VoodooPTR(pScrn);
pVoo->Blanked = TRUE;
- if (!Closing || !(pVoo->OnAtExit))
- VoodooBlank(pVoo);
+ if (!Closing)
+ VoodooBlank(pVoo);
+ if (Closing && pVoo->PassThrough)
+ VoodooRestorePassThrough(pVoo);
}
static void
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-voodoo-1.2.0/src/voodoo.h new/xf86-video-voodoo-1.2.1/src/voodoo.h
--- old/xf86-video-voodoo-1.2.0/src/voodoo.h 2008-03-19 15:31:33.000000000 +0100
+++ new/xf86-video-voodoo-1.2.1/src/voodoo.h 2009-02-24 16:27:23.000000000 +0100
@@ -13,7 +13,7 @@
CloseScreenProcPtr CloseScreen; /* Wrapped Close */
XAAInfoRecPtr AccelInfoRec; /* Cached Accel rec for close */
Bool Blanked;
- Bool OnAtExit;
+ Bool PassThrough; /* Set to restore pass through on exit */
EntityInfoPtr pEnt;
OptionInfoPtr Options;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-voodoo-1.2.0/src/voodoo_hardware.c new/xf86-video-voodoo-1.2.1/src/voodoo_hardware.c
--- old/xf86-video-voodoo-1.2.0/src/voodoo_hardware.c 2008-03-19 15:31:33.000000000 +0100
+++ new/xf86-video-voodoo-1.2.1/src/voodoo_hardware.c 2009-02-24 16:27:23.000000000 +0100
@@ -43,13 +43,11 @@
#include "micmap.h"
#include "xf86.h"
#include "xf86_OSproc.h"
-#include "xf86Version.h"
#include "xf86PciInfo.h"
#include "xf86Pci.h"
#include "xf86cmap.h"
#include "shadowfb.h"
#include "vgaHW.h"
-#include "xf86DDC.h"
#include "xf86RAC.h"
#include "xf86Resources.h"
#include "xaa.h"
@@ -65,6 +63,24 @@
#include "mipict.h"
#include "dixstruct.h"
+#include
+
+
+#if 0
+static void VoodooReadWriteBank(ScreenPtr pScreen, int bank);
+#endif
+static Bool VoodooSetupForCPUToScreenAlphaTexture(ScrnInfoPtr pScrn, int op,
+ CARD16 red, CARD16 green, CARD16 blue, CARD16 alpha, int alphaType,
+ CARD8 *alphaPtr, int alphaPitch, int width, int height, int flags);
+static void VoodooSubsequentCPUToScreenAlphaTexture(ScrnInfoPtr pScrn,
+ int dstx, int dsty, int srcx, int srcy, int width, int height);
+static Bool VoodooSetupForCPUToScreenTexture(ScrnInfoPtr pScrn, int op,
+ int texType, CARD8 *texPtr, int texPitch, int width, int height,
+ int flags);
+static void VoodooSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn,
+ int dstx, int dsty, int srcx, int srcy, int width, int height);
+
+
static int debug = 0;
/*
@@ -669,6 +685,17 @@
}
/*
+ * Voodoo exit logic
+ */
+
+void VoodooRestorePassThrough(VoodooPtr pVoo)
+{
+ pci_enable(pVoo, 1, 0, 0);
+ mmio32_w(pVoo, 0x210, 0);
+ pci_enable(pVoo, 0, 0, 1);
+}
+
+/*
* Copiers for Voodoo1
*
* Voodoo1 has no CPU to screen blit, and also lacks SGRAM fill
@@ -814,7 +841,8 @@
mmio32_w(pVoo, 0x114, pVoo->lfbMode);
}
-void VoodooReadWriteBank(ScreenPtr pScreen, int bank)
+#if 0
+static void VoodooReadWriteBank(ScreenPtr pScreen, int bank)
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
VoodooPtr pVoo = VoodooPTR(pScrn);
@@ -832,6 +860,7 @@
}
mmio32_w(pVoo, 0x114, pVoo->lfbMode);
}
+#endif
/*
* We normally want to load all four rop variants at once so
@@ -951,6 +980,9 @@
int rop, unsigned int planemask)
{
VoodooPtr pVoo = VoodooPTR(pScrn);
+ if (debug)
+ ErrorF("Setup for solid fill colour %04X, rop %d, Mask %04X.\n",
+ color, rop, planemask);
Voodoo2Setup2D(pVoo);
mmio32_w_chuck(pVoo, 0x2EC, ropxlate[rop]); /* rop */
mmio32_w_chuck(pVoo, 0x2F0, color); /* fg color */
@@ -961,6 +993,8 @@
int w, int h)
{
VoodooPtr pVoo = VoodooPTR(pScrn);
+ if (debug)
+ ErrorF("Fill (%d, %d) for (%d, %d)\n", x, y, w, h);
wait_idle(pVoo);
mmio32_w_chuck(pVoo, 0x2E4, (y<<16) | x); /* Dst x,y */
/* Set size and fire */
@@ -1183,9 +1217,9 @@
*/
-Bool VoodooSetupForCPUToScreenAlphaTexture(ScrnInfoPtr pScrn, int op, CARD16 red,
- CARD16 green, CARD16 blue, CARD16 alpha, int alphaType, CARD8 *alphaPtr,
- int alphaPitch, int width, int height, int flags)
+static Bool VoodooSetupForCPUToScreenAlphaTexture(ScrnInfoPtr pScrn, int op,
+ CARD16 red, CARD16 green, CARD16 blue, CARD16 alpha, int alphaType,
+ CARD8 *alphaPtr, int alphaPitch, int width, int height, int flags)
{
VoodooPtr pVoo = VoodooPTR(pScrn);
@@ -1210,7 +1244,8 @@
return TRUE;
}
-void VoodooSubsequentCPUToScreenAlphaTexture(ScrnInfoPtr pScrn, int dstx, int dsty, int srcx, int srcy, int width, int height)
+static void VoodooSubsequentCPUToScreenAlphaTexture(ScrnInfoPtr pScrn,
+ int dstx, int dsty, int srcx, int srcy, int width, int height)
{
VoodooPtr pVoo = VoodooPTR(pScrn);
/* 32bit LFB write mode */
@@ -1258,8 +1293,9 @@
mmio32_w(pVoo, 0x10C, 0);
}
-Bool VoodooSetupForCPUToScreenTexture(ScrnInfoPtr pScrn, int op, int texType,
- CARD8 *texPtr, int texPitch, int width, int height, int flags)
+static Bool VoodooSetupForCPUToScreenTexture(ScrnInfoPtr pScrn, int op,
+ int texType, CARD8 *texPtr, int texPitch, int width, int height,
+ int flags)
{
VoodooPtr pVoo = VoodooPTR(pScrn);
@@ -1283,7 +1319,8 @@
return TRUE;
}
-void VoodooSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn, int dstx, int dsty, int srcx, int srcy, int width, int height)
+static void VoodooSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn,
+ int dstx, int dsty, int srcx, int srcy, int width, int height)
{
VoodooPtr pVoo = VoodooPTR(pScrn);
/* 32bit LFB write mode */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-voodoo-1.2.0/src/voodoo_pcirename.h new/xf86-video-voodoo-1.2.1/src/voodoo_pcirename.h
--- old/xf86-video-voodoo-1.2.0/src/voodoo_pcirename.h 2008-03-19 15:31:33.000000000 +0100
+++ new/xf86-video-voodoo-1.2.1/src/voodoo_pcirename.h 2008-08-15 19:55:45.000000000 +0200
@@ -26,8 +26,8 @@
* library. The main purpose being to facilitate source code compatibility.
*/
-#ifndef TRIDENTPCIRENAME_H
-#define TRIDENTPCIRENAME_H
+#ifndef VOODOOPCIRENAME_H
+#define VOODOOPCIRENAME_H
enum region_type {
REGION_MEM,
@@ -119,4 +119,4 @@
#endif /* XSERVER_LIBPCIACCESS */
-#endif /* TRIDENTPCIRENAME_H */
+#endif /* VOODOOPCIRENAME_H */
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org