From: Rob Clark <robdcl...@chromium.org>

Use the new helper to export stats about memory usage.

v2: Drop unintended hunk
v3: Rebase

Signed-off-by: Rob Clark <robdcl...@chromium.org>
Reviewed-by: Emil Velikov <emil.l.veli...@gmail.com>
---
 drivers/gpu/drm/msm/msm_gem.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index db6c4e281d75..c32264234ea1 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -1096,6 +1096,20 @@ int msm_gem_new_handle(struct drm_device *dev, struct 
drm_file *file,
        return ret;
 }
 
+static enum drm_gem_object_status msm_gem_status(struct drm_gem_object *obj)
+{
+       struct msm_gem_object *msm_obj = to_msm_bo(obj);
+       enum drm_gem_object_status status = 0;
+
+       if (msm_obj->pages)
+               status |= DRM_GEM_OBJECT_RESIDENT;
+
+       if (msm_obj->madv == MSM_MADV_DONTNEED)
+               status |= DRM_GEM_OBJECT_PURGEABLE;
+
+       return status;
+}
+
 static const struct vm_operations_struct vm_ops = {
        .fault = msm_gem_fault,
        .open = drm_gem_vm_open,
@@ -1110,6 +1124,7 @@ static const struct drm_gem_object_funcs 
msm_gem_object_funcs = {
        .vmap = msm_gem_prime_vmap,
        .vunmap = msm_gem_prime_vunmap,
        .mmap = msm_gem_object_mmap,
+       .status = msm_gem_status,
        .vm_ops = &vm_ops,
 };
 
-- 
2.39.2

Reply via email to