[Intel-gfx] [PATCH 2/9] Revert "drm/i915: Kill obj->gtt_offset"
Ben Widawsky
ben at bwidawsk.net
Fri Jul 5 23:41:00 CEST 2013
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 --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);
--
1.8.3.2
More information about the Intel-gfx
mailing list