[arch-commits] Commit in linux/repos/core-x86_64 (3 files)
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)
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