diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-09-12 09:20:24 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-09-19 08:43:11 -0400 |
commit | f77c44b902a032718e2431a5fc9211ef0b0282d3 (patch) | |
tree | d9b60bebfa8207823369ad202c783f086d3f89c2 /drivers/char/agp/intel-gtt.c | |
parent | c04d016124f2290762d9535690b817855dd80fc1 (diff) |
agp/intel-gtt: Remove get/put_pages
If a page isn't allocated as __GFP_MOVEABLE it won't move around, so
no need to grab a reference to lock it into place.
Discovered while reviewing page allocation handling in i915 gem.
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'drivers/char/agp/intel-gtt.c')
-rw-r--r-- | drivers/char/agp/intel-gtt.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c index 9a024f899dd4..f3334829e55a 100644 --- a/drivers/char/agp/intel-gtt.c +++ b/drivers/char/agp/intel-gtt.c | |||
@@ -153,7 +153,6 @@ static struct page *i8xx_alloc_pages(void) | |||
153 | __free_pages(page, 2); | 153 | __free_pages(page, 2); |
154 | return NULL; | 154 | return NULL; |
155 | } | 155 | } |
156 | get_page(page); | ||
157 | atomic_inc(&agp_bridge->current_memory_agp); | 156 | atomic_inc(&agp_bridge->current_memory_agp); |
158 | return page; | 157 | return page; |
159 | } | 158 | } |
@@ -164,7 +163,6 @@ static void i8xx_destroy_pages(struct page *page) | |||
164 | return; | 163 | return; |
165 | 164 | ||
166 | set_pages_wb(page, 4); | 165 | set_pages_wb(page, 4); |
167 | put_page(page); | ||
168 | __free_pages(page, 2); | 166 | __free_pages(page, 2); |
169 | atomic_dec(&agp_bridge->current_memory_agp); | 167 | atomic_dec(&agp_bridge->current_memory_agp); |
170 | } | 168 | } |
@@ -300,7 +298,6 @@ static int intel_gtt_setup_scratch_page(void) | |||
300 | page = alloc_page(GFP_KERNEL | GFP_DMA32 | __GFP_ZERO); | 298 | page = alloc_page(GFP_KERNEL | GFP_DMA32 | __GFP_ZERO); |
301 | if (page == NULL) | 299 | if (page == NULL) |
302 | return -ENOMEM; | 300 | return -ENOMEM; |
303 | get_page(page); | ||
304 | set_pages_uc(page, 1); | 301 | set_pages_uc(page, 1); |
305 | 302 | ||
306 | if (intel_private.needs_dmar) { | 303 | if (intel_private.needs_dmar) { |
@@ -560,7 +557,6 @@ static void intel_gtt_teardown_scratch_page(void) | |||
560 | set_pages_wb(intel_private.scratch_page, 1); | 557 | set_pages_wb(intel_private.scratch_page, 1); |
561 | pci_unmap_page(intel_private.pcidev, intel_private.scratch_page_dma, | 558 | pci_unmap_page(intel_private.pcidev, intel_private.scratch_page_dma, |
562 | PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); | 559 | PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); |
563 | put_page(intel_private.scratch_page); | ||
564 | __free_page(intel_private.scratch_page); | 560 | __free_page(intel_private.scratch_page); |
565 | } | 561 | } |
566 | 562 | ||