[arch-commits] Commit in linux/repos/core-x86_64 (3 files)

2013-02-26 Thread Tobias Powalowski
Date: Tuesday, February 26, 2013 @ 12:10:05
  Author: tpowa
Revision: 178705

remove not needed patches#

Modified:
  linux/repos/core-x86_64/linux.install
Deleted:
  linux/repos/core-x86_64/drm-fix-track-free-areas-3.7.patch
  linux/repos/core-x86_64/fix-watchdog-3.7.patch

+
 drm-fix-track-free-areas-3.7.patch |  153 ---
 fix-watchdog-3.7.patch |   38 
 linux.install  |2 
 3 files changed, 1 insertion(+), 192 deletions(-)

Deleted: drm-fix-track-free-areas-3.7.patch
===
--- drm-fix-track-free-areas-3.7.patch  2013-02-26 11:09:27 UTC (rev 178704)
+++ drm-fix-track-free-areas-3.7.patch  2013-02-26 11:10:05 UTC (rev 178705)
@@ -1,153 +0,0 @@
-From 9ff0ab9881bd47f7d8a95c07a2fa61f594a91d0a Mon Sep 17 00:00:00 2001
-From: Chris Wilson ch...@chris-wilson.co.uk
-Date: Sun, 16 Dec 2012 16:15:00 +
-Subject: [PATCH] drm: Only evict the blocks required to create the requested
- hole
-
-Avoid clobbering adjacent blocks if they happen to expire earlier and
-amalgamate together to form the requested hole.
-
-In passing this fixes a regression from
-commit ea7b1dd44867e9cd6bac67e7c9fc3f128b5b255c
-Author: Daniel Vetter daniel.vet...@ffwll.ch
-Date:   Fri Feb 18 17:59:12 2011 +0100
-
-drm: mm: track free areas implicitly
-
-which swaps the end address for size (with a potential overflow) and
-effectively causes the eviction code to clobber almost all earlier
-buffers above the evictee.
-
-v2: Check the original hole not the adjusted as the coloring may confuse
-us when later searching for the overlapping nodes. Also make sure that
-we do apply the range restriction and color adjustment in the same
-order for both scanning, searching and insertion.
-
-Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk
-Cc: Daniel Vetter daniel.vet...@ffwll.ch

- drivers/gpu/drm/drm_mm.c |   45 +
- include/drm/drm_mm.h |2 +-
- 2 files changed, 18 insertions(+), 29 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
-index 0761a03..665553c 100644
 a/drivers/gpu/drm/drm_mm.c
