|
@@ -377,13 +377,17 @@ static void print_batch_pool_stats(struct seq_file *m,
|
|
|
{
|
|
|
struct drm_i915_gem_object *obj;
|
|
|
struct file_stats stats;
|
|
|
+ struct intel_engine_cs *ring;
|
|
|
+ int i;
|
|
|
|
|
|
memset(&stats, 0, sizeof(stats));
|
|
|
|
|
|
- list_for_each_entry(obj,
|
|
|
- &dev_priv->mm.batch_pool.cache_list,
|
|
|
- batch_pool_list)
|
|
|
- per_file_stats(0, obj, &stats);
|
|
|
+ for_each_ring(ring, dev_priv, i) {
|
|
|
+ list_for_each_entry(obj,
|
|
|
+ &ring->batch_pool.cache_list,
|
|
|
+ batch_pool_list)
|
|
|
+ per_file_stats(0, obj, &stats);
|
|
|
+ }
|
|
|
|
|
|
print_file_stats(m, "batch pool", stats);
|
|
|
}
|
|
@@ -613,21 +617,24 @@ static int i915_gem_batch_pool_info(struct seq_file *m, void *data)
|
|
|
struct drm_device *dev = node->minor->dev;
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct drm_i915_gem_object *obj;
|
|
|
+ struct intel_engine_cs *ring;
|
|
|
int count = 0;
|
|
|
- int ret;
|
|
|
+ int ret, i;
|
|
|
|
|
|
ret = mutex_lock_interruptible(&dev->struct_mutex);
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
- seq_puts(m, "cache:\n");
|
|
|
- list_for_each_entry(obj,
|
|
|
- &dev_priv->mm.batch_pool.cache_list,
|
|
|
- batch_pool_list) {
|
|
|
- seq_puts(m, " ");
|
|
|
- describe_obj(m, obj);
|
|
|
- seq_putc(m, '\n');
|
|
|
- count++;
|
|
|
+ for_each_ring(ring, dev_priv, i) {
|
|
|
+ seq_printf(m, "%s cache:\n", ring->name);
|
|
|
+ list_for_each_entry(obj,
|
|
|
+ &ring->batch_pool.cache_list,
|
|
|
+ batch_pool_list) {
|
|
|
+ seq_puts(m, " ");
|
|
|
+ describe_obj(m, obj);
|
|
|
+ seq_putc(m, '\n');
|
|
|
+ count++;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
seq_printf(m, "total: %d\n", count);
|