diff mbox

[2/9] Revert "drm/i915: Kill obj->gtt_offset"

Message ID 1373060467-896-2-git-send-email-ben@bwidawsk.net (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Widawsky July 5, 2013, 9:41 p.m. UTC
This reverts commit a6b27b42fbb01a6b6523ff1ab6a6d440d0eba1ae.
---
 drivers/gpu/drm/i915/i915_drv.h        | 7 +++++++
 drivers/gpu/drm/i915/i915_gem.c        | 2 ++
 drivers/gpu/drm/i915/i915_gem_stolen.c | 1 +
 3 files changed, 10 insertions(+)
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index c80521c..bd676df 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1329,6 +1329,13 @@  struct drm_i915_gem_object {
 	unsigned long exec_handle;
 	struct drm_i915_gem_exec_object2 *exec_entry;
 
+	/**
+	 * Current offset of the object in GTT space.
+	 *
+	 * This is the same as gtt_space->start
+	 */
+	uint32_t gtt_offset;
+
 	struct intel_ring_buffer *ring;
 
 	/** Breadcrumb of last rendering to the buffer. */
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index e298f17..ef0b650 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2622,6 +2622,7 @@  i915_gem_object_unbind(struct drm_i915_gem_object *obj)
 
 	drm_mm_put_block(obj->gtt_space);
 	obj->gtt_space = NULL;
+	obj->gtt_offset = 0;
 
 	return 0;
 }
@@ -3151,6 +3152,7 @@  search_free:
 	list_add_tail(&obj->mm_list, &dev_priv->mm.inactive_list);
 
 	obj->gtt_space = node;
+	obj->gtt_offset = node->start;
 
 	fenceable =
 		node->size == fence_size &&
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index c6b70312..4bb2ccd 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -400,6 +400,7 @@  i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev,
 	} else
 		obj->gtt_space->start = I915_GTT_RESERVED;
 
+	obj->gtt_offset = gtt_offset;
 	obj->has_global_gtt_mapping = 1;
 
 	list_add_tail(&obj->global_list, &dev_priv->mm.bound_list);