-+++ b/drivers/gpu/drm/drm_mm.c
-@@ -213,11 +213,13 @@ static void drm_mm_insert_helper_range(struct 
drm_mm_node *hole_node,
- 
-   BUG_ON(!hole_node-hole_follows || node-allocated);
- 
--  if (mm-color_adjust)
--  mm-color_adjust(hole_node, color, adj_start, adj_end);
--
-   if (adj_start  start)
-   adj_start = start;
-+  if (adj_end  end)
-+  adj_end = end;
-+
-+  if (mm-color_adjust)
-+  mm-color_adjust(hole_node, color, adj_start, adj_end);
- 
-   if (alignment) {
-   unsigned tmp = adj_start % alignment;
-@@ -489,7 +491,7 @@ void drm_mm_init_scan(struct drm_mm *mm,
-   mm-scan_size = size;
-   mm-scanned_blocks = 0;
-   mm-scan_hit_start = 0;
--  mm-scan_hit_size = 0;
-+  mm-scan_hit_end = 0;
-   mm-scan_check_range = 0;
-   mm-prev_scanned_node = NULL;
- }
-@@ -516,7 +518,7 @@ void drm_mm_init_scan_with_range(struct drm_mm *mm,
-   mm-scan_size = size;
-   mm-scanned_blocks = 0;
-   mm-scan_hit_start = 0;
--  mm-scan_hit_size = 0;
-+  mm-scan_hit_end = 0;
-   mm-scan_start = start;
-   mm-scan_end = end;
-   mm-scan_check_range = 1;
-@@ -535,8 +537,7 @@ int drm_mm_scan_add_block(struct drm_mm_node *node)
-   struct drm_mm *mm = node-mm;
-   struct drm_mm_node *prev_node;
-   unsigned long hole_start, hole_end;
--  unsigned long adj_start;
--  unsigned long adj_end;
-+  unsigned long adj_start, adj_end;
- 
-   mm-scanned_blocks++;
- 
-@@ -553,14 +554,8 @@ int drm_mm_scan_add_block(struct drm_mm_node *node)
-   node-node_list.next = mm-prev_scanned_node-node_list;
-   mm-prev_scanned_node = node;
- 
--  hole_start = drm_mm_hole_node_start(prev_node);
--  hole_end = drm_mm_hole_node_end(prev_node);
--
--  adj_start = hole_start;
--  adj_end = hole_end;
--
--  if (mm-color_adjust)
--  mm-color_adjust(prev_node, mm-scan_color, adj_start, 
adj_end);
-+  adj_start = hole_start = drm_mm_hole_node_start(prev_node);
-+  adj_end = hole_end = drm_mm_hole_node_end(prev_node);
- 
-   if (mm-scan_check_range) {
-   if (adj_start  mm-scan_start)
-@@ -569,11 +564,14 @@ int drm_mm_scan_add_block(struct drm_mm_node *node)
-   adj_end = mm-scan_end;
-   }
- 
-+  if (mm-color_adjust)
-+  mm-color_adjust(prev_node, mm-scan_color,
-+   adj_start, adj_end);
-+
-   if (check_free_hole(adj_start, adj_end,
-   mm-scan_size, mm-scan_alignment)) {
-   mm-scan_hit_start = hole_start;
--  mm-scan_hit_size = hole_end;
--
-+  mm-scan_hit_end = hole_end;
-  

[arch-commits] Commit in linux/repos/core-x86_64 (3 files)

2012-01-13 Thread Tobias Powalowski
Date: Friday, January 13, 2012 @ 11:33:39
  Author: tpowa
Revision: 146565

bump to 3.1.9, added i915-gpu patch

Added:
  linux/repos/core-x86_64/i915-gpu-finish.patch
Modified:
  linux/repos/core-x86_64/PKGBUILD
  linux/repos/core-x86_64/linux.install

---+
 PKGBUILD  |   14 
 i915-gpu-finish.patch |   55 
 linux.install |3 --
 3 files changed, 66 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===
--- PKGBUILD2012-01-13 16:33:23 UTC (rev 146564)
+++ PKGBUILD2012-01-13 16:33:39 UTC (rev 146565)
@@ -7,7 +7,7 @@
 # pkgname=linux-custom   # Build kernel with a different name
 _kernelname=${pkgname#linux}
 _basekernel=3.1
-pkgver=${_basekernel}.8
+pkgver=${_basekernel}.9
 pkgrel=1
 arch=('i686' 'x86_64')
 url=http://www.kernel.org/;
@@ -22,15 +22,17 @@
 ${pkgname}.preset
 'change-default-console-loglevel.patch'
 'i915-fix-ghost-tv-output.patch'
-'i915-fix-incorrect-error-message.patch')
+'i915-fix-incorrect-error-message.patch'
+'i915-gpu-finish.patch')
 md5sums=('edbdc798f23ae0f8045c82f6fa22c536'
- '503acb7689ec96446f5774d6c86c1207'
+ '61494c09959f4185f703bfd68c7fb970'
  'f7b6cd7fb0a7ecc3840a59ce6e8cb9f3'
  '73d256a815013286fd02536d541e7b2f'
  'eb14dcfd80c00852ef81ded6e826826a'
  '9d3c56a4b999c8bfbd4018089a62f662'
  '263725f20c0b9eb9c353040792d644e5'
- 'a50c9076012cb2dda49952dc6ec3e9c1')
+ 'a50c9076012cb2dda49952dc6ec3e9c1'
+ '4cd79aa147825837dc8bc9f6b736c0a0')
 
 build() {
   cd ${srcdir}/linux-${_basekernel}
@@ -41,6 +43,10 @@
   # add latest fixes from stable queue, if needed
   # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
 
+  # fix FS#27883
+  # drm/i915: Only clear the GPU domains upon a successful finish
+  patch -Np1 -i ${srcdir}/i915-gpu-finish.patch
+
   # Some chips detect a ghost TV output
   # mailing list discussion: 
http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html
   # Arch Linux bug report: FS#19234

Added: i915-gpu-finish.patch
===
--- i915-gpu-finish.patch   (rev 0)
+++ i915-gpu-finish.patch   2012-01-13 16:33:39 UTC (rev 146565)
@@ -0,0 +1,55 @@
+commit 389a55581e30607af0fcde6cdb4e54f189cf46cf
+Author: Chris Wilson ch...@chris-wilson.co.uk
+Date:   Tue Nov 29 15:12:16 2011 +
+
+drm/i915: Only clear the GPU domains upon a successful finish
+
+By clearing the GPU read domains before waiting upon the buffer, we run
+the risk of the wait being interrupted and the domains prematurely
+cleared. The next time we attempt to wait upon the buffer (after
+userspace handles the signal), we believe that the buffer is idle and so
+skip the wait.
+
+There are a number of bugs across all generations which show signs of an
+overly haste reuse of active buffers.
+
+Such as:
+
+  https://bugs.freedesktop.org/show_bug.cgi?id=29046
+  https://bugs.freedesktop.org/show_bug.cgi?id=35863
+  https://bugs.freedesktop.org/show_bug.cgi?id=38952
+  https://bugs.freedesktop.org/show_bug.cgi?id=40282
+  https://bugs.freedesktop.org/show_bug.cgi?id=41098
+  https://bugs.freedesktop.org/show_bug.cgi?id=41102
+  https://bugs.freedesktop.org/show_bug.cgi?id=41284
+  https://bugs.freedesktop.org/show_bug.cgi?id=42141
+
+A couple of those pre-date i915_gem_object_finish_gpu(), so may be
+unrelated (such as a wild write from a userspace command buffer), but
+this does look like a convincing cause for most of those bugs.
+
+Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk
+Cc: sta...@kernel.org
+Reviewed-by: Daniel Vetter daniel.vet...@ffwll.ch
+Reviewed-by: Eugeni Dodonov eugeni.dodo...@intel.com
+
+diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
+index d560175..036bc58 100644
+--- a/drivers/gpu/drm/i915/i915_gem.c
 b/drivers/gpu/drm/i915/i915_gem.c
+@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object 
*obj)
+   return ret;
+   }
+ 
++  ret = i915_gem_object_wait_rendering(obj);
++  if (ret)
++  return ret;
++
+   /* Ensure that we invalidate the GPU's caches and TLBs. */
+   obj-base.read_domains = ~I915_GEM_GPU_DOMAINS;
+-
+-  return i915_gem_object_wait_rendering(obj);
++  return 0;
+ }
+ 
+ /**

Modified: linux.install
===
--- linux.install   2012-01-13 16:33:23 UTC (rev 146564)
+++ linux.install   2012-01-13 16:33:39 UTC (rev 146565)
@@ -2,7 +2,7 @@
 # arg 2:  the old package version
 
 KERNEL_NAME=
-KERNEL_VERSION=3.1.8-1-ARCH
+KERNEL_VERSION=3.1.9-1-ARCH