ENUM DRM_ASAHI_IOCTL_ID(9)
π enum drm_asahi_ioctl_id(9)
okay bestie, welcome to the Kernel API Manual β¨ this one's a little enum called enum drm_asahi_ioctl_id, and honestly? it's giving "the master list of every ioctl the asahi driver fw knows about" π
πΈ NAME πΈ
enum drm_asahi_ioctl_id β IOCTL IDs π like, the whole cast list of ioctl numbers, no cap.
β¨ SYNOPSIS β¨
enum drm_asahi_ioctl_id {
DRM_ASAHI_GET_PARAMS ,
DRM_ASAHI_GET_TIME ,
DRM_ASAHI_VM_CREATE ,
DRM_ASAHI_VM_DESTROY ,
DRM_ASAHI_VM_BIND ,
DRM_ASAHI_GEM_CREATE ,
DRM_ASAHI_GEM_MMAP_OFFSET ,
DRM_ASAHI_GEM_BIND_OBJECT ,
DRM_ASAHI_QUEUE_CREATE ,
DRM_ASAHI_QUEUE_DESTROY ,
DRM_ASAHI_SUBMIT
};
π¦ Constants π¦
okay so here's the whole lineup, one by one, and yes we're going through all of them π
DRM_ASAHI_GET_PARAMSβ queries the device properties. it's giving "hi what can u do" π«DRM_ASAHI_GET_TIMEβ queries the device time. literally just clock-checking β°DRM_ASAHI_VM_CREATEβ creates a GPU VM address space. new address space, new me πDRM_ASAHI_VM_DESTROYβ destroys a VM. rip to that address space, she served π«ΆDRM_ASAHI_VM_BINDβ binds/unbinds memory to a VM. attaching and detaching, the classic situationship πDRM_ASAHI_GEM_CREATEβ creates a buffer object. tiny baby buffer, iconic πDRM_ASAHI_GEM_MMAP_OFFSETβ gets the offset you pass tommapto map a given GEM handle. yes bestie,mmapspecifically π§DRM_ASAHI_GEM_BIND_OBJECTβ binds memory as a special object. special object gets special treatment, periodt βDRM_ASAHI_QUEUE_CREATEβ creates a scheduling queue. get in line, literally πΈDRM_ASAHI_QUEUE_DESTROYβ destroys a scheduling queue. line's closed, bestie πDRM_ASAHI_SUBMITβ submits commands to a queue. sending it, fr fr π₯
π Description π
okay this is the important part so listen up β
Place new ioctls at the end, don't re-order, don't replace or remove entries. like, the order is sacred, do not touch it, do not be cute with it β new stuff goes at the end, always π
these IDs are not meant to be used directly. use the DRM_IOCTL_ASAHI_xxx definitions instead. iykyk π«Ά
π SEE ALSO π
the full bestie list, going to need a minute:
Kernel file ./include/uapi/drm/asahi_drm.h, Introduction to the Asahi UAPI(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_timestamp(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)
that's the whole page bestie, go read the actual structs now π this came out of ./include/uapi/drm and it's dated October 2026 β mwah, slay, bye π§β¨
π¦ 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