.gitignore | 70 +++++- ChangeLog | 319 +++++++++++++++++++++++++++++ Makefile.am | 11 - configure.ac | 50 ++-- debian/changelog | 9 debian/patches/20-faumachine-maxpitch.diff | 38 --- debian/patches/series | 1 man/.gitignore | 2 man/Makefile.am | 63 ++--- man/cirrus.man | 1 src/.gitignore | 6 src/CirrusClk.c | 2 src/alp.h | 2 src/alp_driver.c | 147 ++++++++++++- src/alp_hwcurs.c | 2 src/alp_i2c.c | 2 src/alp_xaa.c | 2 src/alp_xaam.c | 1 src/cir.h | 4 src/cir_dga.c | 5 src/cir_driver.c | 14 - src/cir_pcirename.h | 27 ++ src/cir_shadow.c | 2 src/lg.h | 2 src/lg_driver.c | 21 + src/lg_hwcurs.c | 1 src/lg_i2c.c | 2 src/lg_xaa.c | 1 src/lg_xaa.h | 1 29 files changed, 631 insertions(+), 177 deletions(-)
New commits: commit fd612778231309136b8c444e5312a50bc7978b56 Author: Cyril Brulebois <[email protected]> Date: Mon Apr 2 02:12:54 2012 +0000 Upload to unstable. diff --git a/debian/changelog b/debian/changelog index 0cba45c..e4030f1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,11 @@ -xserver-xorg-video-cirrus (1:1.4.0-1) UNRELEASED; urgency=low +xserver-xorg-video-cirrus (1:1.4.0-1) unstable; urgency=low * New upstream release: - Add support for Xserver 1.12. * Drop patch (merged upstream): - 20-faumachine-maxpitch.diff - -- Cyril Brulebois <[email protected]> Mon, 02 Apr 2012 02:02:33 +0000 + -- Cyril Brulebois <[email protected]> Mon, 02 Apr 2012 02:12:51 +0000 xserver-xorg-video-cirrus (1:1.3.2-4) unstable; urgency=low commit 0f44f3fa7d2e0987dc7bebea2ab75eb1e88b75dc Author: Cyril Brulebois <[email protected]> Date: Mon Apr 2 02:12:46 2012 +0000 Drop patch (merged upstream): 20-faumachine-maxpitch.diff diff --git a/debian/changelog b/debian/changelog index a054329..0cba45c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ xserver-xorg-video-cirrus (1:1.4.0-1) UNRELEASED; urgency=low * New upstream release: - Add support for Xserver 1.12. + * Drop patch (merged upstream): + - 20-faumachine-maxpitch.diff -- Cyril Brulebois <[email protected]> Mon, 02 Apr 2012 02:02:33 +0000 diff --git a/debian/patches/20-faumachine-maxpitch.diff b/debian/patches/20-faumachine-maxpitch.diff deleted file mode 100644 index dd0ea32..0000000 --- a/debian/patches/20-faumachine-maxpitch.diff +++ /dev/null @@ -1,38 +0,0 @@ -Fix max pitch issues in FAUmachine. - -Patch by Stefan Potyra <[email protected]>, stolen from bugzilla: -https://bugs.freedesktop.org/show_bug.cgi?id=23775 - ---- a/src/alp_driver.c -+++ b/src/alp_driver.c -@@ -407,6 +407,8 @@ GetAccelPitchValues(ScrnInfoPtr pScrn) - { - int *linePitches = NULL; - int i, n = 0; -+ int max_pitch = 2048; -+ - CirPtr pCir = CIRPTR(pScrn); - - /* XXX ajv - 512, 576, and 1536 may not be supported -@@ -423,8 +425,20 @@ GetAccelPitchValues(ScrnInfoPtr pScrn) - 1280, 1536, 1600, 1920, 2048, 0 }; - #endif - -+ switch (pCir->Chipset) { -+ case PCI_CHIP_GD5446: -+ max_pitch = 0x1ff << 3; -+ break; -+ -+ default: -+ /* FIXME max_pitch for other chipsets? */ -+ max_pitch = (pScrn->bitsPerPixel / 8) * 2048; -+ break; -+ } -+ - for (i = 0; accelWidths[i] != 0; i++) { -- if (accelWidths[i] % pCir->Rounding == 0) { -+ if ((accelWidths[i] % pCir->Rounding == 0) -+ && ((accelWidths[i] * pScrn->bitsPerPixel / 8) <= max_pitch)) { - n++; - linePitches = xnfrealloc(linePitches, n * sizeof(int)); - linePitches[n - 1] = accelWidths[i]; diff --git a/debian/patches/series b/debian/patches/series index e99ced6..354eb33 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1 @@ 10-qemu.diff -20-faumachine-maxpitch.diff commit 1be781965b002ffc78096d26a7e3d7e7cf981aab Author: Cyril Brulebois <[email protected]> Date: Mon Apr 2 02:02:45 2012 +0000 Bump changelogs. diff --git a/ChangeLog b/ChangeLog index 59ef5d4..9881813 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,322 @@ +commit 52ae4d254fee97a215ac497a45b69b4c83470b2b +Author: Alan Coopersmith <[email protected]> +Date: Fri Mar 23 18:48:04 2012 -0700 + + xf86-video-cirrus 1.4.0 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 3fade932efae82c0ebd81a93aeaffd4e63640736 +Author: Adam Jackson <[email protected]> +Date: Tue Mar 13 18:36:15 2012 -0400 + + alpine: Fix int10 setup + + The PC98-removal fix accidentally took out the non-PC98 path here. + + Reported-by: Benjamin Herrenschmidt <[email protected]> + Signed-off-by: Adam Jackson <[email protected]> + +commit cbca35e71ed553f331a7eaa1525dad1dbe2a4904 +Author: Adam Jackson <[email protected]> +Date: Tue Dec 20 13:56:42 2011 -0500 + + Typo fix + + Signed-off-by: Adam Jackson <[email protected]> + +commit f422d0c38b0befdb2152215ab05d0d14f3da3ed9 +Author: Adam Jackson <[email protected]> +Date: Mon Dec 19 17:46:26 2011 -0500 + + Fix for new vgaHW ABI + + Signed-off-by: Adam Jackson <[email protected]> + +commit 92c7067070455610bd761b73f992642882ca2156 +Author: Adam Jackson <[email protected]> +Date: Mon Dec 19 16:21:51 2011 -0500 + + Fall back to shadowfb if XAA is unavailable + + Signed-off-by: Adam Jackson <[email protected]> + +commit d9c9cc333e8a67749c20b3b30129f4d2297a3e0a +Author: Jeremy Huddleston <[email protected]> +Date: Sun Oct 30 20:34:47 2011 -0700 + + Build fix for older servers (error: conflicting types for 'pciTag') + + /usr/include/xorg/xf86Pci.h:254:25: note: previous declaration of 'pciTag' was here + + Reported-by: Johannes Obermayr <[email protected]> + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit 05fd00f46eb3be46d669921d11dff6fe8a5bb60b +Author: Jeremy Huddleston <[email protected]> +Date: Sat Oct 29 16:58:41 2011 -0700 + + pciTag was removed from xorg-server, so provide it in-driver until this is updated to use libpciaccess + + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit 1a4dc3fb35223b708f27746b9d30a068a046cf3a +Author: Jeremy Huddleston <[email protected]> +Date: Sat Oct 29 16:47:43 2011 -0700 + + Disable PC98 code on newer servers. + + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit 28aef0c4a45288751b2d5b7d5d0c452a116a5b38 +Author: Satoshi KImura <[email protected]> +Date: Fri Oct 21 15:34:41 2011 -0700 + + Add support for the NEC PC-9821 + + https://bugs.freedesktop.org/show_bug.cgi?id=1837 + + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit f5a8080f149a2f2658b7773ae7db7c67c52c4199 +Author: Stefan Potyra <[email protected]> +Date: Thu Oct 20 14:44:44 2011 -0700 + + Limit the maximul pitch of GD5436 and GD5446 + + Limit the maximum supported pitch of the GD5446 to 4088, since the internal + pitch register is only 9 bit (and contains the pitch left shifted by 3). + + See https://bugs.freedesktop.org/show_bug.cgi?id=23775 + + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit 9fcfd1aa760023e449cbb8c1eebd0bb570a6aacb +Author: Jeremy Huddleston <[email protected]> +Date: Wed Oct 19 00:12:15 2011 -0700 + + Build fix for ABI Version 12 + + ABI Version 12 removes support for multiple PCI domains. If you need to + use this driver on a system with more than one PCI domain, you should + either port this driver to using libpciaccess directly or stick with an + older server. + + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit 80f60e4af0e0b124335c5a09cad0b1eb42583536 +Author: Jeremy Huddleston <[email protected]> +Date: Mon Oct 17 01:42:00 2011 -0700 + + Use malloc/calloc/realloc/free directly + + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit 3e5ebc4c1b9c2f751e50415b0d1bbb670c659eac +Author: Jeremy Huddleston <[email protected]> +Date: Mon Oct 17 01:40:17 2011 -0700 + + GD5436 timings are the same as GD5446 + + Based on information from http://www.xfree86.org/3.3.6/cirrus1.html + See: https://bugs.freedesktop.org/show_bug.cgi?id=4169 + + Signed-off-by: Jeremy Huddleston <[email protected]> + +commit e4f80ffd9dbcc08f361cda560036584f19386e0a +Author: Alan Coopersmith <[email protected]> +Date: Sat Oct 30 09:34:26 2010 -0700 + + Sun's copyrights now belong to Oracle + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 366a025a3f3d90e526c639c9048bf5eb2a150d09 +Author: Jesse Adkins <[email protected]> +Date: Tue Sep 28 13:29:50 2010 -0700 + + Purge cvs tags. + + Signed-off-by: Jesse Adkins <[email protected]> + Signed-off-by: Alan Coopersmith <[email protected]> + +commit c3daa8cd1d413463d9fd8a37e0bf7e4a726294a4 +Author: Gaetan Nadon <[email protected]> +Date: Wed Jul 21 16:49:04 2010 -0400 + + config: add comments for main statements + +commit 278aaf299ce331d80e9f7cab16de486af59838b1 +Author: Gaetan Nadon <[email protected]> +Date: Wed Jul 21 16:07:00 2010 -0400 + + config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit 33b562de1f0cca64b42f406421f831fb4b560241 +Author: Gaetan Nadon <[email protected]> +Date: Wed Jul 21 14:37:41 2010 -0400 + + config: replace deprecated AC_HELP_STRING with AS_HELP_STRING + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit 7e57f3cfab16385964b99cb50b5a72d886147a2a +Author: Gaetan Nadon <[email protected]> +Date: Wed Jul 21 14:05:22 2010 -0400 + + config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit eab829dcd71757dc67115b3abce7a5e19f3b6344 +Author: Gaetan Nadon <[email protected]> +Date: Wed Jul 21 09:27:42 2010 -0400 + + config: complete AC_INIT m4 quoting + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit edf97d9e61b3d2fcdf55dbe17750440f9a7e9e2c +Author: Gaetan Nadon <[email protected]> +Date: Tue Jul 20 21:44:57 2010 -0400 + + config: remove unrequired AC_SUBST([XORG_CFLAGS]) + + This macro is called by PKG_CHECK_MODULES + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit 78c1ea02b3e219e466b83ef00eec54f307c2ec68 +Author: Gaetan Nadon <[email protected]> +Date: Tue Jul 20 20:24:42 2010 -0400 + + config: remove unrequired AC_HEADER_STDC + + Autoconf says: + "This macro is obsolescent, as current systems have conforming + header files. New programs need not use this macro". + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit fed5c9e4c8d0b5b4c706f67ccba5556cb4b0b1bd +Author: Gaetan Nadon <[email protected]> +Date: Tue Jul 20 19:41:30 2010 -0400 + + config: remove AC_PROG_CC as it overrides AC_PROG_C_C99 + + XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls + AC_PROG_C_C99. This sets gcc with -std=gnu99. + If AC_PROG_CC macro is called afterwards, it resets CC to gcc. + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit 4b18662b6f90e78914f4bac9e5ae682d9bd1dbd5 +Author: Gaetan Nadon <[email protected]> +Date: Tue Jul 20 18:45:18 2010 -0400 + + config: update AC_PREREQ statement to 2.60 + + Unrelated to the previous patches, the new value simply reflects + the reality that the minimum level for autoconf to configure + all x.org modules is 2.60 dated June 2006. + + ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit d0e8c28f0bbc56573a8260c3ee077eb61813ca0e +Author: Gaetan Nadon <[email protected]> +Date: Tue Jul 20 16:15:29 2010 -0400 + + config: upgrade to util-macros 1.8 for additional man page support + + Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS + The value of MAN_SUBST is the same for all X.Org packages. + +commit ebb417ee48cb68a173d1853559dbad8b0461b7b6 +Author: Alan Coopersmith <[email protected]> +Date: Fri Jan 15 15:53:13 2010 -0800 + + Update Sun license notices to current X.Org standard form + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 80e115c8cdc051e0b9aced2c809997f4545457c7 +Author: Gaetan Nadon <[email protected]> +Date: Tue Dec 15 22:01:02 2009 -0500 + + configure.ac: remove unused sdkdir=$(pkg-config...) statement + + The sdkdir variable isn't use, so remove the statement. + + Acked-by: Dan Nicholson <[email protected]> + + Signed-off-by: Gaetan Nadon <[email protected]> + +commit ad50be355b8ba3963534e45f564ed94e9a3ffc24 +Author: Gaetan Nadon <[email protected]> +Date: Mon Nov 23 09:25:05 2009 -0500 + + Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES + + Now that the INSTALL file is generated. + Allows running make maintainer-clean. + +commit 385557063f63121ba8ae81ec75f765b4fb9e5d7a +Author: Gaetan Nadon <[email protected]> +Date: Wed Oct 28 14:41:41 2009 -0400 + + INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206 + + Automake 'foreign' option is specified in configure.ac. + Remove from Makefile.am + +commit d2bed9c37b379ccd88163ec009a7aff5a84203aa +Author: Gaetan Nadon <[email protected]> +Date: Wed Oct 28 14:09:09 2009 -0400 + + INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206 + + Add missing INSTALL file. Use standard GNU file on building tarball + README may have been updated + Remove AUTHORS file as it is empty and no content available yet. + Remove NEWS file as it is empty and no content available yet. + +commit 53b83b628cce7811f0de9836e37c452c76906d91 +Author: Gaetan Nadon <[email protected]> +Date: Mon Oct 26 12:54:21 2009 -0400 + + Several driver modules do not have a ChangeLog target in Makefile.am #23814 + + The git generated ChangeLog replaces the hand written one. + Update configure.ac to xorg-macros level 1.3. + Use XORG_DEFAULT_OPTIONS which replaces four XORG_* macros + Update Makefile.am to add ChangeLog target if missing + Remove ChangeLog from EXTRA_DIST or *CLEAN variables + This is a pre-req for the INSTALL_CMD + +commit 70204fab0297c9b0297c4205fe946ee45b814a0d +Author: Gaetan Nadon <[email protected]> +Date: Thu Oct 22 15:31:26 2009 -0400 + + .gitignore: use common defaults with custom section # 24239 + + Using common defaults will reduce errors and maintenance. + Only the very small or inexistent custom section need periodic maintenance + when the structure of the component changes. Do not edit defaults. + +commit f68b55531f0ba74820ae59d0aebd025aeae8ddf5 +Author: Gaetan Nadon <[email protected]> +Date: Thu Oct 22 12:34:16 2009 -0400 + + .gitignore: use common defaults with custom section # 24239 + + Using common defaults will reduce errors and maintenance. + Only the very small or inexistent custom section need periodic maintenance + when the structure of the component changes. Do not edit defaults. + commit 5cbe6d11d11070da698a6a3ddd5d95d1cff34da1 Author: Dave Airlie <[email protected]> Date: Thu Jul 30 12:04:26 2009 +1000 diff --git a/debian/changelog b/debian/changelog index 8312281..a054329 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-video-cirrus (1:1.4.0-1) UNRELEASED; urgency=low + + * New upstream release: + - Add support for Xserver 1.12. + + -- Cyril Brulebois <[email protected]> Mon, 02 Apr 2012 02:02:33 +0000 + xserver-xorg-video-cirrus (1:1.3.2-4) unstable; urgency=low * Switch to dh: commit 52ae4d254fee97a215ac497a45b69b4c83470b2b Author: Alan Coopersmith <[email protected]> Date: Fri Mar 23 18:48:04 2012 -0700 xf86-video-cirrus 1.4.0 Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/configure.ac b/configure.ac index 68c3eb3..e6e22f5 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-cirrus], - [1.3.2], + [1.4.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-cirrus]) AC_CONFIG_SRCDIR([Makefile.am]) commit 3fade932efae82c0ebd81a93aeaffd4e63640736 Author: Adam Jackson <[email protected]> Date: Tue Mar 13 18:36:15 2012 -0400 alpine: Fix int10 setup The PC98-removal fix accidentally took out the non-PC98 path here. Reported-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Adam Jackson <[email protected]> diff --git a/src/alp_driver.c b/src/alp_driver.c index 11cd2f2..2e19461 100644 --- a/src/alp_driver.c +++ b/src/alp_driver.c @@ -534,7 +534,10 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) PCI_DEV_FUNC(pCir->PciInfo)); #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 - if (!xf86IsPc98() && xf86LoadSubModule(pScrn, "int10")) { + if (!xf86IsPc98()) +#endif + if (xf86LoadSubModule(pScrn, "int10")) + { xf86DrvMsg(pScrn->scrnIndex,X_INFO,"initializing int10\n"); pInt = xf86InitInt10(pCir->pEnt->index); xf86FreeInt10(pInt); @@ -546,7 +549,6 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 0, REGION_MEM), 0x10); PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 1, REGION_MEM), 0x14); } -#endif /* Set pScrn->monitor */ pScrn->monitor = pScrn->confScreen->monitor; commit cbca35e71ed553f331a7eaa1525dad1dbe2a4904 Author: Adam Jackson <[email protected]> Date: Tue Dec 20 13:56:42 2011 -0500 Typo fix Signed-off-by: Adam Jackson <[email protected]> diff --git a/src/lg_driver.c b/src/lg_driver.c index 6577fa5..d4301e1 100644 --- a/src/lg_driver.c +++ b/src/lg_driver.c @@ -801,7 +801,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) /* Load XAA if needed */ if (!pCir->NoAccel) { if (!xf86LoadSubModule(pScrn, "xaa")) { - xf86DrvMsg(pScrn->scrnInfo, X_INFO, + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n"); pCir->NoAccel = TRUE; pCir->shadowFB = TRUE; commit f422d0c38b0befdb2152215ab05d0d14f3da3ed9 Author: Adam Jackson <[email protected]> Date: Mon Dec 19 17:46:26 2011 -0500 Fix for new vgaHW ABI Signed-off-by: Adam Jackson <[email protected]> diff --git a/src/alp_driver.c b/src/alp_driver.c index ecdd807..11cd2f2 100644 --- a/src/alp_driver.c +++ b/src/alp_driver.c @@ -503,6 +503,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) if (!vgaHWGetHWRec(pScrn)) return FALSE; hwp = VGAHWPTR(pScrn); + vgaHWSetStdFuncs(hwp); vgaHWGetIOBase(hwp); /* Allocate the AlpRec driverPrivate */ diff --git a/src/lg_driver.c b/src/lg_driver.c index 80b5b02..6577fa5 100644 --- a/src/lg_driver.c +++ b/src/lg_driver.c @@ -364,6 +364,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) return FALSE; hwp = VGAHWPTR(pScrn); + vgaHWSetStdFuncs(hwp); vgaHWGetIOBase(hwp); /* Allocate the LgRec driverPrivate */ commit 92c7067070455610bd761b73f992642882ca2156 Author: Adam Jackson <[email protected]> Date: Mon Dec 19 16:21:51 2011 -0500 Fall back to shadowfb if XAA is unavailable Signed-off-by: Adam Jackson <[email protected]> diff --git a/src/alp_driver.c b/src/alp_driver.c index d3d8e4f..ecdd807 100644 --- a/src/alp_driver.c +++ b/src/alp_driver.c @@ -1093,8 +1093,10 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) /* Load XAA if needed */ if (!pCir->NoAccel) { if (!xf86LoadSubModule(pScrn, "xaa")) { - AlpFreeRec(pScrn); - return FALSE; + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Falling back to shadowfb\n"); + pCir->NoAccel = TRUE; + pCir->shadowFB = TRUE; } } diff --git a/src/lg_driver.c b/src/lg_driver.c index fc864f8..80b5b02 100644 --- a/src/lg_driver.c +++ b/src/lg_driver.c @@ -800,8 +800,10 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) /* Load XAA if needed */ if (!pCir->NoAccel) { if (!xf86LoadSubModule(pScrn, "xaa")) { - LgFreeRec(pScrn); - return FALSE; + xf86DrvMsg(pScrn->scrnInfo, X_INFO, + "Falling back to shadowfb\n"); + pCir->NoAccel = TRUE; + pCir->shadowFB = TRUE; } } commit d9c9cc333e8a67749c20b3b30129f4d2297a3e0a Author: Jeremy Huddleston <[email protected]> Date: Sun Oct 30 20:34:47 2011 -0700 Build fix for older servers (error: conflicting types for 'pciTag') /usr/include/xorg/xf86Pci.h:254:25: note: previous declaration of 'pciTag' was here Reported-by: Johannes Obermayr <[email protected]> Signed-off-by: Jeremy Huddleston <[email protected]> diff --git a/src/cir_pcirename.h b/src/cir_pcirename.h index fa60a19..669b8fe 100644 --- a/src/cir_pcirename.h +++ b/src/cir_pcirename.h @@ -34,6 +34,10 @@ enum region_type { REGION_IO }; +#include "xf86Module.h" + +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 + #if (defined(__alpha__) || defined(__ia64__)) && defined (linux) #define PCI_DOM_MASK 0x01fful #else @@ -55,6 +59,7 @@ pciTag(int busnum, int devnum, int funcnum) return tag; } +#endif /* GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 */ #ifndef XSERVER_LIBPCIACCESS commit 05fd00f46eb3be46d669921d11dff6fe8a5bb60b Author: Jeremy Huddleston <[email protected]> Date: Sat Oct 29 16:58:41 2011 -0700 pciTag was removed from xorg-server, so provide it in-driver until this is updated to use libpciaccess Signed-off-by: Jeremy Huddleston <[email protected]> diff --git a/src/cir_pcirename.h b/src/cir_pcirename.h index f0f5cf8..fa60a19 100644 --- a/src/cir_pcirename.h +++ b/src/cir_pcirename.h @@ -34,6 +34,28 @@ enum region_type { REGION_IO }; +#if (defined(__alpha__) || defined(__ia64__)) && defined (linux) +#define PCI_DOM_MASK 0x01fful +#else +#define PCI_DOM_MASK 0x0ffu +#endif + +#ifndef PCI_DOM_MASK +# define PCI_DOM_MASK 0x0ffu +#endif +#define PCI_DOMBUS_MASK (((PCI_DOM_MASK) << 8) | 0x0ffu) + +static inline uint32_t +pciTag(int busnum, int devnum, int funcnum) +{ + uint32_t tag; + tag = (busnum & (PCI_DOMBUS_MASK)) << 16; + tag |= (devnum & 0x00001fu) << 11; + tag |= (funcnum & 0x000007u) << 8; + + return tag; +} + #ifndef XSERVER_LIBPCIACCESS /* pciVideoPtr */ commit 1a4dc3fb35223b708f27746b9d30a068a046cf3a Author: Jeremy Huddleston <[email protected]> Date: Sat Oct 29 16:47:43 2011 -0700 Disable PC98 code on newer servers. Signed-off-by: Jeremy Huddleston <[email protected]> diff --git a/src/alp_driver.c b/src/alp_driver.c index 79a1598..d3d8e4f 100644 --- a/src/alp_driver.c +++ b/src/alp_driver.c @@ -121,8 +121,10 @@ static void AlpOffscreenAccelInit(ScrnInfoPtr pScrn); static void AlpDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags); +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 static void PC98CIRRUS755xEnable(ScrnInfoPtr pScrn); static void PC98CIRRUS755xDisable(ScrnInfoPtr pScrn); +#endif /* * This is intentionally screen-independent. It indicates the binding @@ -530,6 +532,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) PCI_DEV_DEV(pCir->PciInfo), PCI_DEV_FUNC(pCir->PciInfo)); +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 if (!xf86IsPc98() && xf86LoadSubModule(pScrn, "int10")) { xf86DrvMsg(pScrn->scrnIndex,X_INFO,"initializing int10\n"); pInt = xf86InitInt10(pCir->pEnt->index); @@ -541,8 +544,8 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 0, REGION_MEM), 0x10); PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 1, REGION_MEM), 0x14); - } +#endif /* Set pScrn->monitor */ pScrn->monitor = pScrn->confScreen->monitor; @@ -1408,8 +1411,10 @@ AlpModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) vgaHWProtect(pScrn, FALSE); +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 if (xf86IsPc98()) PC98CIRRUS755xEnable(pScrn); +#endif return TRUE; } @@ -1834,8 +1839,10 @@ AlpLeaveVT(int scrnIndex, int flags) AlpRestore(pScrn); vgaHWLock(hwp); +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 if (xf86IsPc98()) PC98CIRRUS755xDisable(pScrn); +#endif } @@ -1873,8 +1880,10 @@ AlpCloseScreen(int scrnIndex, ScreenPtr pScreen) pScrn->vtSema = FALSE; +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 if (xf86IsPc98()) PC98CIRRUS755xDisable(pScrn); +#endif pScreen->CloseScreen = pCir->CloseScreen; return (*pScreen->CloseScreen)(scrnIndex, pScreen); @@ -2139,6 +2148,7 @@ AlpOffscreenAccelInit(ScrnInfoPtr pScrn) } } +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 static void PC98CIRRUS755xEnable(ScrnInfoPtr pScrn) /* enter_aile() */ { @@ -2186,4 +2196,4 @@ PC98CIRRUS755xDisable(ScrnInfoPtr pScrn) /* leave_aile() */ outb(0x6a, 0x69); outb(0x6a, 0x06); } - +#endif commit 28aef0c4a45288751b2d5b7d5d0c452a116a5b38 Author: Satoshi KImura <[email protected]> Date: Fri Oct 21 15:34:41 2011 -0700 Add support for the NEC PC-9821 https://bugs.freedesktop.org/show_bug.cgi?id=1837 Signed-off-by: Jeremy Huddleston <[email protected]> diff --git a/src/alp_driver.c b/src/alp_driver.c index 3153484..79a1598 100644 --- a/src/alp_driver.c +++ b/src/alp_driver.c @@ -27,6 +27,10 @@ /* Drivers for PCI hardware need this */ #include "xf86PciInfo.h" +#ifndef PCI_CHIP_GD7556 /* for old xf86PciInfo.h */ +#define PCI_CHIP_GD7556 0x004C +#endif + /* Drivers that need to access the PCI config space directly need this */ #include "xf86Pci.h" @@ -117,6 +121,9 @@ static void AlpOffscreenAccelInit(ScrnInfoPtr pScrn); static void AlpDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags); +static void PC98CIRRUS755xEnable(ScrnInfoPtr pScrn); +static void PC98CIRRUS755xDisable(ScrnInfoPtr pScrn); + /* * This is intentionally screen-independent. It indicates the binding * choice made in the first PreInit. @@ -151,6 +158,8 @@ static int gd5430_MaxClocks[] = { 85500, 85500, 50000, 28500, 0 }; static int gd5446_MaxClocks[] = { 135100, 135100, 85500, 85500, 0 }; static int gd5480_MaxClocks[] = { 135100, 200000, 200000, 135100, 135100 }; static int gd7548_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 }; +static int gd7555_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 }; +static int gd7556_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 }; #ifdef XFree86LOADER @@ -383,6 +392,11 @@ AlpCountRam(ScrnInfoPtr pScrn) break; } break; + + case PCI_CHIP_GD7555: + case PCI_CHIP_GD7556: + videoram = 2048; /* for PC-9821 La13 etc. */ + break; } /* UNMap the Alp memory and MMIO areas */ @@ -516,7 +530,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) PCI_DEV_DEV(pCir->PciInfo), PCI_DEV_FUNC(pCir->PciInfo)); - if (xf86LoadSubModule(pScrn, "int10")) { + if (!xf86IsPc98() && xf86LoadSubModule(pScrn, "int10")) { xf86DrvMsg(pScrn->scrnIndex,X_INFO,"initializing int10\n"); pInt = xf86InitInt10(pCir->pEnt->index); xf86FreeInt10(pInt); @@ -607,6 +621,16 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) from = X_DEFAULT; pCir->HWCursor = FALSE; + + switch (pCir->Chipset) { + case PCI_CHIP_GD7555: + case PCI_CHIP_GD7556: + pCir->HWCursor = TRUE; + break; + default: + break; + } + if (xf86GetOptValBool(pCir->Options, OPTION_HW_CURSOR, &pCir->HWCursor)) from = X_CONFIG; @@ -894,6 +918,12 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) case PCI_CHIP_GD7548: p = gd7548_MaxClocks; break; + case PCI_CHIP_GD7555: + p = gd7555_MaxClocks; + break; + case PCI_CHIP_GD7556: + p = gd7556_MaxClocks; + break; } if (!p) return FALSE; @@ -1378,6 +1408,9 @@ AlpModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) vgaHWProtect(pScrn, FALSE); + if (xf86IsPc98()) + PC98CIRRUS755xEnable(pScrn); + return TRUE; } @@ -1800,6 +1833,9 @@ AlpLeaveVT(int scrnIndex, int flags) AlpRestore(pScrn); vgaHWLock(hwp); + + if (xf86IsPc98()) + PC98CIRRUS755xDisable(pScrn); } @@ -1837,6 +1873,9 @@ AlpCloseScreen(int scrnIndex, ScreenPtr pScreen) pScrn->vtSema = FALSE; + if (xf86IsPc98()) + PC98CIRRUS755xDisable(pScrn); + pScreen->CloseScreen = pCir->CloseScreen; return (*pScreen->CloseScreen)(scrnIndex, pScreen); } @@ -2099,3 +2138,52 @@ AlpOffscreenAccelInit(ScrnInfoPtr pScrn) box.y2 - pScrn->virtualY); } } + +static void +PC98CIRRUS755xEnable(ScrnInfoPtr pScrn) /* enter_aile() */ +{ + unsigned int index,data; + vgaHWPtr hwp = VGAHWPTR(pScrn); + + outb(0xfac, 0x02); + + outb(0x68, 0x0e); + outb(0x6a, 0x07); + outb(0x6a, 0x8f); + outb(0x6a, 0x06); + + outw(VGA_SEQ_INDEX, 0x1206); /* unlock cirrus special */ + + index = hwp->IOBase + VGA_CRTC_INDEX_OFFSET; + data = hwp->IOBase + VGA_CRTC_DATA_OFFSET; + outb(index, 0x3c); + outb(data, inb(data) & 0xef); + outb(index, 0x1a); + outb(data, inb(data) & 0xf3); +} + +static void +PC98CIRRUS755xDisable(ScrnInfoPtr pScrn) /* leave_aile() */ +{ + unsigned int index,data; + vgaHWPtr hwp = VGAHWPTR(pScrn); + + outw(VGA_SEQ_INDEX, 0x1206); /* unlock cirrus special */ + + index = hwp->IOBase + VGA_CRTC_INDEX_OFFSET; + data = hwp->IOBase + VGA_CRTC_DATA_OFFSET; + outb(index, 0x3c); + outb(data, 0x71); + outb(index, 0x1a); + outb(data, inb(data) | 0x0c); + + outb(0xfac,0x00); + + outb(0x68, 0x0f); + outb(0x6a, 0x07); + outb(0x6a, 0x8e); + outb(0x6a, 0x21); + outb(0x6a, 0x69); + outb(0x6a, 0x06); +} + diff --git a/src/cir_driver.c b/src/cir_driver.c index e427700..7e470bb 100644 --- a/src/cir_driver.c +++ b/src/cir_driver.c @@ -27,6 +27,10 @@ /* Drivers for PCI hardware need this */ #include "xf86PciInfo.h" +#ifndef PCI_CHIP_GD7556 /* for old xf86PciInfo.h */ +#define PCI_CHIP_GD7556 0x004C +#endif + /* Drivers that need to access the PCI config space directly need this */ #include "xf86Pci.h" @@ -88,6 +92,8 @@ SymTabRec CIRChipsets[] = { { PCI_CHIP_GD5464BD, "CL-GD5464BD" }, { PCI_CHIP_GD5465, "CL-GD5465" }, { PCI_CHIP_GD7548, "CL-GD7548" }, + { PCI_CHIP_GD7555, "CL-GD7555" }, + { PCI_CHIP_GD7556, "CL-GD7556" }, {-1, NULL } }; -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

