[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-intel: Changes to 'debian-lenny'



 debian/changelog                                                       |    8 
 debian/patches/02_965_no_exa_composite.diff                            |    6 
 debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff |  111 ++++++++++
 debian/patches/series                                                  |    1 
 4 files changed, 123 insertions(+), 3 deletions(-)

New commits:
commit 01255d2fbff394639b6e75e02c9fa0cd9f81bf57
Author: Julien Cristau <jcristau@debian.org>
Date:   Fri Aug 27 22:48:48 2010 +0200

    Upload to stable

diff --git a/debian/changelog b/debian/changelog
index 7e96416..a29d3a0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,10 @@
-xserver-xorg-video-intel (2:2.3.2-2+lenny8) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.3.2-2+lenny8) stable; urgency=low
 
   * Enable low power render writes on GEN3 hardware.  Backported from a kernel
-    fix by Dave Airlie.
+    fix by Dave Airlie.  This should fix a number of issues (hangs in
+    particular) on 915/945-class hw.
 
- -- Julien Cristau <jcristau@debian.org>  Thu, 05 Aug 2010 17:46:43 -0400
+ -- Julien Cristau <jcristau@debian.org>  Fri, 27 Aug 2010 22:47:56 +0200
 
 xserver-xorg-video-intel (2:2.3.2-2+lenny7) stable; urgency=low
 

commit 4807c19fe811e0aa455463dd983d248fcd015df2
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Aug 5 23:01:49 2010 -0400

    Refresh

diff --git a/debian/patches/02_965_no_exa_composite.diff b/debian/patches/02_965_no_exa_composite.diff
index 2a79c7a..860ff01 100644
--- a/debian/patches/02_965_no_exa_composite.diff
+++ b/debian/patches/02_965_no_exa_composite.diff
@@ -21,7 +21,7 @@ Index: xserver-xorg-video-intel/src/i830_driver.c
 ===================================================================
 --- xserver-xorg-video-intel.orig/src/i830_driver.c
 +++ xserver-xorg-video-intel/src/i830_driver.c
-@@ -317,6 +317,7 @@
+@@ -319,6 +319,7 @@
  #ifdef INTEL_XVMC
     OPTION_XVMC,
  #endif
@@ -29,7 +29,7 @@ Index: xserver-xorg-video-intel/src/i830_driver.c
  } I830Opts;
  
  static OptionInfoRec I830Options[] = {
-@@ -345,6 +346,7 @@
+@@ -347,6 +348,7 @@
  #ifdef INTEL_XVMC
     {OPTION_XVMC,	"XvMC",		OPTV_BOOLEAN,	{0},	TRUE},
  #endif
@@ -37,7 +37,7 @@ Index: xserver-xorg-video-intel/src/i830_driver.c
     {-1,			NULL,		OPTV_NONE,	{0},	FALSE}
  };
  /* *INDENT-ON* */
-@@ -1583,6 +1585,17 @@
+@@ -1594,6 +1596,17 @@
  		  pI830->useEXA ? "EXA" : "XAA");
     }
  
diff --git a/debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff b/debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff
index 81891e4..3af27b0 100644
--- a/debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff
+++ b/debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff
@@ -10,11 +10,11 @@ Ported from kernel commits 45503ded966c98e604c9667c0b458d40666b9ef3 and
  src/i830_driver.c |   12 ++++++++++
  2 files changed, 76 insertions(+), 0 deletions(-)
 
-diff --git a/src/i810_reg.h b/src/i810_reg.h
-index f71fe9b..e78a715 100644
---- a/src/i810_reg.h
-+++ b/src/i810_reg.h
-@@ -388,6 +388,70 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+Index: xserver-xorg-video-intel/src/i810_reg.h
+===================================================================
+--- xserver-xorg-video-intel.orig/src/i810_reg.h
++++ xserver-xorg-video-intel/src/i810_reg.h
+@@ -388,6 +388,70 @@
  #define MI_MODE		       0x209c
  #define MI_DISPLAY_POWER_DOWN  0x20e0
  #define MI_ARB_STATE           0x20e4
