STRUCT DRM_IVPU_BO_CREATE_FROM_USERPTR(9)
π NAME π
okay so this is the Kernel API Manual page for struct drm_ivpu_bo_create_from_userptr β and what it does is literally create a dma-buf from a user pointer. that's the whole vibe. π«Ά
β¨ SYNOPSIS β¨
bestie, here's the struct in all its glory β copy it exactly, no improvising:
struct drm_ivpu_bo_create_from_userptr {
__u64 user_ptr;
__u64 size;
__u32 flags;
__u32 handle;
__u64 vpu_addr;
};
π Members π
user_ptrβ the user pointer to the memory region. β οΈ it must be page aligned, no exceptions, she's strict about this.sizeβ how big the memory region is, in bytes. also must be page aligned. yes, both of them. iykyk. πflagsβ the supported flags, and here's the lineup:DRM_IVPU_BO_HIGH_MEMβ allocate the VPU address from the >4GB range. big-address energy. π₯DRM_IVPU_BO_DMA_MEMβ allocate from the DMA memory range that's accessible by hardware DMA. πDRM_IVPU_BO_READ_ONLYβ allocate it as a read-only buffer object. no touchy. π
handleβ the returned GEM object handle. it comes back to you, bestie. πvpu_addrβ the returned VPU virtual address. also a gift. β
πΈ Description πΈ
so the whole point of this icon is that it creates a GEM buffer object from a user pointer to a memory region. that's it, that's the tea. π
π¦ SEE ALSO π¦
go read these next, they're all in the kernel file ./include/uapi/drm/ivpu_accel.h:
contexts(9)DRM_IVPU_CAP_METRIC_STREAMER(9)DRM_IVPU_CAP_DMA_MEMORY_RANGE(9)DRM_IVPU_CAP_MANAGE_CMDQ(9)DRM_IVPU_CAP_BO_CREATE_FROM_USERPTR(9)struct drm_ivpu_param(9)struct drm_ivpu_bo_create(9)struct drm_ivpu_bo_info(9)struct drm_ivpu_submit(9)struct drm_ivpu_cmdq_submit(9)struct drm_ivpu_bo_wait(9)struct drm_ivpu_metric_streamer_start(9)struct drm_ivpu_metric_streamer_get_data(9)struct drm_ivpu_cmdq_create(9)struct drm_ivpu_cmdq_destroy(9)struct drm_ivpu_metric_streamer_stop(9)
aaaand that's the page!! π§ source is ./include/uapi/drm, dated October 2026, and it's the manual entry for struct drm_i...from_userptr(9). periodt. ππ
π¦ 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