FLAGS FOR SUBMIT_JOB IOCTL COMPUTE COMMAND.(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… Flags for SUBMIT_JOB ioctl compute command

okay so this is a page straight out of the Kernel API Manual β€” yes, the actual kernel docs, we're literally in the source tree rn 🫢 β€” and it's all about the little flags you can OR into the compute command of the SUBMIT_JOB ioctl. Three macros, all iconic, all doing exactly one thing each. Let's get into it bestie ✨


🌸 DESCRIPTION

So the compute command's flag field can hold these bad boys. Each one is a c:macro in the docs, so here they are, one by one, no skipping πŸ’–

  • DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_PREVENT_ALL_OVERLAP β€” the vibe check flag 🚧 it says no other jobs allowed to overlap with this compute job. Straight up "do not perceive me, I'm busy." Disallows overlap with this compute, periodt.
  • DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_SINGLE_CORE β€” main character energy on exactly one core πŸ‘‘ on a multi-core device, this forces it to use a single core. Like when you need the whole room quiet so you can focus. One core. That's it.
  • DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_FLAGS_MASK β€” the collective πŸ’« this is the logical OR of all the compute cmd flags. The "everyone's invited" mask, iykyk.
ngl these all just get OR'd together into one flag word β€” that's the whole game. Nothing spooky, just bit flags doing bit flag things πŸ¦‹

✨ SEE ALSO

okay this part is LONG and honestly it ate, so buckle up. The kernel file itself is ./include/uapi/drm/pvr_drm.h β€” start there, and then there is so much PowerVR lore πŸŽ€

  • Kernel file ./include/uapi/drm/pvr_drm.h
  • PowerVR UAPI(9)
  • struct drm_pvr_obj_array(9)
  • DRM_PVR_OBJ_ARRAY(9)
  • PowerVR IOCTL interface(9)
  • PVR_IOCTL(9)
  • PowerVR IOCTL DEV_QUERY interface(9)
  • struct drm_pvr_dev_query_gpu_info(9)
  • struct drm_pvr_dev_query_runtime_info(9)
  • struct drm_pvr_dev_query_quirks(9)
  • struct drm_pvr_dev_query_enhancements(9)
  • enum drm_pvr_heap_id(9)
  • struct drm_pvr_heap(9)
  • struct drm_pvr_dev_query_heap_info(9)
  • enum drm_pvr_static_data_area_usage(9)
  • struct drm_pvr_static_data_area(9)
  • struct drm_pvr_dev_query_static_data_areas(9)
  • enum drm_pvr_dev_query(9)
  • struct drm_pvr_ioctl_dev_query_args(9)
  • PowerVR IOCTL CREATE_BO interface(9)
  • Flags for CREATE_BO(9)
  • struct drm_pvr_ioctl_create_bo_args(9)
  • PowerVR IOCTL GET_BO_MMAP_OFFSET interface(9)
  • struct drm_pvr_ioctl_get_bo_mmap_offset_args(9)
  • PowerVR IOCTL CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT interfaces(9)
  • struct drm_pvr_ioctl_create_vm_context_args(9)
  • struct drm_pvr_ioctl_destroy_vm_context_args(9)
  • PowerVR IOCTL VM_MAP and VM_UNMAP interfaces(9)
  • struct drm_pvr_ioctl_vm_map_args(9)
  • struct drm_pvr_ioctl_vm_unmap_args(9)
  • PowerVR IOCTL CREATE_CONTEXT and DESTROY_CONTEXT interfaces(9)
  • enum drm_pvr_ctx_priority(9)
  • enum drm_pvr_ctx_type(9)
  • struct drm_pvr_ioctl_create_context_args(9)
  • struct drm_pvr_ioctl_destroy_context_args(9)
  • PowerVR IOCTL CREATE_FREE_LIST and DESTROY_FREE_LIST interfaces(9)
  • struct drm_pvr_ioctl_create_free_list_args(9)
  • struct drm_pvr_ioctl_destroy_free_list_args(9)
  • PowerVR IOCTL CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET interfaces(9)
  • struct drm_pvr_create_hwrt_geom_data_args(9)
  • struct drm_pvr_create_hwrt_rt_data_args(9)
  • struct drm_pvr_ioctl_create_hwrt_dataset_args(9)
  • struct drm_pvr_ioctl_destroy_hwrt_dataset_args(9)
  • PowerVR IOCTL SUBMIT_JOBS interface(9)
  • Flags for the drm_pvr_sync_op object.(9)
  • struct drm_pvr_sync_op(9)
  • Flags for SUBMIT_JOB ioctl geometry command.(9)
  • Flags for SUBMIT_JOB ioctl fragment command.(9)
  • Flags for SUBMIT_JOB ioctl transfer command.(9)
  • enum drm_pvr_job_type(9)
  • struct drm_pvr_hwrt_data_ref(9)
  • struct drm_pvr_job(9)
  • struct drm_pvr_ioctl_submit_jobs_args(9)

seriously, that's the whole family tree β€” geometry, fragment, transfer, the sync op flags, all the dataset stuff, every dev query struct. Go read them, they're all right there 🌈


and that's the page!! mwah πŸ’‹ this one lives at ./include/uapi/drm and it's dated October 2026 β€” so yeah, bookmark it, screenshot it, send it to the group chat, whatever you gotta do. slay, and happy submitting πŸ§šβ€β™€οΈπŸ’œ

πŸ“¦ where this page comes from