diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 46d3a96dce86..124306bec6f8 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -902,6 +902,11 @@ void msm_gem_describe(struct drm_gem_object *obj, struct seq_file *m, stats->active.size += obj->size; } + if (msm_obj->pages) { + stats->resident.count++; + stats->resident.size += obj->size; + } + switch (msm_obj->madv) { case __MSM_MADV_PURGED: stats->purged.count++; @@ -991,6 +996,8 @@ void msm_gem_describe_objects(struct list_head *list, struct seq_file *m) stats.all.count, stats.all.size); seq_printf(m, "Active: %4d objects, %9zu bytes\n", stats.active.count, stats.active.size); + seq_printf(m, "Resident: %4d objects, %9zu bytes\n", + stats.resident.count, stats.resident.size); seq_printf(m, "Purgeable: %4d objects, %9zu bytes\n", stats.purgeable.count, stats.purgeable.size); seq_printf(m, "Purged: %4d objects, %9zu bytes\n", diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index 1ee06b34582d..4ac0062312d4 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -162,13 +162,13 @@ struct drm_gem_object *msm_gem_import(struct drm_device *dev, struct dma_buf *dmabuf, struct sg_table *sgt); __printf(2, 3) void msm_gem_object_set_name(struct drm_gem_object *bo, const char *fmt, ...); -#ifdef CONFIG_DEBUG_FS +#ifdef CONFIG_DEBUG_FS struct msm_gem_stats { struct { unsigned count; size_t size; - } all, active, purgeable, purged; + } all, active, resident, purgeable, purged; }; void msm_gem_describe(struct drm_gem_object *obj, struct seq_file *m,