| .. SPDX-License-Identifier: GPL-2.0+ | |
| ========================= | |
| drm/Panthor CSF driver | |
| ========================= | |
| .. _panthor-usage-stats: | |
| Panthor DRM client usage stats implementation | |
| ============================================== | |
| The drm/Panthor driver implements the DRM client usage stats specification as | |
| documented in :ref:`drm-client-usage-stats`. | |
| Example of the output showing the implemented key value pairs and entirety of | |
| the currently possible format options: | |
| :: | |
| pos: 0 | |
| flags: 02400002 | |
| mnt_id: 29 | |
| ino: 491 | |
| drm-driver: panthor | |
| drm-client-id: 10 | |
| drm-engine-panthor: 111110952750 ns | |
| drm-cycles-panthor: 94439687187 | |
| drm-maxfreq-panthor: 1000000000 Hz | |
| drm-curfreq-panthor: 1000000000 Hz | |
| panthor-resident-memory: 10396 KiB | |
| panthor-active-memory: 10396 KiB | |
| drm-total-memory: 16480 KiB | |
| drm-shared-memory: 0 | |
| drm-active-memory: 16200 KiB | |
| drm-resident-memory: 16480 KiB | |
| drm-purgeable-memory: 0 | |
| Possible `drm-engine-` key names are: `panthor`. | |
| `drm-curfreq-` values convey the current operating frequency for that engine. | |
| Users must bear in mind that engine and cycle sampling are disabled by default, | |
| because of power saving concerns. `fdinfo` users and benchmark applications which | |
| query the fdinfo file must make sure to toggle the job profiling status of the | |
| driver by writing into the appropriate sysfs node:: | |
| echo <N> > /sys/bus/platform/drivers/panthor/[a-f0-9]*.gpu/profiling | |
| Where `N` is a bit mask where cycle and timestamp sampling are respectively | |
| enabled by the first and second bits. | |
| Possible `panthor-*-memory` keys are: `active` and `resident`. | |
| These values convey the sizes of the internal driver-owned shmem BO's that | |
| aren't exposed to user-space through a DRM handle, like queue ring buffers, | |
| sync object arrays and heap chunks. Because they are all allocated and pinned | |
| at creation time, only `panthor-resident-memory` is necessary to tell us their | |
| size. `panthor-active-memory` shows the size of kernel BO's associated with | |
| VM's and groups currently being scheduled for execution by the GPU. |