Expose lima gp and pp usage stats through fdinfo, following Documentation/gpu/drm-usage-stats.rst. Borrowed from these previous implementations: "df622729ddbf drm/scheduler: track GPU active time per entity" added usage time accounting to drm scheduler, which is where the data used here comes from. Then the main implementation is based on these etnaviv commits: "d306788b6e1b drm/etnaviv: allocate unique ID per drm_file" and "97804a133c68 drm/etnaviv: export client GPU usage statistics via fdinfo" Also "874442541133 drm/amdgpu: Add show_fdinfo() interface" since lima has a context manager very similar to amdgpu and all contexts created (and released) at the ctx_mgr level need to be accounted for. Tested with the generic "gputop" tool currently available as patches to igt, a sample run with this patchset looks like this: DRM minor 128 PID NAME gp pp 4322 glmark2-es2-way |█████▊ ||██████████████████ | 3561 weston |▎ ||███▌ | 4159 Xwayland |▏ ||▉ | 4154 glxgears |▏ ||▎ | 3661 firefox |▏ ||▏ | Erico Nunes (3): drm/lima: add usage counting method to ctx_mgr drm/lima: allocate unique id per drm_file drm/lima: add show_fdinfo for drm usage stats drivers/gpu/drm/lima/lima_ctx.c | 30 ++++++++++++++++++++- drivers/gpu/drm/lima/lima_ctx.h | 3 +++ drivers/gpu/drm/lima/lima_device.h | 3 +++ drivers/gpu/drm/lima/lima_drv.c | 43 +++++++++++++++++++++++++++++- drivers/gpu/drm/lima/lima_drv.h | 1 + 5 files changed, 78 insertions(+), 2 deletions(-) -- 2.39.2