]> 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)
commit0c037c1e06a7d9e0a79bf31dbeb1776778e2a025
treeafe6c1cade475491fd9a159a8c53b27b2de73ec2
parent164b1e203e97d855479dfd60c7a5653bb56f2d3f
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