From b8b99eddc515ebabe78256f7be167c3634094d05 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 16 Dec 2012 12:43:36 +0000 Subject: [PATCH] --- yaml --- r: 357923 b: refs/heads/master c: eb119bd612906519cacef2536a9a524c2da5f7fb h: refs/heads/master i: 357921: c42cb40d49688025886cd0a26078c480a31b6707 357919: 1d779c8ae6ea01c09968344dc522d01fba089dc4 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c4c6f2adae03..85c2206f3267 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3f8c65d60467c6ccf4d690f5266567d6c423ae7d +refs/heads/master: eb119bd612906519cacef2536a9a524c2da5f7fb diff --git a/trunk/drivers/gpu/drm/i915/i915_gem.c b/trunk/drivers/gpu/drm/i915/i915_gem.c index 6380c6083cb2..d15c86279d02 100644 --- a/trunk/drivers/gpu/drm/i915/i915_gem.c +++ b/trunk/drivers/gpu/drm/i915/i915_gem.c @@ -1341,6 +1341,12 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) trace_i915_gem_object_fault(obj, page_offset, true, write); + /* Access to snoopable pages through the GTT is incoherent. */ + if (obj->cache_level != I915_CACHE_NONE && !HAS_LLC(dev)) { + ret = -EINVAL; + goto unlock; + } + /* Now bind it into the GTT if needed */ ret = i915_gem_object_pin(obj, 0, true, false); if (ret)