]> git.baikalelectronics.ru Git - kernel.git/commit
drm/v3d: Expose performance counters to userspace
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Tue, 8 Jun 2021 11:15:41 +0000 (13:15 +0200)
committerMelissa Wen <melissa.srw@gmail.com>
Tue, 20 Jul 2021 23:19:59 +0000 (00:19 +0100)
commitcdd0ff9d3d28214083b00854f18e1c377a2ef082
treeafe6c1cade475491fd9a159a8c53b27b2de73ec2
parent02d8c629aa9919d3eb7c4096574311444f28fe84
drm/v3d: Expose performance counters to userspace

The V3D engine has several hardware performance counters that can of
interest for userspace performance analysis tools.

This exposes new ioctls to create and destroy performance monitor
objects, as well as to query the counter values.

Each created performance monitor object has an ID that can be attached
to CL/CSD submissions, so the driver enables the requested counters when
the job is submitted, and updates the performance monitor values when
the job is done.

It is up to the user to ensure all the jobs have been finished before
getting the performance monitor values. It is also up to the user to
properly synchronize BCL jobs when submitting jobs with different
performance monitors attached.

Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@linux.ie>
Cc: Emma Anholt <emma@anholt.net>
To: dri-devel@lists.freedesktop.org
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Acked-by: Melissa Wen <mwen@igalia.com>
Signed-off-by: Melissa Wen <melissa.srw@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210608111541.461991-1-jasuarez@igalia.com
drivers/gpu/drm/v3d/Makefile
drivers/gpu/drm/v3d/v3d_drv.c
drivers/gpu/drm/v3d/v3d_drv.h
drivers/gpu/drm/v3d/v3d_gem.c
drivers/gpu/drm/v3d/v3d_perfmon.c [new file with mode: 0644]
drivers/gpu/drm/v3d/v3d_regs.h
drivers/gpu/drm/v3d/v3d_sched.c
include/uapi/drm/v3d_drm.h