aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-11-03 09:27:53 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2010-11-03 09:31:57 +0000
commit085ce2643713830cf772c12c1a16da9d0ba83f36 (patch)
tree58205f231f2bba1ecc648e0cc330fce840dfca7e
parent27153f72d04bcd83b3a66e219418a21d6269553b (diff)
drm/i915: Ensure that if we ever try to pin+fence it is mappable.
When merging Daniel's full-gtt patches I had a set of tweaks which I thought I had undone. I was half right... Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31286 Reported-by: jinjin.wang@intel.com Reported-by: Alexey Fisher <bug-track@fisher-privat.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c1
-rw-r--r--drivers/gpu/drm/i915/intel_display.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 5bd86033a88..12dae003c01 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4151,6 +4151,7 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment,
int ret;
BUG_ON(obj_priv->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT);
+ BUG_ON(need_fence && !mappable);
WARN_ON(i915_verify_lists(dev));
if (obj_priv->gtt_space != NULL) {
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 33c178c8d6d..a33d9a2c742 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1462,7 +1462,8 @@ intel_pin_and_fence_fb_obj(struct drm_device *dev,
}
ret = i915_gem_object_pin(obj, alignment,
- !pipelined, obj_priv->tiling_mode);
+ !pipelined || obj_priv->tiling_mode,
+ obj_priv->tiling_mode);
if (ret)
return ret;