summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-03-25 19:47:33 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-03-27 13:25:45 +0200
commit3ae5378330f581466b05bcea2dd3bc8731a598cb (patch)
treec94b5df2503a3172a6377f5d552a480bca115dcf /drivers/gpu/drm/i915/i915_gem.c
parenta0356fc373517bc19713c9ff3aeedccbcc2ef7a4 (diff)
downloadop-kernel-dev-3ae5378330f581466b05bcea2dd3bc8731a598cb.zip
op-kernel-dev-3ae5378330f581466b05bcea2dd3bc8731a598cb.tar.gz
drm/i915: don't use gtt_pwrite on LLC cached objects
~120 µs instead fo ~210 µs to write 1mb on my snb. I like this. Tested-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 34ef339..75e3b84 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -808,6 +808,7 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data,
}
if (obj->gtt_space &&
+ obj->cache_level == I915_CACHE_NONE &&
obj->base.write_domain != I915_GEM_DOMAIN_CPU) {
ret = i915_gem_object_pin(obj, 0, true);
if (ret)
OpenPOWER on IntegriCloud