STRUCT DRM_ASAHI_TIMESTAMP(9)
β¨ struct drm_asahi_timestamp(9) β¨
okay so this is a page from the Kernel API Manual and bestie, it's literally all about struct drm_asahi_timestamp β the little buddy that describes a timestamp write. let's get into it π
πΈ NAME πΈ
struct drm_asahi_timestamp β describes a timestamp write. that's it, that's the vibe π
β SYNOPSIS β
here's the whole struct, copied exactly, no notes:
struct drm_asahi_timestamp {
__u32 handle;
__u32 offset;
};
two __u32s. that's the entire icon. π
π«Ά Members π«Ά
π
handle
this is the handle of the timestamp buffer β or 0 if you wanna skip this timestamp entirely (valid, we love a skip). and if it's nonzero, it must equal the value that came back in drm_asahi_gem_bind_object::object_handle. no cap, they have to match. π¦
π
offset
the offset to write into the timestamp buffer. simple as that, bestie. β¨
π Description π
so here's the lore: the firmware can optionally write the GPU timestamp at render pass granularities, but for that to work it needs to be mapped specially via DRM_IOCTL_ASAHI_GEM_BIND_OBJECT. that's why this struct describes where to write as a handle-offset pair instead of a GPU address like normal. different system, same goals π«
also important, lowkey: this struct is embedded in other structs, and therefore it is not extensible. so don't come at it expecting room to grow. it is what it is. π
π§ SEE ALSO π§
go read these too, iykw2:
- Kernel file
./include/uapi/drm/asahi_drm.h - Introduction to the Asahi UAPI(9)
enum drm_asahi_ioctl_id(9)struct drm_asahi_params_global(9)enum drm_asahi_feature(9)struct drm_asahi_get_params(9)struct drm_asahi_vm_create(9)struct drm_asahi_vm_destroy(9)enum drm_asahi_gem_flags(9)struct drm_asahi_gem_create(9)struct drm_asahi_gem_mmap_offset(9)enum drm_asahi_bind_flags(9)struct drm_asahi_gem_bind_op(9)struct drm_asahi_vm_bind(9)enum drm_asahi_bind_object_op(9)enum drm_asahi_bind_object_flags(9)struct drm_asahi_gem_bind_object(9)enum drm_asahi_cmd_type(9)enum drm_asahi_priority(9)struct drm_asahi_queue_create(9)struct drm_asahi_queue_destroy(9)enum drm_asahi_sync_type(9)struct drm_asahi_sync(9)DRM_ASAHI_BARRIER_NONE(9)struct drm_asahi_cmd_header(9)struct drm_asahi_submit(9)struct drm_asahi_attachment(9)struct drm_asahi_zls_buffer(9)struct drm_asahi_timestamps(9)struct drm_asahi_helper_program(9)struct drm_asahi_bg_eot(9)struct drm_asahi_cmd_render(9)struct drm_asahi_cmd_compute(9)struct drm_asahi_get_time(9)DRM_IOCTL_ASAHI(9)
okay that's the whole page, you ate that π this cutie lives in ./include/uapi/drm, dated October 2026, and it's page struct drm_asahi_timestamp(9) of the Kernel API Manual β love that for us, mwah π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms