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

xserver-xorg-video-intel: Changes to 'ubuntu'



 debian/changelog                                          |   12 +
 debian/patches/113_remove_broken_max_base_addresses.patch |   46 +++++
 debian/patches/114_warnings_cleanup_part_2.patch          |  115 ++++++++++++++
 debian/patches/series                                     |    2 
 4 files changed, 172 insertions(+), 3 deletions(-)

New commits:
commit 56ab075f88ed70fca39233f760cdf2452df836dc
Author: Bryce Harrington <bryce@canonical.com>
Date:   Mon Feb 14 15:55:13 2011 -0800

    * 111_fix_clipped_window_plane_offset.patch,
    * 113_remove_broken_max_base_addresses.patch: Fixes GPU lockup during
      login with "Bad length (4) in MI_DISPLAY_BUFFER_INFO, [3, 3]" error
      messages listed in the gpu dump text.
      (LP: #710321)
    * 114_warnings_cleanup_part_2.patch: Additional warnings cleanup to the
      xvmc code, cherrypicked from upstream commit ae8877e3.

diff --git a/debian/changelog b/debian/changelog
index 17bfc69..45f47bc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,12 +1,18 @@
 xserver-xorg-video-intel (2:2.14.0-1ubuntu8) natty; urgency=low
 
-  * Add 111_fix_clipped_window_plane_offset.patch,
+  * 111_fix_clipped_window_plane_offset.patch,
     112_fix_error_in_4c4ad555.patch: Fixes issue where vertical green line
     and strange colors shows up when playing gstreamer with certain
     videos, when dragged.
     (LP: #460677)
-
- -- Bryce Harrington <bryce@ubuntu.com>  Mon, 14 Feb 2011 15:03:28 -0800
+  * 113_remove_broken_max_base_addresses.patch: Fixes GPU lockup during
+    login with "Bad length (4) in MI_DISPLAY_BUFFER_INFO, [3, 3]" error
+    messages listed in the gpu dump text.
+    (LP: #710321)
+  * 114_warnings_cleanup_part_2.patch: Additional warnings cleanup to the
+    xvmc code, cherrypicked from upstream commit ae8877e3.
+
+ -- Bryce Harrington <bryce@ubuntu.com>  Mon, 14 Feb 2011 15:45:48 -0800
 
 xserver-xorg-video-intel (2:2.14.0-1ubuntu7) natty; urgency=low
 
diff --git a/debian/patches/113_remove_broken_max_base_addresses.patch b/debian/patches/113_remove_broken_max_base_addresses.patch
new file mode 100644
index 0000000..72df601
--- /dev/null
+++ b/debian/patches/113_remove_broken_max_base_addresses.patch
@@ -0,0 +1,46 @@
+From 23f9b14df7c102c1036134835dd5d1a508059858 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sat, 12 Feb 2011 10:42:34 +0000
+Subject: i965: Remove broken maximum base addresses from video
+
+WRONG.
+
+The hardware was never limited to 0x1000000 and the kernel can quite
+rightly place objects above that limit. Specifying such had no relation
+to reality, so why did we do it? TWICE!
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34017
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/src/i965_video.c b/src/i965_video.c
+index a7374a2..e16a575 100644
+--- a/src/i965_video.c
++++ b/src/i965_video.c
+@@ -821,20 +821,20 @@ i965_emit_video_setup(ScrnInfoPtr scrn, drm_intel_bo * surface_state_binding_tab
+ 		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);	/* media base addr, don't care */
+ 		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);	/* Instruction base address */
+ 		/* general state max addr, disabled */
+-		OUT_BATCH(0x10000000 | BASE_ADDRESS_MODIFY);
++		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
+ 		/* media object state max addr, disabled */
+-		OUT_BATCH(0x10000000 | BASE_ADDRESS_MODIFY);
++		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
+ 		/* Instruction max addr, disabled */
+-		OUT_BATCH(0x10000000 | BASE_ADDRESS_MODIFY);
++		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
+ 	} else {
+ 		OUT_BATCH(BRW_STATE_BASE_ADDRESS | 4);
+ 		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);	/* Generate state base address */
+ 		OUT_RELOC(surface_state_binding_table_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY); /* Surface state base address */
+ 		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);	/* media base addr, don't care */
+ 		/* general state max addr, disabled */
+-		OUT_BATCH(0x10000000 | BASE_ADDRESS_MODIFY);
++		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
+ 		/* media object state max addr, disabled */
+-		OUT_BATCH(0x10000000 | BASE_ADDRESS_MODIFY);
++		OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
+ 	}
+ 
+ 	/* Set system instruction pointer */
+--
+cgit v0.8.3-6-g21f6
diff --git a/debian/patches/114_warnings_cleanup_part_2.patch b/debian/patches/114_warnings_cleanup_part_2.patch
new file mode 100644
index 0000000..5b60427
--- /dev/null
+++ b/debian/patches/114_warnings_cleanup_part_2.patch
@@ -0,0 +1,115 @@
+From ae8877e30707cae586565b4deee4c7fd9ac7d3ed Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Mon, 31 Jan 2011 05:22:35 +0000
+Subject: xvmc: Get rid of unused variables.
+
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/src/xvmc/i915_xvmc.c b/src/xvmc/i915_xvmc.c
+index 21a1149..fbd4555 100644
+--- a/src/xvmc/i915_xvmc.c
++++ b/src/xvmc/i915_xvmc.c
+@@ -391,7 +391,6 @@ static void i915_mc_static_indirect_state_set(XvMCContext * context,
+ 	i915XvMCContext *pI915XvMC = (i915XvMCContext *) context->privData;
+ 	struct intel_xvmc_surface *intel_surf = dest->privData;
+ 	struct i915_mc_static_indirect_state_buffer *buffer_info;
+-	unsigned int w = dest->width;
+ 
+ 	drm_intel_gem_bo_map_gtt(pI915XvMC->sis_bo);
+ 	buffer_info = pI915XvMC->sis_bo->virtual;
+@@ -688,7 +687,7 @@ static void i915_mc_load_indirect_render_emit(XvMCContext * context)
+ {
+ 	i915XvMCContext *pI915XvMC = (i915XvMCContext *) context->privData;
+ 	int mem_select;
+-	uint32_t load_indirect, buffer_address;
++	uint32_t load_indirect;
+ 	BATCH_LOCALS;
+ 
+ 	BEGIN_BATCH(5);
+diff --git a/src/xvmc/intel_batchbuffer.c b/src/xvmc/intel_batchbuffer.c
+index 337b2ce..2b5526c 100644
+--- a/src/xvmc/intel_batchbuffer.c
++++ b/src/xvmc/intel_batchbuffer.c
+@@ -64,8 +64,6 @@ static void i965_end_batch(void)
+ 
+ Bool intelInitBatchBuffer(void)
+ {
+-	int i;
+-
+ 	if ((xvmc_driver->batch.buf =
+ 	     drm_intel_bo_alloc(xvmc_driver->bufmgr,
+ 				"batch buffer", BATCH_SIZE, 0x1000)) == NULL) {
+diff --git a/src/xvmc/intel_xvmc.c b/src/xvmc/intel_xvmc.c
+index 6cbec80..339c133 100644
+--- a/src/xvmc/intel_xvmc.c
++++ b/src/xvmc/intel_xvmc.c
+@@ -105,8 +105,6 @@ unsigned int mb_bytes_420[] = {
+ 
+ void LOCK_HARDWARE(drm_context_t ctx)
+ {
+-	char __ret = 0;
+-
+ 	PPTHREAD_MUTEX_LOCK();
+ 	assert(!xvmc_driver->locked);
+ 
+@@ -218,11 +216,6 @@ _X_EXPORT Status XvMCCreateContext(Display * display, XvPortID port,
+ 	int error_base;
+ 	int event_base;
+ 	int priv_count;
+-	int isCapable;
+-	int screen = DefaultScreen(display);
+-	intel_xvmc_context_ptr intel_ctx;
+-	int fd;
+-	char *driverName = NULL, *deviceName = NULL;
+ 
+ 	/* Verify Obvious things first */
+ 	if (!display || !context)
+@@ -482,7 +475,6 @@ _X_EXPORT Status XvMCCreateBlocks(Display * display, XvMCContext * context,
+ 				  unsigned int num_blocks,
+ 				  XvMCBlockArray * block)
+ {
+-	Status ret;
+ 	if (!display || !context || !num_blocks || !block)
+ 		return BadValue;
+ 
+@@ -505,7 +497,6 @@ _X_EXPORT Status XvMCCreateBlocks(Display * display, XvMCContext * context,
+  */
+ _X_EXPORT Status XvMCDestroyBlocks(Display * display, XvMCBlockArray * block)
+ {
+-	Status ret;
+ 	if (!display || !block)
+ 		return BadValue;
+ 
+@@ -679,7 +670,6 @@ _X_EXPORT Status XvMCPutSurface(Display * display, XvMCSurface * surface,
+ _X_EXPORT Status XvMCSyncSurface(Display * display, XvMCSurface * surface)
+ {
+ 	Status ret;
+-	int stat = 0;
+ 
+ 	if (!display || !surface)
+ 		return XvMCBadSurface;
+@@ -739,9 +729,6 @@ _X_EXPORT Status XvMCGetSurfaceStatus(Display * display, XvMCSurface * surface,
+  */
+ _X_EXPORT Status XvMCHideSurface(Display * display, XvMCSurface * surface)
+ {
+-	int stat = 0;
+-	Status ret;
+-
+ 	if (!display || !surface)
+ 		return XvMCBadSurface;
+ 
+diff --git a/src/xvmc/xvmc_vld.c b/src/xvmc/xvmc_vld.c
+index addc7c9..d72e105 100644
+--- a/src/xvmc/xvmc_vld.c
++++ b/src/xvmc/xvmc_vld.c
+@@ -785,7 +785,6 @@ static Status begin_surface(Display * display, XvMCContext * context,
+ 			    XvMCSurface * future,
+ 			    const XvMCMpegControl * control)
+ {
+-	struct i965_xvmc_contex *i965_ctx;
+ 	struct intel_xvmc_surface *priv_target, *priv_past, *priv_future;
+ 	intel_xvmc_context_ptr intel_ctx = context->privData;
+ 	Status ret;
+--
+cgit v0.8.3-6-g21f6
diff --git a/debian/patches/series b/debian/patches/series
index 42e6827..6bc1536 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,5 @@
 110_warnings_cleanup.patch
 111_fix_clipped_window_plane_offset.patch
 112_fix_error_in_4c4ad555.patch
+113_remove_broken_max_base_addresses.patch
+114_warnings_cleanup_part_2.patch


Reply to: