mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
drm/v3d: Expose memory stats through fdinfo
Use the common DRM function `drm_show_memory_stats()` to expose standard fdinfo memory stats. V3D exposes global GPU memory stats through debugfs. Those stats will be preserved while the DRM subsystem doesn't have a standard solution to expose global GPU stats. Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240711142736.783816-1-mcanal@igalia.com
This commit is contained in:
parent
c48abf099d
commit
0b91c6daca
@ -26,6 +26,17 @@
|
||||
#include "v3d_drv.h"
|
||||
#include "uapi/drm/v3d_drm.h"
|
||||
|
||||
static enum drm_gem_object_status v3d_gem_status(struct drm_gem_object *obj)
|
||||
{
|
||||
struct v3d_bo *bo = to_v3d_bo(obj);
|
||||
enum drm_gem_object_status res = 0;
|
||||
|
||||
if (bo->base.pages)
|
||||
res |= DRM_GEM_OBJECT_RESIDENT;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/* Called DRM core on the last userspace/kernel unreference of the
|
||||
* BO.
|
||||
*/
|
||||
@ -63,6 +74,7 @@ static const struct drm_gem_object_funcs v3d_gem_funcs = {
|
||||
.vmap = drm_gem_shmem_object_vmap,
|
||||
.vunmap = drm_gem_shmem_object_vunmap,
|
||||
.mmap = drm_gem_shmem_object_mmap,
|
||||
.status = v3d_gem_status,
|
||||
.vm_ops = &drm_gem_shmem_vm_ops,
|
||||
};
|
||||
|
||||
|
@ -184,6 +184,8 @@ static void v3d_show_fdinfo(struct drm_printer *p, struct drm_file *file)
|
||||
drm_printf(p, "v3d-jobs-%s: \t%llu jobs\n",
|
||||
v3d_queue_to_string(queue), jobs_completed);
|
||||
}
|
||||
|
||||
drm_show_memory_stats(p, file);
|
||||
}
|
||||
|
||||
static const struct file_operations v3d_drm_fops = {
|
||||
|
Loading…
Reference in New Issue
Block a user