1.. SPDX-License-Identifier: GPL-2.0+
2
3=========================
4 drm/Panfrost Mali Driver
5=========================
6
7.. _panfrost-usage-stats:
8
9Panfrost DRM client usage stats implementation
10==============================================
11
12The drm/Panfrost driver implements the DRM client usage stats specification as
13documented in :ref:`drm-client-usage-stats`.
14
15Example of the output showing the implemented key value pairs and entirety of
16the currently possible format options:
17
18::
19      pos:    0
20      flags:  02400002
21      mnt_id: 27
22      ino:    531
23      drm-driver:     panfrost
24      drm-client-id:  14
25      drm-engine-fragment:    1846584880 ns
26      drm-cycles-fragment:    1424359409
27      drm-maxfreq-fragment:   799999987 Hz
28      drm-curfreq-fragment:   799999987 Hz
29      drm-engine-vertex-tiler:        71932239 ns
30      drm-cycles-vertex-tiler:        52617357
31      drm-maxfreq-vertex-tiler:       799999987 Hz
32      drm-curfreq-vertex-tiler:       799999987 Hz
33      drm-total-memory:       290 MiB
34      drm-shared-memory:      0 MiB
35      drm-active-memory:      226 MiB
36      drm-resident-memory:    36496 KiB
37      drm-purgeable-memory:   128 KiB
38
39Possible `drm-engine-` key names are: `fragment`, and  `vertex-tiler`.
40`drm-curfreq-` values convey the current operating frequency for that engine.
41
42Users must bear in mind that engine and cycle sampling are disabled by default,
43because of power saving concerns. `fdinfo` users and benchmark applications which
44query the fdinfo file must make sure to toggle the job profiling status of the
45driver by writing into the appropriate sysfs node::
46
47    echo <N> > /sys/bus/platform/drivers/panfrost/[a-f0-9]*.gpu/profiling
48
49Where `N` is either `0` or `1`, depending on the desired enablement status.
50