struct panfrost_device *pfdev = dev->dev_private;
 
        panfrost_gpu_show_fdinfo(pfdev, file->driver_priv, p);
+
+       drm_show_memory_stats(p, file);
 }
 
 static const struct file_operations panfrost_drm_driver_fops = {
 
        return drm_gem_shmem_pin(&bo->base);
 }
 
+static enum drm_gem_object_status panfrost_gem_status(struct drm_gem_object *obj)
+{
+       struct panfrost_gem_object *bo = to_panfrost_bo(obj);
+       enum drm_gem_object_status res = 0;
+
+       if (bo->base.pages)
+               res |= DRM_GEM_OBJECT_RESIDENT;
+
+       if (bo->base.madv == PANFROST_MADV_DONTNEED)
+               res |= DRM_GEM_OBJECT_PURGEABLE;
+
+       return res;
+}
+
 static const struct drm_gem_object_funcs panfrost_gem_funcs = {
        .free = panfrost_gem_free_object,
        .open = panfrost_gem_open,
        .vmap = drm_gem_shmem_object_vmap,
        .vunmap = drm_gem_shmem_object_vunmap,
        .mmap = drm_gem_shmem_object_mmap,
+       .status = panfrost_gem_status,
        .vm_ops = &drm_gem_shmem_vm_ops,
 };