diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 9302a6961d04..58e2f48b4fd7 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -443,6 +443,8 @@ static int i915_gem_object_info(struct seq_file *m, void* data)  	struct i915_ggtt *ggtt = &dev_priv->ggtt;  	u32 count, mappable_count, purgeable_count;  	u64 size, mappable_size, purgeable_size; +	unsigned long pin_mapped_count = 0, pin_mapped_purgeable_count = 0; +	u64 pin_mapped_size = 0, pin_mapped_purgeable_size = 0;  	struct drm_i915_gem_object *obj;  	struct drm_file *file;  	struct i915_vma *vma; @@ -476,6 +478,14 @@ static int i915_gem_object_info(struct seq_file *m, void* data)  		size += obj->base.size, ++count;  		if (obj->madv == I915_MADV_DONTNEED)  			purgeable_size += obj->base.size, ++purgeable_count; +		if (obj->mapping) { +			pin_mapped_count++; +			pin_mapped_size += obj->base.size; +			if (obj->pages_pin_count == 0) { +				pin_mapped_purgeable_count++; +				pin_mapped_purgeable_size += obj->base.size; +			} +		}  	}  	seq_printf(m, "%u unbound objects, %llu bytes\n", count, size); @@ -493,6 +503,14 @@ static int i915_gem_object_info(struct seq_file *m, void* data)  			purgeable_size += obj->base.size;  			++purgeable_count;  		} +		if (obj->mapping) { +			pin_mapped_count++; +			pin_mapped_size += obj->base.size; +			if (obj->pages_pin_count == 0) { +				pin_mapped_purgeable_count++; +				pin_mapped_purgeable_size += obj->base.size; +			} +		}  	}  	seq_printf(m, "%u purgeable objects, %llu bytes\n",  		   purgeable_count, purgeable_size); @@ -500,6 +518,10 @@ static int i915_gem_object_info(struct seq_file *m, void* data)  		   mappable_count, mappable_size);  	seq_printf(m, "%u fault mappable objects, %llu bytes\n",  		   count, size); +	seq_printf(m, +		   "%lu [%lu] pin mapped objects, %llu [%llu] bytes [purgeable]\n", +		   pin_mapped_count, pin_mapped_purgeable_count, +		   pin_mapped_size, pin_mapped_purgeable_size);  	seq_printf(m, "%llu [%llu] gtt total\n",  		   ggtt->base.total, ggtt->mappable_end - ggtt->base.start);  | 
