Skip to content

Commit

Permalink
drm/lima: add show_fdinfo for drm usage stats
Browse files Browse the repository at this point in the history
This exposes an accumulated active time per client via the fdinfo
infrastructure per execution engine, following
Documentation/gpu/drm-usage-stats.rst.
In lima, the exposed execution engines are gp and pp.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230312233052.21095-4-nunes.erico@gmail.com
  • Loading branch information
Erico Nunes authored and Qiang Yu committed Apr 2, 2023
1 parent 87767de commit 4a66f3d
Showing 1 changed file with 30 additions and 1 deletion.
31 changes: 30 additions & 1 deletion drivers/gpu/drm/lima/lima_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,36 @@ static const struct drm_ioctl_desc lima_drm_driver_ioctls[] = {
DRM_IOCTL_DEF_DRV(LIMA_CTX_FREE, lima_ioctl_ctx_free, DRM_RENDER_ALLOW),
};

DEFINE_DRM_GEM_FOPS(lima_drm_driver_fops);
static void lima_drm_driver_show_fdinfo(struct seq_file *m, struct file *filp)
{
struct drm_file *file = filp->private_data;
struct drm_device *dev = file->minor->dev;
struct lima_device *ldev = to_lima_dev(dev);
struct lima_drm_priv *priv = file->driver_priv;
struct lima_ctx_mgr *ctx_mgr = &priv->ctx_mgr;
u64 usage[lima_pipe_num];

lima_ctx_mgr_usage(ctx_mgr, usage);

/*
* For a description of the text output format used here, see
* Documentation/gpu/drm-usage-stats.rst.
*/
seq_printf(m, "drm-driver:\t%s\n", dev->driver->name);
seq_printf(m, "drm-client-id:\t%u\n", priv->id);
for (int i = 0; i < lima_pipe_num; i++) {
struct lima_sched_pipe *pipe = &ldev->pipe[i];
struct drm_gpu_scheduler *sched = &pipe->base;

seq_printf(m, "drm-engine-%s:\t%llu ns\n", sched->name, usage[i]);
}
}

static const struct file_operations lima_drm_driver_fops = {
.owner = THIS_MODULE,
DRM_GEM_FOPS,
.show_fdinfo = lima_drm_driver_show_fdinfo,
};

/*
* Changelog:
Expand Down

0 comments on commit 4a66f3d

Please sign in to comment.