From 5208cb357d2d61028ef4805739ae0e8ca2d8b7b9 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 1 Mar 2013 02:04:47 -0200 Subject: linux-libre-3.8.1-1: updating version * Enable SPI driver => https://bugs.archlinux.org/task/32529 * Remove not needed patches * Update version 3.8.1 for i686 and x86_64 * Update version 3.8.0 for mips64el --- .../linux-libre/drm-fix-track-free-areas-3.7.patch | 153 --------------------- 1 file changed, 153 deletions(-) delete mode 100644 libre/linux-libre/drm-fix-track-free-areas-3.7.patch (limited to 'libre/linux-libre/drm-fix-track-free-areas-3.7.patch') diff --git a/libre/linux-libre/drm-fix-track-free-areas-3.7.patch b/libre/linux-libre/drm-fix-track-free-areas-3.7.patch deleted file mode 100644 index 6d00c6d3e..000000000 --- a/libre/linux-libre/drm-fix-track-free-areas-3.7.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 9ff0ab9881bd47f7d8a95c07a2fa61f594a91d0a Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Sun, 16 Dec 2012 16:15:00 +0000 -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 -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 -Cc: Daniel Vetter ---- - 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; - return 1; - } - -@@ -609,19 +607,10 @@ int drm_mm_scan_remove_block(struct drm_mm_node *node) - node_list); - - prev_node->hole_follows = node->scanned_preceeds_hole; -- INIT_LIST_HEAD(&node->node_list); - list_add(&node->node_list, &prev_node->node_list); - -- /* Only need to check for containement because start&size for the -- * complete resulting free block (not just the desired part) is -- * stored. */ -- if (node->start >= mm->scan_hit_start && -- node->start + node->size -- <= mm->scan_hit_start + mm->scan_hit_size) { -- return 1; -- } -- -- return 0; -+ return (drm_mm_hole_node_end(node) > mm->scan_hit_start && -+ node->start < mm->scan_hit_end); - } - EXPORT_SYMBOL(drm_mm_scan_remove_block); - -diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h -index 06d7f79..a1b66b7 100644 ---- a/include/drm/drm_mm.h -+++ b/include/drm/drm_mm.h -@@ -70,7 +70,7 @@ struct drm_mm { - unsigned long scan_color; - unsigned long scan_size; - unsigned long scan_hit_start; -- unsigned scan_hit_size; -+ unsigned long scan_hit_end; - unsigned scanned_blocks; - unsigned long scan_start; - unsigned long scan_end; --- -1.7.10.4 - -- cgit v1.2.3