summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_cache.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-09-04 21:02:55 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-09-20 14:22:56 +0200
commit755d22184f1e5015b040acee794542d9cf8a16c5 (patch)
tree44e1716bcd7fddd017749c418aeb79f88b8da0b2 /drivers/gpu/drm/drm_cache.c
parenta5570178c059cec59e9835be20bc8546377fa7b5 (diff)
downloadop-kernel-dev-755d22184f1e5015b040acee794542d9cf8a16c5.zip
op-kernel-dev-755d22184f1e5015b040acee794542d9cf8a16c5.tar.gz
drm/i915: Pin backing pages for pwrite
By using the recently introduced pinning of pages, we can safely drop the mutex in the knowledge that the pages are not going to disappear jeneath us, and so we can simplify the code for iterating over the pages. Note: The old code had such complicated page refcounting since it used obj->pages as a micro-optimization if it's there, but that could (before this patch) disappear when we drop the dev->struct_mutex. Hence some manual page refcounting was required for the slow path, complicated by the fact that pages returned by shmem_read_mapping_page already have a pageref, which needs to be dropped again. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> [danvet: Added note to explain the question Ben raised in review.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/drm_cache.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud