[PATCH 5/9] drm/i915: embed struct drm_mm_node into struct drm_i915_gem_object
Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/i915_debugfs.c |6 +- drivers/gpu/drm/i915/i915_drv.h |2 +- drivers/gpu/drm/i915/i915_gem.c | 93 ++--- drivers/gpu/drm/i915/i915_gem_evict.c |6 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 10 ++-- 5 files changed, 52 insertions(+), 65 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 8caa55f..af133ac 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -124,9 +124,9 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) seq_printf(m, " (name: %d)", obj->base.name); if (obj->fence_reg != I915_FENCE_REG_NONE) seq_printf(m, " (fence: %d)", obj->fence_reg); - if (obj->gtt_space != NULL) + if (drm_mm_node_allocated(>gtt_space)) seq_printf(m, " (gtt offset: %08x, size: %08x)", - obj->gtt_offset, (unsigned int)obj->gtt_space->size); + obj->gtt_offset, (unsigned int)obj->gtt_space.size); if (obj->pin_mappable || obj->fault_mappable) seq_printf(m, " (mappable)"); if (obj->ring != NULL) @@ -180,7 +180,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data) describe_obj(m, obj); seq_printf(m, "\n"); total_obj_size += obj->base.size; - total_gtt_size += obj->gtt_space->size; + total_gtt_size += obj->gtt_space.size; count++; } mutex_unlock(>struct_mutex); diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 8a4b247..bdb05c2 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -712,7 +712,7 @@ struct drm_i915_gem_object { struct drm_gem_object base; /** Current space allocated to this object in the GTT, if any. */ - struct drm_mm_node *gtt_space; + struct drm_mm_node gtt_space; struct list_head gtt_list; /** This object's place on the active/flushing/inactive lists */ diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 868d3a1..f8612be 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -87,10 +87,10 @@ static void i915_gem_info_add_gtt(struct drm_i915_private *dev_priv, struct drm_i915_gem_object *obj) { dev_priv->mm.gtt_count++; - dev_priv->mm.gtt_memory += obj->gtt_space->size; + dev_priv->mm.gtt_memory += obj->gtt_space.size; if (obj->gtt_offset < dev_priv->mm.gtt_mappable_end) { dev_priv->mm.mappable_gtt_used += - min_t(size_t, obj->gtt_space->size, + min_t(size_t, obj->gtt_space.size, dev_priv->mm.gtt_mappable_end - obj->gtt_offset); } list_add_tail(>gtt_list, _priv->mm.gtt_list); @@ -100,10 +100,10 @@ static void i915_gem_info_remove_gtt(struct drm_i915_private *dev_priv, struct drm_i915_gem_object *obj) { dev_priv->mm.gtt_count--; - dev_priv->mm.gtt_memory -= obj->gtt_space->size; + dev_priv->mm.gtt_memory -= obj->gtt_space.size; if (obj->gtt_offset < dev_priv->mm.gtt_mappable_end) { dev_priv->mm.mappable_gtt_used -= - min_t(size_t, obj->gtt_space->size, + min_t(size_t, obj->gtt_space.size, dev_priv->mm.gtt_mappable_end - obj->gtt_offset); } list_del_init(>gtt_list); @@ -124,13 +124,13 @@ i915_gem_info_update_mappable(struct drm_i915_private *dev_priv, /* Combined state was already mappable. */ return; dev_priv->mm.gtt_mappable_count++; - dev_priv->mm.gtt_mappable_memory += obj->gtt_space->size; + dev_priv->mm.gtt_mappable_memory += obj->gtt_space.size; } else { if (obj->pin_mappable || obj->fault_mappable) /* Combined state still mappable. */ return; dev_priv->mm.gtt_mappable_count--; - dev_priv->mm.gtt_mappable_memory -= obj->gtt_space->size; + dev_priv->mm.gtt_mappable_memory -= obj->gtt_space.size; } } @@ -139,7 +139,7 @@ static void i915_gem_info_add_pin(struct drm_i915_private *dev_priv, bool mappable) { dev_priv->mm.pin_count++; - dev_priv->mm.pin_memory += obj->gtt_space->size; + dev_priv->mm.pin_memory += obj->gtt_space.size; if (mappable) { obj->pin_mappable = true; i915_gem_info_update_mappable(dev_priv, obj, true); @@ -150,7 +150,7 @@ static void i915_gem_info_remove_pin(struct
[PATCH 5/9] drm/i915: embed struct drm_mm_node into struct drm_i915_gem_object
Signed-off-by: Daniel Vetter daniel.vet...@ffwll.ch --- drivers/gpu/drm/i915/i915_debugfs.c |6 +- drivers/gpu/drm/i915/i915_drv.h |2 +- drivers/gpu/drm/i915/i915_gem.c | 93 ++--- drivers/gpu/drm/i915/i915_gem_evict.c |6 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 10 ++-- 5 files changed, 52 insertions(+), 65 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 8caa55f..af133ac 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -124,9 +124,9 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) seq_printf(m, (name: %d), obj-base.name); if (obj-fence_reg != I915_FENCE_REG_NONE) seq_printf(m, (fence: %d), obj-fence_reg); - if (obj-gtt_space != NULL) + if (drm_mm_node_allocated(obj-gtt_space)) seq_printf(m, (gtt offset: %08x, size: %08x), - obj-gtt_offset, (unsigned int)obj-gtt_space-size); + obj-gtt_offset, (unsigned int)obj-gtt_space.size); if (obj-pin_mappable || obj-fault_mappable) seq_printf(m, (mappable)); if (obj-ring != NULL) @@ -180,7 +180,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data) describe_obj(m, obj); seq_printf(m, \n); total_obj_size += obj-base.size; - total_gtt_size += obj-gtt_space-size; + total_gtt_size += obj-gtt_space.size; count++; } mutex_unlock(dev-struct_mutex); diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 8a4b247..bdb05c2 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -712,7 +712,7 @@ struct drm_i915_gem_object { struct drm_gem_object base; /** Current space allocated to this object in the GTT, if any. */ - struct drm_mm_node *gtt_space; + struct drm_mm_node gtt_space; struct list_head gtt_list; /** This object's place on the active/flushing/inactive lists */ diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 868d3a1..f8612be 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -87,10 +87,10 @@ static void i915_gem_info_add_gtt(struct drm_i915_private *dev_priv, struct drm_i915_gem_object *obj) { dev_priv-mm.gtt_count++; - dev_priv-mm.gtt_memory += obj-gtt_space-size; + dev_priv-mm.gtt_memory += obj-gtt_space.size; if (obj-gtt_offset dev_priv-mm.gtt_mappable_end) { dev_priv-mm.mappable_gtt_used += - min_t(size_t, obj-gtt_space-size, + min_t(size_t, obj-gtt_space.size, dev_priv-mm.gtt_mappable_end - obj-gtt_offset); } list_add_tail(obj-gtt_list, dev_priv-mm.gtt_list); @@ -100,10 +100,10 @@ static void i915_gem_info_remove_gtt(struct drm_i915_private *dev_priv, struct drm_i915_gem_object *obj) { dev_priv-mm.gtt_count--; - dev_priv-mm.gtt_memory -= obj-gtt_space-size; + dev_priv-mm.gtt_memory -= obj-gtt_space.size; if (obj-gtt_offset dev_priv-mm.gtt_mappable_end) { dev_priv-mm.mappable_gtt_used -= - min_t(size_t, obj-gtt_space-size, + min_t(size_t, obj-gtt_space.size, dev_priv-mm.gtt_mappable_end - obj-gtt_offset); } list_del_init(obj-gtt_list); @@ -124,13 +124,13 @@ i915_gem_info_update_mappable(struct drm_i915_private *dev_priv, /* Combined state was already mappable. */ return; dev_priv-mm.gtt_mappable_count++; - dev_priv-mm.gtt_mappable_memory += obj-gtt_space-size; + dev_priv-mm.gtt_mappable_memory += obj-gtt_space.size; } else { if (obj-pin_mappable || obj-fault_mappable) /* Combined state still mappable. */ return; dev_priv-mm.gtt_mappable_count--; - dev_priv-mm.gtt_mappable_memory -= obj-gtt_space-size; + dev_priv-mm.gtt_mappable_memory -= obj-gtt_space.size; } } @@ -139,7 +139,7 @@ static void i915_gem_info_add_pin(struct drm_i915_private *dev_priv, bool mappable) { dev_priv-mm.pin_count++; - dev_priv-mm.pin_memory += obj-gtt_space-size; + dev_priv-mm.pin_memory += obj-gtt_space.size; if (mappable) { obj-pin_mappable = true; i915_gem_info_update_mappable(dev_priv, obj, true); @@ -150,7 +150,7 @@ static void i915_gem_info_remove_pin(struct drm_i915_private *dev_priv,