ChangeLog | 242 ++++++++++++++++++++++++++++++++++++++++++ configure | 40 +++--- configure.ac | 4 debian/changelog | 10 + src/bios_reader/bios_dumper.c | 4 src/i810_reg.h | 8 + src/i830.h | 22 +++ src/i830_accel.c | 2 src/i830_debug.c | 4 src/i830_display.c | 18 +-- src/i830_driver.c | 143 ++++++++++++++---------- src/i830_lvds.c | 32 ++++- src/i830_memory.c | 20 +++ src/i830_quirks.c | 4 src/i830_ring.h | 17 -- src/i830_sdvo.c | 4 src/i830_tv.c | 4 src/i830_video.c | 20 ++- src/i915_hwmc.c | 36 ++++-- src/i915_hwmc.h | 2 src/xvmc/Makefile.am | 5 src/xvmc/Makefile.in | 17 -- src/xvmc/driDrawable.c | 174 ------------------------------ src/xvmc/driDrawable.h | 64 ----------- src/xvmc/i915_xvmc.c | 14 -- src/xvmc/intel_xvmc.c | 2 src/xvmc/intel_xvmc.h | 1 27 files changed, 505 insertions(+), 408 deletions(-)
New commits: commit 024491e592fe5e25e0418c93fd3f62802baedd33 Author: Brice Goglin <[EMAIL PROTECTED]> Date: Wed Jun 18 07:16:14 2008 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 3a95b3a..e042584 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-intel (2:2.3.2-1) UNRELEASED; urgency=low +xserver-xorg-video-intel (2:2.3.2-1) unstable; urgency=low * New upstream release. + Revert "Add FIFO watermark regs to register dumper", @@ -6,7 +6,7 @@ xserver-xorg-video-intel (2:2.3.2-1) UNRELEASED; urgency=low + Fix TV programming: add vblank wait after TV_CTL writes, closes: #485616. - -- Brice Goglin <[EMAIL PROTECTED]> Wed, 18 Jun 2008 07:11:44 +0200 + -- Brice Goglin <[EMAIL PROTECTED]> Wed, 18 Jun 2008 07:16:05 +0200 xserver-xorg-video-intel (2:2.3.1-1) unstable; urgency=low commit ce9d192a120c4d41613a254707cc3423dbda9a30 Author: Brice Goglin <[EMAIL PROTECTED]> Date: Wed Jun 18 07:15:50 2008 +0200 New upstream release diff --git a/ChangeLog b/ChangeLog index 7ec3b7d..422a0ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,245 @@ +commit b80bf50f8ebfe70044e66c7e8558e3031ba3cfca +Author: Zhenyu Wang <[EMAIL PROTECTED]> +Date: Wed Jun 18 10:46:11 2008 +0800 + + Bump version 2.3.2 + +commit 42a16bd38a0d09e3e6f33b2319b195aeacfa5084 +Author: Zhenyu Wang <[EMAIL PROTECTED]> +Date: Tue Jun 17 09:46:12 2008 +0800 + + Fix compiling with server master in LVDS backlight patch + (cherry picked from commit 289790c0467d27e96b537598a6589fc6a36da8b8) + +commit 9036c94b28d4f1d65333bc318079f31bf56b3f99 +Author: Lukas Hejtmanek <[EMAIL PROTECTED]> +Date: Mon Jun 16 02:49:41 2008 +0800 + + Fix maximum backlight issue + (cherry picked from commit 4c4ef27779aebf4df90b6233de05be2bb972de4c) + +commit df0bbdc7cbb6ff357a81ed28d12e56c9c7d643f7 +Author: Zhenyu Wang <[EMAIL PROTECTED]> +Date: Thu Jun 12 14:04:41 2008 +0800 + + Fix compiler warning when disable xvmc config + +commit d3df74ebb0b61cda347e5e4754f2fc8a4c3110b0 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Tue Jun 10 11:31:22 2008 -0700 + + Set up/restore PWRCTXA from enter/leavevt not server start/exit. + + This should improve behavior in the presence of VT switching, but also avoids + a crash on X exit from writing the register after unmapping mmio. + +commit 9d767d62fec724079178844915cd3feb9df93c7e +Author: Bryce Harrington <[EMAIL PROTECTED]> +Date: Tue Jun 10 14:10:39 2008 +0800 + + Two more Dell quirks + + fd.o #16160 + (cherry picked from commit 231a302013981cc597ba09ee89b367c8ab56e8ba) + +commit 9a8d70fe3d1db2e2d34c79b7d0b271127a63e415 +Author: Jesse Barnes <[EMAIL PROTECTED]> +Date: Mon Jun 9 08:52:59 2008 -0700 + + Fix TV programming: add vblank wait after TV_CTL writes + + Fxies FDO bug #14000; we need to wait for vblank after writing TV_CTL or followi + ng "DPMS on" calls may not actually enable the output. + (cherry picked from commit 1142be53eb8d2ee8a9b60ace5d49f0ba27332275) + +commit 7d9676c8cc309d42c49f82274f7dc43ab327bea3 +Author: Robert Lowery <[EMAIL PROTECTED]> +Date: Tue May 20 21:09:23 2008 +1000 + + Fix TV out connection type detection + + Make sure we wait for vblank when using the TV DAC to detect the connection + type. + + Fixes FDO bug #14000. + (cherry picked from commit 64a8f2433d7774d06119793b57cec6d3be6389c1) + (cherry picked from commit e4e61e8c97c585993b4b69b86350b3987178a47e) + +commit 4054725c3cf0956cc1717ad8acc558203a7af40d +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 14:55:23 2008 -0700 + + Move debug clock printout from ErrorF to X_INFO. + (cherry picked from commit bff180e6cac4452ef491c81855eb12bfa03d0bf3) + +commit e520316dd5f7bfdffadfa19b3046ba40ca367219 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 14:37:59 2008 -0700 + + Remove SVG_WORK_CONTROL init. + + The bit set is now reserved -- used to be a workaround for early revisions. + (cherry picked from commit ad459b21b7de4a79552ac155803d5930432fb84b) + +commit 34ce546153ce9dd0571ce0a5cec7a481641fbbdd +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 14:37:26 2008 -0700 + + Initialize clock gating from EnterVT and save/restore it appropriately. + +commit 71befe0581bcc7d75ed982b543bbf575c2f48c37 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 14:09:45 2008 -0700 + + Move BIOS scratch register setup to EnterVT instead of PreInit. + + We want these to always be set when our driver's in control. They are + already appropriately save/restored at leave/entervt. + (cherry picked from commit 8061e5ac27a5f61f940bccc940be922999cc1d3f) + +commit ae65ddbbc8064c33febc7608122828998ee15a2e +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 13:57:54 2008 -0700 + + Remove gratuitous wait_ring_idle after I830Sync. Syncing implies that. + (cherry picked from commit b61cb9283185eb5211e84eb7d8e68beea607c2eb) + +commit e0a2b1008f751ee8cddb0d7587514ea574821af6 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 13:39:08 2008 -0700 + + Remove duplicated i830_stop_ring()/SetHWOperatingState() in EnterVT(). + (cherry picked from commit adb4f5a5e826e584ab212d23fc8d474c3e7bb8e8) + +commit a4e8b188d469c8092d4314be96a697fb4f780276 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 11:56:42 2008 -0700 + + Replace a couple of wait-for-ring-idles with a single function to do so. + (cherry picked from commit 7e51384c973a96366b02ea646392c43574674111) + +commit 7d267e27c152a4935ec5301d9fbbfd6eff8816d4 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 11:26:02 2008 -0700 + + Just remove the mprotect kludge. + + Besides not being #ifdef __linux__ed as requested, some linux kernels break + in exciting new ways when you try to mprotect from PROT_NONE back to + PROT_READ|PROT_WRITE. Yes, there are bugs in the code we're calling in a + bug-exploiting bug workaround. + + If you want this workaround for the original bug exposed when moving to + libpciaccess, it's already in libpciaccess. + (cherry picked from commit 65306cdd71dad71e4ca7229764f81a0880dd70bf) + +commit 85308ab8aaf58b6620a41621128eba0b7e1ffb44 +Author: Hong Liu <[EMAIL PROTECTED]> +Date: Wed Jun 4 16:58:05 2008 +0800 + + Set SDVO sync polarity to default on 965 + + Fix fd.o bug 15766 + (cherry picked from commit beb72ae5aa053303f5cc419e9c9d7c6db964f160) + +commit 14dc93cb4dabdd83ee62a2a497c210aeb52f6c30 +Author: Zhenyu Wang <[EMAIL PROTECTED]> +Date: Thu Jun 12 13:47:04 2008 +0800 + + xvmc: a little cleanup + + Also safe check context size to not exceed surface max. + +commit ce674bd39c2fe2844b449fad6cfe83b4d18adad6 +Author: Zhenyu Wang <[EMAIL PROTECTED]> +Date: Tue Jun 3 16:13:52 2008 +0800 + + xvmc: remove unused dri drawable + (cherry picked from commit 96955003557686469c7ae9f7d42620d2851e6fad) + +commit 88232a9b9af2c73460eec206c4971679af9dcb43 +Author: Jesse Barnes <[EMAIL PROTECTED]> +Date: Mon May 26 09:34:34 2008 -0700 + + Fixup power saving registers + + Update clock gating disable bits to match docs and allocate a power context + memory area so that newer chips can save state and power down the render unit. + (cherry picked from commit 89bb53cc7a853d88fc34a0ca65ae2b6227a8dd24) + +commit 0deedbcc98a831284f6e9db2510e88e90e01c286 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Mon Mar 24 13:25:37 2008 -0700 + + Disable a bunch of clock gating disables on IGD_GM, which doesn't need them. + + Besides our driver having fallen through to the GM965 path for + RENCLK_GATE_D1, the BIOS was turning some of these on. It may be relevant + for previous platforms as well to zero out the fields that should be zero + in the other registers. + (cherry picked from commit 552a1b824db31a234d7c5cb71057ed0e0ce64477) + +commit 5dd06d08015cf9c0721f34f7005ecd670025c334 +Author: Alan Coopersmith <[EMAIL PROTECTED]> +Date: Wed May 21 14:56:27 2008 -0700 + + Define DEFFILEMODE for OS'es that don't have it + (cherry picked from commit 165c0865d849b7d280a3a119fe9ae0ad34637df0) + +commit 87ace420a34df7425641d089f71830e44fced098 +Author: Shuang He <[EMAIL PROTECTED]> +Date: Mon May 26 09:20:53 2008 +0800 + + Fix typo in xvmc block destroy + +commit 288ef6585150f2a58d4c1723efae1a5a7a41772a +Author: Zhenyu Wang <[EMAIL PROTECTED]> +Date: Tue May 20 08:54:01 2008 +0800 + + Revert "Add FIFO watermark regs to register dumper" + + This reverts commit 0c00a638ef57aa9d6a3047176b0bfad733f781f0. + + Those FIFO watermark regs are 945-ish, and cause problem + on G35. + (cherry picked from commit 740a73dad1d9a9b0ebf1cc7d6f2a056abad57aaf) + +commit 730259ed6446f73d9aa0318688b0795641bea076 +Author: RĂ©mi Cardona <[EMAIL PROTECTED]> +Date: Wed May 14 14:52:37 2008 +0800 + + Add glproto to DRI dependencies + (cherry picked from commit e9532f3abf1e0b62b2569d4aae60a5a63add571f) + +commit f419f56ec8715e980aeb673bf4afd7649580d53c +Author: Jesse Barnes <[EMAIL PROTECTED]> +Date: Mon May 12 10:58:24 2008 -0700 + + Panel fitting: fix letterbox modes + + In full_aspect mode, we try to preserve the aspect ratio by adding + either top & bottom or left & right borders. In the letterbox case (top + & bottom borders) we were miscalculating the top border which led to + programming a bad mode. Fix the calculation and bug #15559. + (cherry picked from commit 5103e5a39a4869a714b8a59da8bf51ecc8c65e4f) + +commit 9bb3ac06ed3d1a3456217d478d556b0abf05b585 +Author: Keith Packard <[EMAIL PROTECTED]> +Date: Sun Apr 13 21:37:49 2008 -0700 + + Only use FOURCC_XVMC when INTEL_XVMC is defined + + The XVMC code uses a magic FOURCC code to signal frame updates, but that + code is only defined when the XVMC code is used. + (cherry picked from commit 18ef4158e5574bfc6621b268821532f13e261d13) + +commit 2aada39e1a2517c07c9ae87722341b6150f75b7d +Author: Keith Packard <[EMAIL PROTECTED]> +Date: Sat Apr 12 16:39:00 2008 -0700 + + Skip copying on FOURCC_XVMC surfaces + (cherry picked from commit 6366e4de540c4713cbc8402c89516464bbdc35b9) + commit f5ad42f0ceef78f6fac490bcc40d56d0ce8c9e2e Author: Zhenyu Wang <[EMAIL PROTECTED]> Date: Mon May 12 09:01:21 2008 +0800 diff --git a/configure b/configure index 3774018..59233cd 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for xf86-video-intel 2.3.1. +# Generated by GNU Autoconf 2.61 for xf86-video-intel 2.3.2. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='xf86-video-intel' PACKAGE_TARNAME='xf86-video-intel' -PACKAGE_VERSION='2.3.1' -PACKAGE_STRING='xf86-video-intel 2.3.1' +PACKAGE_VERSION='2.3.2' +PACKAGE_STRING='xf86-video-intel 2.3.2' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' ac_unique_file="Makefile.am" @@ -1459,7 +1459,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xf86-video-intel 2.3.1 to adapt to many kinds of systems. +\`configure' configures xf86-video-intel 2.3.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1529,7 +1529,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-video-intel 2.3.1:";; + short | recursive ) echo "Configuration of xf86-video-intel 2.3.2:";; esac cat <<\_ACEOF @@ -1659,7 +1659,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-video-intel configure 2.3.1 +xf86-video-intel configure 2.3.2 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1673,7 +1673,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xf86-video-intel $as_me 2.3.1, which was +It was created by xf86-video-intel $as_me 2.3.2, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2368,7 +2368,7 @@ fi # Define the identity of the package. PACKAGE='xf86-video-intel' - VERSION='2.3.1' + VERSION='2.3.2' cat >>confdefs.h <<_ACEOF @@ -22409,12 +22409,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_DRI_CFLAGS="$DRI_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm xf86driproto\"") >&5 - ($PKG_CONFIG --exists --print-errors "libdrm xf86driproto") 2>&5 + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm xf86driproto glproto\"") >&5 + ($PKG_CONFIG --exists --print-errors "libdrm xf86driproto glproto") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_DRI_CFLAGS=`$PKG_CONFIG --cflags "libdrm xf86driproto" 2>/dev/null` + pkg_cv_DRI_CFLAGS=`$PKG_CONFIG --cflags "libdrm xf86driproto glproto" 2>/dev/null` else pkg_failed=yes fi @@ -22427,12 +22427,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_DRI_LIBS="$DRI_LIBS" else if test -n "$PKG_CONFIG" && \ - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm xf86driproto\"") >&5 - ($PKG_CONFIG --exists --print-errors "libdrm xf86driproto") 2>&5 + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm xf86driproto glproto\"") >&5 + ($PKG_CONFIG --exists --print-errors "libdrm xf86driproto glproto") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_DRI_LIBS=`$PKG_CONFIG --libs "libdrm xf86driproto" 2>/dev/null` + pkg_cv_DRI_LIBS=`$PKG_CONFIG --libs "libdrm xf86driproto glproto" 2>/dev/null` else pkg_failed=yes fi @@ -22451,14 +22451,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - DRI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libdrm xf86driproto"` + DRI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libdrm xf86driproto glproto"` else - DRI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libdrm xf86driproto"` + DRI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libdrm xf86driproto glproto"` fi # Put the nasty error message in config.log where it belongs echo "$DRI_PKG_ERRORS" >&5 - { { echo "$as_me:$LINENO: error: Package requirements (libdrm xf86driproto) were not met: + { { echo "$as_me:$LINENO: error: Package requirements (libdrm xf86driproto glproto) were not met: $DRI_PKG_ERRORS @@ -22469,7 +22469,7 @@ Alternatively, you may set the environment variables DRI_CFLAGS and DRI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 -echo "$as_me: error: Package requirements (libdrm xf86driproto) were not met: +echo "$as_me: error: Package requirements (libdrm xf86driproto glproto) were not met: $DRI_PKG_ERRORS @@ -23599,7 +23599,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xf86-video-intel $as_me 2.3.1, which was +This file was extended by xf86-video-intel $as_me 2.3.2, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23652,7 +23652,7 @@ Report bugs to <[EMAIL PROTECTED]>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -xf86-video-intel config.status 2.3.1 +xf86-video-intel config.status 2.3.2 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/debian/changelog b/debian/changelog index 0f37cf6..3a95b3a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +xserver-xorg-video-intel (2:2.3.2-1) UNRELEASED; urgency=low + + * New upstream release. + + Revert "Add FIFO watermark regs to register dumper", + closes: #482369, #471413. + + Fix TV programming: add vblank wait after TV_CTL writes, + closes: #485616. + + -- Brice Goglin <[EMAIL PROTECTED]> Wed, 18 Jun 2008 07:11:44 +0200 + xserver-xorg-video-intel (2:2.3.1-1) unstable; urgency=low * New upstream release. diff --git a/src/xvmc/Makefile.in b/src/xvmc/Makefile.in index f57b382..a51132c 100644 --- a/src/xvmc/Makefile.in +++ b/src/xvmc/Makefile.in @@ -62,12 +62,11 @@ libIntelXvMC_la_DEPENDENCIES = am__libIntelXvMC_la_SOURCES_DIST = intel_xvmc.c intel_xvmc.h \ i915_structs.h i915_program.h i915_xvmc.c i915_xvmc.h \ intel_batchbuffer.c intel_batchbuffer.h xf86dri.c xf86dri.h \ - xf86dristr.h driDrawable.c driDrawable.h + xf86dristr.h @[EMAIL PROTECTED] = libIntelXvMC_la-intel_xvmc.lo \ @XVMC_TRUE@ libIntelXvMC_la-i915_xvmc.lo \ @XVMC_TRUE@ libIntelXvMC_la-intel_batchbuffer.lo \ [EMAIL PROTECTED]@ libIntelXvMC_la-xf86dri.lo \ [EMAIL PROTECTED]@ libIntelXvMC_la-driDrawable.lo [EMAIL PROTECTED]@ libIntelXvMC_la-xf86dri.lo libIntelXvMC_la_OBJECTS = $(am_libIntelXvMC_la_OBJECTS) libIntelXvMC_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libIntelXvMC_la_CFLAGS) \ @@ -253,9 +252,7 @@ top_srcdir = @top_srcdir@ @XVMC_TRUE@ intel_batchbuffer.h \ @XVMC_TRUE@ xf86dri.c \ @XVMC_TRUE@ xf86dri.h \ [EMAIL PROTECTED]@ xf86dristr.h \ [EMAIL PROTECTED]@ driDrawable.c \ [EMAIL PROTECTED]@ driDrawable.h [EMAIL PROTECTED]@ xf86dristr.h @[EMAIL PROTECTED] = @XORG_CFLAGS@ @DRI_CFLAGS@ @XVMCLIB_CFLAGS@ -I$(top_srcdir)/src -DTRUE=1 -DFALSE=0 @[EMAIL PROTECTED] = -version-number 1:0:0 @@ -332,7 +329,6 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ [EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @@ -394,13 +390,6 @@ libIntelXvMC_la-xf86dri.lo: xf86dri.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libIntelXvMC_la_CFLAGS) $(CFLAGS) -c -o libIntelXvMC_la-xf86dri.lo `test -f 'xf86dri.c' || echo '$(srcdir)/'`xf86dri.c -libIntelXvMC_la-driDrawable.lo: driDrawable.c [EMAIL PROTECTED]@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libIntelXvMC_la_CFLAGS) $(CFLAGS) -MT libIntelXvMC_la-driDrawable.lo -MD -MP -MF $(DEPDIR)/libIntelXvMC_la-driDrawable.Tpo -c -o libIntelXvMC_la-driDrawable.lo `test -f 'driDrawable.c' || echo '$(srcdir)/'`driDrawable.c [EMAIL PROTECTED]@ mv -f $(DEPDIR)/libIntelXvMC_la-driDrawable.Tpo $(DEPDIR)/libIntelXvMC_la-driDrawable.Plo [EMAIL PROTECTED]@@am__fastdepCC_FALSE@ source='driDrawable.c' object='libIntelXvMC_la-driDrawable.lo' libtool=yes @AMDEPBACKSLASH@ [EMAIL PROTECTED]@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ [EMAIL PROTECTED]@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libIntelXvMC_la_CFLAGS) $(CFLAGS) -c -o libIntelXvMC_la-driDrawable.lo `test -f 'driDrawable.c' || echo '$(srcdir)/'`driDrawable.c - mostlyclean-libtool: -rm -f *.lo commit b80bf50f8ebfe70044e66c7e8558e3031ba3cfca Author: Zhenyu Wang <[EMAIL PROTECTED]> Date: Wed Jun 18 10:46:11 2008 +0800 Bump version 2.3.2 diff --git a/configure.ac b/configure.ac index 94562dd..af589de 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-intel], - 2.3.1, + 2.3.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-intel) commit 42a16bd38a0d09e3e6f33b2319b195aeacfa5084 Author: Zhenyu Wang <[EMAIL PROTECTED]> Date: Tue Jun 17 09:46:12 2008 +0800 Fix compiling with server master in LVDS backlight patch (cherry picked from commit 289790c0467d27e96b537598a6589fc6a36da8b8) diff --git a/src/i830_lvds.c b/src/i830_lvds.c index ecb41c9..4f62a2b 100644 --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -1145,6 +1145,8 @@ i830_lvds_set_property(xf86OutputPtr output, Atom property, static Bool i830_lvds_get_property(xf86OutputPtr output, Atom property) { + ScrnInfoPtr pScrn = output->scrn; + I830Ptr pI830 = I830PTR(pScrn); I830OutputPrivatePtr intel_output = output->driver_private; struct i830_lvds_priv *dev_priv = intel_output->dev_priv; int ret; commit 9036c94b28d4f1d65333bc318079f31bf56b3f99 Author: Lukas Hejtmanek <[EMAIL PROTECTED]> Date: Mon Jun 16 02:49:41 2008 +0800 Fix maximum backlight issue (cherry picked from commit 4c4ef27779aebf4df90b6233de05be2bb972de4c) diff --git a/src/i830_lvds.c b/src/i830_lvds.c index 899c6cb..ecb41c9 100644 --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -63,6 +63,9 @@ struct i830_lvds_priv { /* The panel needs dithering enabled */ Bool panel_wants_dither; + /* The panel is in DPMS off */ + Bool dpmsoff; + /* restore backlight to this value */ int backlight_duty_cycle; @@ -334,6 +337,7 @@ i830_lvds_get_backlight_kernel(xf86OutputPtr output) return 0; } + memset(val, 0, sizeof(val)); if (read(fd, val, BACKLIGHT_VALUE_LEN) == -1) goto out_err; @@ -388,6 +392,10 @@ i830SetLVDSPanelPower(xf86OutputPtr output, Bool on) uint32_t pp_status; if (on) { + /* if we're going from on->on, be aware to current level. */ + if ((INREG(PP_CONTROL) & POWER_TARGET_ON) && !dev_priv->dpmsoff) + dev_priv->backlight_duty_cycle = dev_priv->get_backlight(output); + /* * If we're going from off->on we may need to turn on the backlight. * We should use the saved value whenever possible, but on some @@ -405,12 +413,13 @@ i830SetLVDSPanelPower(xf86OutputPtr output, Bool on) } while ((pp_status & PP_ON) == 0); dev_priv->set_backlight(output, dev_priv->backlight_duty_cycle); + dev_priv->dpmsoff = FALSE; } else { /* * Only save the current backlight value if we're going from * on to off. */ - if (INREG(PP_CONTROL) & POWER_TARGET_ON) + if ((INREG(PP_CONTROL) & POWER_TARGET_ON) && !dev_priv->dpmsoff) dev_priv->backlight_duty_cycle = dev_priv->get_backlight(output); dev_priv->set_backlight(output, 0); @@ -418,6 +427,8 @@ i830SetLVDSPanelPower(xf86OutputPtr output, Bool on) do { pp_status = INREG(PP_STATUS); } while (pp_status & PP_ON); + + dev_priv->dpmsoff = TRUE; } } @@ -447,7 +458,8 @@ i830_lvds_save (xf86OutputPtr output) pI830->savePP_CONTROL = INREG(PP_CONTROL); pI830->savePP_CYCLE = INREG(PP_CYCLE); pI830->saveBLC_PWM_CTL = INREG(BLC_PWM_CTL); - dev_priv->backlight_duty_cycle = dev_priv->get_backlight(output); + if ((INREG(PP_CONTROL) & POWER_TARGET_ON) && !dev_priv->dpmsoff) + dev_priv->backlight_duty_cycle = dev_priv->get_backlight(output); } static void @@ -1081,7 +1093,10 @@ i830_lvds_set_property(xf86OutputPtr output, Atom property, "RRConfigureOutputProperty error, %d\n", ret); } /* Set the current value of the backlight property */ - data = dev_priv->get_backlight(output); + if ((INREG(PP_CONTROL) & POWER_TARGET_ON) && !dev_priv->dpmsoff) + data = dev_priv->get_backlight(output); + else + data = dev_priv->backlight_duty_cycle; ret = RRChangeOutputProperty(output->randr_output, backlight_atom, XA_INTEGER, 32, PropModeReplace, 1, &data, FALSE, TRUE); @@ -1140,8 +1155,11 @@ i830_lvds_get_property(xf86OutputPtr output, Atom property) */ if (property == backlight_atom) { int val; - val = dev_priv->get_backlight(output); - dev_priv->backlight_duty_cycle = val; + if ((INREG(PP_CONTROL) & POWER_TARGET_ON) && !dev_priv->dpmsoff) { + val = dev_priv->get_backlight(output); + dev_priv->backlight_duty_cycle = val; + } else + val = dev_priv->backlight_duty_cycle; ret = RRChangeOutputProperty(output->randr_output, backlight_atom, XA_INTEGER, 32, PropModeReplace, 1, &val, FALSE, TRUE); commit df0bbdc7cbb6ff357a81ed28d12e56c9c7d643f7 Author: Zhenyu Wang <[EMAIL PROTECTED]> Date: Thu Jun 12 14:04:41 2008 +0800 Fix compiler warning when disable xvmc config diff --git a/src/i830_memory.c b/src/i830_memory.c index 9ceb254..ccbe7bd 100644 --- a/src/i830_memory.c +++ b/src/i830_memory.c @@ -2020,6 +2020,7 @@ I830CheckAvailableMemory(ScrnInfoPtr pScrn) return maxPages * 4; } +#ifdef INTEL_XVMC /* * Allocate memory for MC compensation */ @@ -2041,3 +2042,4 @@ Bool i830_allocate_xvmc_buffer(ScrnInfoPtr pScrn, const char *name, return TRUE; } +#endif commit d3df74ebb0b61cda347e5e4754f2fc8a4c3110b0 Author: Eric Anholt <[EMAIL PROTECTED]> Date: Tue Jun 10 11:31:22 2008 -0700 Set up/restore PWRCTXA from enter/leavevt not server start/exit. This should improve behavior in the presence of VT switching, but also avoids a crash on X exit from writing the register after unmapping mmio. diff --git a/src/i830.h b/src/i830.h index a96fa5b..def693f 100644 --- a/src/i830.h +++ b/src/i830.h @@ -649,6 +649,7 @@ typedef struct _I830Rec { uint32_t saveRENCLK_GATE_D2; uint32_t saveDSPCLK_GATE_D; uint32_t saveRAMCLK_GATE_D; + uint32_t savePWRCTXA; enum last_3d *last_3d; diff --git a/src/i830_driver.c b/src/i830_driver.c index cff1fe8..563d167 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -2069,6 +2069,9 @@ SaveHWState(ScrnInfoPtr pScrn) pI830->saveRAMCLK_GATE_D = INREG(RAMCLK_GATE_D); } + if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) + pI830->savePWRCTXA = INREG(PWRCTXA); + if (IS_MOBILE(pI830) && !IS_I830(pI830)) pI830->saveLVDS = INREG(LVDS); pI830->savePFIT_CONTROL = INREG(PFIT_CONTROL); @@ -2134,6 +2137,9 @@ RestoreHWState(ScrnInfoPtr pScrn) OUTREG(RAMCLK_GATE_D, pI830->saveRAMCLK_GATE_D); } + if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) + OUTREG(PWRCTXA, pI830->savePWRCTXA); + /* * Pipe regs * To restore the saved state, we first need to program the PLL regs, @@ -2846,9 +2852,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) return FALSE; } - if (pI830->power_context) - OUTREG(PWRCTXA, pI830->power_context->offset | PWRCTX_EN); - I830UnmapMMIO(pScrn); i830_fixup_mtrrs(pScrn); @@ -3304,6 +3307,9 @@ I830EnterVT(int scrnIndex, int flags) i830_init_clock_gating(pScrn); + if (pI830->power_context) + OUTREG(PWRCTXA, pI830->power_context->offset | PWRCTX_EN); + /* Clear the framebuffer */ memset(pI830->FbBase + pScrn->fbOffset, 0, pScrn->virtualY * pScrn->displayWidth * pI830->cpp); @@ -3459,9 +3465,6 @@ I830CloseScreen(int scrnIndex, ScreenPtr pScreen) } #endif - if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) - OUTREG(PWRCTXA, 0); - if (I830IsPrimary(pScrn)) { xf86GARTCloseScreen(scrnIndex); commit 9d767d62fec724079178844915cd3feb9df93c7e Author: Bryce Harrington <[EMAIL PROTECTED]> Date: Tue Jun 10 14:10:39 2008 +0800 Two more Dell quirks fd.o #16160 (cherry picked from commit 231a302013981cc597ba09ee89b367c8ab56e8ba) diff --git a/src/i830_quirks.c b/src/i830_quirks.c index b1c1423..1bd8885 100644 --- a/src/i830_quirks.c +++ b/src/i830_quirks.c @@ -237,6 +237,8 @@ static i830_quirk i830_quirk_list[] = { { PCI_CHIP_I965_GM, 0x1028, 0x0256, quirk_ignore_tv }, /* Dell Inspiron 1318 */ { PCI_CHIP_I965_GM, 0x1028, 0x0286, quirk_ignore_tv }, + /* Dell Vostro A840 (LP: #235155) */ + { PCI_CHIP_I965_GM, 0x1028, 0x0298, quirk_ignore_tv }, /* Lenovo Napa TV (use dmi)*/ { PCI_CHIP_I945_GM, 0x17aa, SUBSYS_ANY, quirk_lenovo_tv_dmi }, @@ -272,6 +274,8 @@ static i830_quirk i830_quirk_list[] = { { PCI_CHIP_I855_GM, 0x1028, 0x0139, quirk_pipea_force }, /* Dell Latitude D500 needs pipe A force quirk */ { PCI_CHIP_I855_GM, 0x1028, 0x0152, quirk_pipea_force }, + /* Dell Latitude D505 needs pipe A force quirk (LP: #235643) */ + { PCI_CHIP_I855_GM, 0x1028, 0x0163, quirk_pipea_force }, /* Dell Latitude X300 needs pipe A force quirk */ { PCI_CHIP_I855_GM, 0x1028, 0x014f, quirk_pipea_force }, /* Dell Inspiron 510m needs pipe A force quirk */ commit 9a8d70fe3d1db2e2d34c79b7d0b271127a63e415 Author: Jesse Barnes <[EMAIL PROTECTED]> Date: Mon Jun 9 08:52:59 2008 -0700 Fix TV programming: add vblank wait after TV_CTL writes Fxies FDO bug #14000; we need to wait for vblank after writing TV_CTL or followi ng "DPMS on" calls may not actually enable the output. (cherry picked from commit 1142be53eb8d2ee8a9b60ace5d49f0ba27332275) diff --git a/src/i830_tv.c b/src/i830_tv.c index 2fc6199..cde929a 100644 --- a/src/i830_tv.c +++ b/src/i830_tv.c @@ -788,6 +788,7 @@ i830_tv_dpms(xf86OutputPtr output, int mode) OUTREG(TV_CTL, INREG(TV_CTL) & ~TV_ENC_ENABLE); break; } + i830WaitForVblank(pScrn); } static void @@ -920,6 +921,7 @@ i830_tv_restore(xf86OutputPtr output) OUTREG(TV_DAC, dev_priv->save_TV_DAC); OUTREG(TV_CTL, dev_priv->save_TV_CTL); + i830WaitForVblank(pScrn); } static const tv_mode_t * @@ -1237,6 +1239,7 @@ i830_tv_mode_set(xf86OutputPtr output, DisplayModePtr mode, OUTREG(TV_V_CHROMA_0 + (i<<2), tv_mode->filter_table[j++]); OUTREG(TV_DAC, 0); OUTREG(TV_CTL, tv_ctl); + i830WaitForVblank(pScrn); } static const DisplayModeRec reported_modes[] = { commit 7d9676c8cc309d42c49f82274f7dc43ab327bea3 Author: Robert Lowery <[EMAIL PROTECTED]> Date: Tue May 20 21:09:23 2008 +1000 Fix TV out connection type detection Make sure we wait for vblank when using the TV DAC to detect the connection type. Fixes FDO bug #14000. (cherry picked from commit 64a8f2433d7774d06119793b57cec6d3be6389c1) (cherry picked from commit e4e61e8c97c585993b4b69b86350b3987178a47e) diff --git a/src/i830_tv.c b/src/i830_tv.c index 6adb9f2..2fc6199 100644 --- a/src/i830_tv.c +++ b/src/i830_tv.c @@ -1303,6 +1303,7 @@ i830_tv_detect_type (xf86CrtcPtr crtc, tv_dac = INREG(TV_DAC); OUTREG(TV_DAC, save_tv_dac); OUTREG(TV_CTL, save_tv_ctl); + i830WaitForVblank(pScrn); } /* * A B C commit 4054725c3cf0956cc1717ad8acc558203a7af40d Author: Eric Anholt <[EMAIL PROTECTED]> Date: Thu Jun 5 14:55:23 2008 -0700 Move debug clock printout from ErrorF to X_INFO. (cherry picked from commit bff180e6cac4452ef491c81855eb12bfa03d0bf3) diff --git a/src/i830_display.c b/src/i830_display.c index 4910d96..df2f1a2 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -241,13 +241,15 @@ static void intel_clock(I830Ptr pI830, int refclk, intel_clock_t *clock) } static void -i830PrintPll(char *prefix, intel_clock_t *clock) +i830PrintPll(ScrnInfoPtr pScrn, char *prefix, intel_clock_t *clock) { - ErrorF("%s: dotclock %d vco %d ((m %d, m1 %d, m2 %d), n %d, (p %d, p1 %d, p2 %d))\n", - prefix, clock->dot, clock->vco, - clock->m, clock->m1, clock->m2, - clock->n, - clock->p, clock->p1, clock->p2); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "%s: dotclock %d vco %d ((m %d, m1 %d, m2 %d), n %d, " + "(p %d, p1 %d, p2 %d))\n", + prefix, clock->dot, clock->vco, + clock->m, clock->m1, clock->m2, + clock->n, + clock->p, clock->p1, clock->p2); } /** @@ -1262,7 +1264,7 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, "Adjusted mode for pipe %c:\n", pipe == 0 ? 'A' : 'B'); xf86PrintModeline(pScrn->scrnIndex, adjusted_mode); } - i830PrintPll("chosen", &clock); + i830PrintPll(pScrn, "chosen", &clock); } if (dpll & DPLL_VCO_ENABLE) @@ -1755,7 +1757,7 @@ i830_crtc_clock_get(ScrnInfoPtr pScrn, xf86CrtcPtr crtc) * configuration being accurate, which it isn't necessarily. */ if (0) - i830PrintPll("probed", &clock); + i830PrintPll(pScrn, "probed", &clock); return clock.dot; } commit e520316dd5f7bfdffadfa19b3046ba40ca367219 Author: Eric Anholt <[EMAIL PROTECTED]> Date: Thu Jun 5 14:37:59 2008 -0700 Remove SVG_WORK_CONTROL init. The bit set is now reserved -- used to be a workaround for early revisions. (cherry picked from commit ad459b21b7de4a79552ac155803d5930432fb84b) diff --git a/src/i830_driver.c b/src/i830_driver.c index 33c49e3..cff1fe8 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -3126,13 +3126,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) if (serverGeneration == 1) xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options); - if (IS_I965G(pI830)) { - /* Enable DAP stateless accesses. - * Required for all i965 steppings. - */ - OUTREG(SVG_WORK_CTL, 0x00000010); - } - pI830->starting = FALSE; pI830->closing = FALSE; pI830->suspended = FALSE; commit 34ce546153ce9dd0571ce0a5cec7a481641fbbdd Author: Eric Anholt <[EMAIL PROTECTED]> Date: Thu Jun 5 14:37:26 2008 -0700 Initialize clock gating from EnterVT and save/restore it appropriately. diff --git a/src/i830.h b/src/i830.h index ca7acc9..a96fa5b 100644 --- a/src/i830.h +++ b/src/i830.h @@ -645,6 +645,10 @@ typedef struct _I830Rec { uint32_t saveFBC_CONTROL2; uint32_t saveFBC_CONTROL; uint32_t saveFBC_FENCE_OFF; + uint32_t saveRENCLK_GATE_D1; + uint32_t saveRENCLK_GATE_D2; + uint32_t saveDSPCLK_GATE_D; + uint32_t saveRAMCLK_GATE_D; enum last_3d *last_3d; diff --git a/src/i830_driver.c b/src/i830_driver.c index 862ddde..33c49e3 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -1499,8 +1499,6 @@ I830PreInit(ScrnInfoPtr pScrn, int flags) i830TakeRegSnapshot(pScrn); - i830_init_clock_gating(pScrn); - if (DEVICE_ID(pI830->PciInfo) == PCI_CHIP_E7221_G) num_pipe = 1; else @@ -2063,6 +2061,14 @@ SaveHWState(ScrnInfoPtr pScrn) pI830->saveSWF[15] = INREG(SWF31); pI830->saveSWF[16] = INREG(SWF32); + pI830->saveDSPCLK_GATE_D = INREG(DSPCLK_GATE_D); + pI830->saveRENCLK_GATE_D1 = INREG(RENCLK_GATE_D1); + + if (IS_I965G(pI830)) { + pI830->saveRENCLK_GATE_D2 = INREG(RENCLK_GATE_D2); + pI830->saveRAMCLK_GATE_D = INREG(RAMCLK_GATE_D); + } + if (IS_MOBILE(pI830) && !IS_I830(pI830)) pI830->saveLVDS = INREG(LVDS); pI830->savePFIT_CONTROL = INREG(PFIT_CONTROL); @@ -2120,6 +2126,14 @@ RestoreHWState(ScrnInfoPtr pScrn) if (!IS_I830(pI830) && !IS_845G(pI830)) OUTREG(PFIT_CONTROL, pI830->savePFIT_CONTROL); -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]