aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-05-25 06:24:42 -0400
committerDavid Herrmann <dh.herrmann@gmail.com>2014-06-17 16:30:50 -0400
commit4661270797f0c172da4b54415574421cd27f1bf3 (patch)
tree8863069c58958ae162396b669c314ee924a5f0e1
parentbc1dfff04a5d4064ba0db1fab13f84ab4f333d2b (diff)
drm/i915: use shmem helpers if possible
Instead of shuffling gfp-masks all the time, use the shmem_read_mapping_page() helper. Note that __GFP_IO and __GFP_WAIT are set in mapping_gfp_mask() for i915, so the behavior is still the same. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Jani Nikula <jani.nikula@linux.intel.com> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index f36126383d26..d86b77e905a2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2059,16 +2059,10 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)
2059 * our own buffer, now let the real VM do its job and 2059 * our own buffer, now let the real VM do its job and
2060 * go down in flames if truly OOM. 2060 * go down in flames if truly OOM.
2061 */ 2061 */
2062 gfp &= ~(__GFP_NORETRY | __GFP_NOWARN | __GFP_NO_KSWAPD);
2063 gfp |= __GFP_IO | __GFP_WAIT;
2064
2065 i915_gem_shrink_all(dev_priv); 2062 i915_gem_shrink_all(dev_priv);
2066 page = shmem_read_mapping_page_gfp(mapping, i, gfp); 2063 page = shmem_read_mapping_page(mapping, i);
2067 if (IS_ERR(page)) 2064 if (IS_ERR(page))
2068 goto err_pages; 2065 goto err_pages;
2069
2070 gfp |= __GFP_NORETRY | __GFP_NOWARN | __GFP_NO_KSWAPD;
2071 gfp &= ~(__GFP_IO | __GFP_WAIT);
2072 } 2066 }
2073#ifdef CONFIG_SWIOTLB 2067#ifdef CONFIG_SWIOTLB
2074 if (swiotlb_nr_tbl()) { 2068 if (swiotlb_nr_tbl()) {