summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/ttm/ttm_page_alloc.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-11-16 07:32:32 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-11-16 07:32:32 -0800
commit7279d7cb529b083d26d59b0ef9e369e5fd1e2332 (patch)
treed3b5b3c362d769fc9ffe541c5c4df38bad1c61f7 /drivers/gpu/drm/ttm/ttm_page_alloc.c
parente057aad191ce1a1ebd452877fd9d540e6bd64c6e (diff)
parent6f755116c93ca35f496ccf1910dcd28cd16713e3 (diff)
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie: "All pretty normal: one TTM oops fix, one radeon, a few intel and a vmwgfx fix." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/ttm: remove unneeded preempt_disable/enable ttm: Clear the ttm page allocated from high memory zone correctly vmwgfx: return an -EFAULT if copy_to_user() fails drm/radeon: fix logic error in atombios_encoders.c drm/i915: do not ignore eDP bpc settings from vbt drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures drm/i915/crt: fix DPMS standby and suspend mode handling
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_page_alloc.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_page_alloc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c
index 860dc4813e99..bd2a3b40cd12 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c
@@ -749,7 +749,10 @@ static int ttm_get_pages(struct page **pages, unsigned npages, int flags,
/* clear the pages coming from the pool if requested */
if (flags & TTM_PAGE_FLAG_ZERO_ALLOC) {
list_for_each_entry(p, &plist, lru) {
- clear_page(page_address(p));
+ if (PageHighMem(p))
+ clear_highpage(p);
+ else
+ clear_page(page_address(p));
}
}