@@ -85,11 +85,11 @@ index f71fe9b..e78a715 100644
  #define MI_RDRET_STATE	       0x20fc
  
  /* Start addresses for each of the primary rings:
-diff --git a/src/i830_driver.c b/src/i830_driver.c
-index a9f4478..b6671ed 100644
---- a/src/i830_driver.c
-+++ b/src/i830_driver.c
-@@ -3051,6 +3051,19 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+Index: xserver-xorg-video-intel/src/i830_driver.c
+===================================================================
+--- xserver-xorg-video-intel.orig/src/i830_driver.c
++++ xserver-xorg-video-intel/src/i830_driver.c
+@@ -3064,6 +3064,19 @@
     if (!vgaHWMapMem(pScrn))
        return FALSE;
  
@@ -109,6 +109,3 @@ index a9f4478..b6671ed 100644
     i830_disable_render_standby(pScrn);
  
     DPRINTF(PFX, "assert( if(!I830EnterVT(scrnIndex, 0)) )\n");
--- 
-1.7.1
-

commit 0fd8e8fc8a890b67c911181c8a75ef5f8e160c5e
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Aug 5 23:00:02 2010 -0400

    Enable low power render modes on GEN3 hardware

diff --git a/debian/changelog b/debian/changelog
index 4f30420..7e96416 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.3.2-2+lenny8) UNRELEASED; urgency=low
+
+  * Enable low power render writes on GEN3 hardware.  Backported from a kernel
+    fix by Dave Airlie.
+
+ -- Julien Cristau <jcristau@debian.org>  Thu, 05 Aug 2010 17:46:43 -0400
+
 xserver-xorg-video-intel (2:2.3.2-2+lenny7) stable; urgency=low
 
   * Backport from upstream git support for SDVO LVDS outputs, as found on asus
diff --git a/debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff b/debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff
new file mode 100644
index 0000000..81891e4
--- /dev/null
+++ b/debian/patches/04_Enable-low-power-render-writes-on-GEN3-hardware.diff
@@ -0,0 +1,114 @@
+From b50d7d47dd52649b25df514fc0e4c0a004881ce1 Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+Date: Thu, 5 Aug 2010 17:43:19 -0400
+Subject: [PATCH] Enable low power render writes on GEN3 hardware
+
+Ported from kernel commits 45503ded966c98e604c9667c0b458d40666b9ef3 and
+944001201ca0196bcdb088129e5866a9f379d08c.
+---
+ src/i810_reg.h    |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/i830_driver.c |   12 ++++++++++
+ 2 files changed, 76 insertions(+), 0 deletions(-)
+
+diff --git a/src/i810_reg.h b/src/i810_reg.h
+index f71fe9b..e78a715 100644
+--- a/src/i810_reg.h
++++ b/src/i810_reg.h
+@@ -388,6 +388,70 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #define MI_MODE		       0x209c
+ #define MI_DISPLAY_POWER_DOWN  0x20e0
+ #define MI_ARB_STATE           0x20e4
++#define   MI_ARB_MASK_SHIFT       16    /* shift for enable bits */
++
++/* Make render/texture TLB fetches lower priorty than associated data
++ *   fetches. This is not turned on by default
++ */
++#define   MI_ARB_RENDER_TLB_LOW_PRIORITY        (1 << 15)
++
++/* Isoch request wait on GTT enable (Display A/B/C streams).
++ * Make isoch requests stall on the TLB update. May cause
++ * display underruns (test mode only)
++ */
++#define   MI_ARB_ISOCH_WAIT_GTT                 (1 << 14)
++
++/* Block grant count for isoch requests when block count is
++ * set to a finite value.
++ */
++#define   MI_ARB_BLOCK_GRANT_MASK               (3 << 12)
++#define   MI_ARB_BLOCK_GRANT_8                  (0 << 12)       /* for 3 display planes */
++#define   MI_ARB_BLOCK_GRANT_4                  (1 << 12)       /* for 2 display planes */
++#define   MI_ARB_BLOCK_GRANT_2                  (2 << 12)       /* for 1 display plane */
++#define   MI_ARB_BLOCK_GRANT_0                  (3 << 12)       /* don't use */
++
++/* Enable render writes to complete in C2/C3/C4 power states.
++ * If this isn't enabled, render writes are prevented in low
++ * power states. That seems bad to me.
++ */
++#define   MI_ARB_C3_LP_WRITE_ENABLE             (1 << 11)
++
++/* This acknowledges an async flip immediately instead
++ * of waiting for 2TLB fetches.
++ */
++#define   MI_ARB_ASYNC_FLIP_ACK_IMMEDIATE       (1 << 10)
++
++/* Enables non-sequential data reads through arbiter
++ */
++#define   MI_ARB_DUAL_DATA_PHASE_DISABLE        (1 << 9)
++
++/* Disable FSB snooping of cacheable write cycles from binner/render
++ * command stream
++ */
++#define   MI_ARB_CACHE_SNOOP_DISABLE            (1 << 8)
++
++/* Arbiter time slice for non-isoch streams */
++#define   MI_ARB_TIME_SLICE_MASK                (7 << 5)
++#define   MI_ARB_TIME_SLICE_1                   (0 << 5)
++#define   MI_ARB_TIME_SLICE_2                   (1 << 5)
++#define   MI_ARB_TIME_SLICE_4                   (2 << 5)
++#define   MI_ARB_TIME_SLICE_6                   (3 << 5)
++#define   MI_ARB_TIME_SLICE_8                   (4 << 5)
++#define   MI_ARB_TIME_SLICE_10                  (5 << 5)
++#define   MI_ARB_TIME_SLICE_14                  (6 << 5)
++#define   MI_ARB_TIME_SLICE_16                  (7 << 5)
++
++/* Low priority grace period page size */
++#define   MI_ARB_LOW_PRIORITY_GRACE_4KB         (0 << 4)        /* default */
++#define   MI_ARB_LOW_PRIORITY_GRACE_8KB         (1 << 4)
++
++/* Disable display A/B trickle feed */
++#define   MI_ARB_DISPLAY_TRICKLE_FEED_DISABLE   (1 << 2)
++
++/* Set display plane priority */
++#define   MI_ARB_DISPLAY_PRIORITY_A_B           (0 << 0)        /* display A > display B */
++#define   MI_ARB_DISPLAY_PRIORITY_B_A           (1 << 0)        /* display B > display A */
++
+ #define MI_RDRET_STATE	       0x20fc
+ 
+ /* Start addresses for each of the primary rings:
+diff --git a/src/i830_driver.c b/src/i830_driver.c
+index a9f4478..b6671ed 100644
+--- a/src/i830_driver.c
++++ b/src/i830_driver.c
+@@ -3051,6 +3051,19 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+    if (!vgaHWMapMem(pScrn))
+       return FALSE;
+ 
++   if (IS_I915G(pI830) ||
++       IS_I915GM(pI830) ||
++       IS_I945G(pI830) ||
++       IS_I945GM(pI830) ||
++       IS_G33CLASS(pI830)) {
++       CARD32 tmp = INREG(MI_ARB_STATE);
++       if (!(tmp & MI_ARB_C3_LP_WRITE_ENABLE)) {
++           /* arb state is a masked write, so set bit + bit in mask */
++           tmp = MI_ARB_C3_LP_WRITE_ENABLE | (MI_ARB_C3_LP_WRITE_ENABLE << MI_ARB_MASK_SHIFT);
++           OUTREG(MI_ARB_STATE, tmp);
++       }
++   }
++
+    i830_disable_render_standby(pScrn);
+ 
+    DPRINTF(PFX, "assert( if(!I830EnterVT(scrnIndex, 0)) )\n");
+-- 
+1.7.1
+
diff --git a/debian/patches/series b/debian/patches/series
index 8362dbe..45f2503 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01_gen_pci_ids.diff
 02_965_no_exa_composite.diff
 03_sdvo_lvds.diff
+04_Enable-low-power-render-writes-on-GEN3-hardware.diff


Reply to: