| 1 | |
| 2 |
|
| 3 | =========================
|
| 4 | drm/Panthor CSF driver
|
| 5 | =========================
|
| 6 |
|
| 7 | |
| 8 |
|
| 9 | Panthor DRM client usage stats implementation
|
| 10 | ==============================================
|
| 11 |
|
| 12 | The drm/Panthor driver implements the DRM client usage stats specification as
|
| 13 | documented in :ref:`drm-client-usage-stats`.
|
| 14 |
|
| 15 | Example of the output showing the implemented key value pairs and entirety of
|
| 16 | the currently possible format options:
|
| 17 |
|
| 18 | ::
|
| 19 | pos: 0
|
| 20 | flags: 02400002
|
| 21 | mnt_id: 29
|
| 22 | ino: 491
|
| 23 | drm-driver: panthor
|
| 24 | drm-client-id: 10
|
| 25 | drm-engine-panthor: 111110952750 ns
|
| 26 | drm-cycles-panthor: 94439687187
|
| 27 | drm-maxfreq-panthor: 1000000000 Hz
|
| 28 | drm-curfreq-panthor: 1000000000 Hz
|
| 29 | panthor-resident-memory: 10396 KiB
|
| 30 | panthor-active-memory: 10396 KiB
|
| 31 | drm-total-memory: 16480 KiB
|
| 32 | drm-shared-memory: 0
|
| 33 | drm-active-memory: 16200 KiB
|
| 34 | drm-resident-memory: 16480 KiB
|
| 35 | drm-purgeable-memory: 0
|
| 36 |
|
| 37 | Possible `drm-engine-` key names are: `panthor`.
|
| 38 | `drm-curfreq-` values convey the current operating frequency for that engine.
|
| 39 |
|
| 40 | Users must bear in mind that engine and cycle sampling are disabled by default,
|
| 41 | because of power saving concerns. `fdinfo` users and benchmark applications which
|
| 42 | query the fdinfo file must make sure to toggle the job profiling status of the
|
| 43 | driver by writing into the appropriate sysfs node::
|
| 44 |
|
| 45 | echo <N> > /sys/bus/platform/drivers/panthor/[a-f0-9]*.gpu/profiling
|
| 46 |
|
| 47 | Where `N` is a bit mask where cycle and timestamp sampling are respectively
|
| 48 | enabled by the first and second bits.
|
| 49 |
|
| 50 | Possible `panthor-*-memory` keys are: `active` and `resident`.
|
| 51 | These values convey the sizes of the internal driver-owned shmem BO's that
|
| 52 | aren't exposed to user-space through a DRM handle, like queue ring buffers,
|
| 53 | sync object arrays and heap chunks. Because they are all allocated and pinned
|
| 54 | at creation time, only `panthor-resident-memory` is necessary to tell us their
|
| 55 | size. `panthor-active-memory` shows the size of kernel BO's associated with
|
| 56 | VM's and groups currently being scheduled for execution by the GPU.
|