STRUCT QAIC_SEM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct qaic_sem β€” defines a semaphore command for a BO slice. That's the whole assignment, bestie. This is the struct qaic_sem(9) page from the Kernel API Manual, and it's lowkey iconic.

✨ SYNOPSIS ✨

okay so here's the struct shape, no cap:

struct qaic_sem {
    __u16 val;
    __u8 index;
    __u8 presync;
    __u8 cmd;
    __u8 flags;
    __u16 pad;
};

🌸 Members 🌸

  • val β€” In. Only the lower 12 bits are valid, periodt.
  • index β€” In. Only the lower 5 bits are valid.
  • presync β€” In. 1 if presync operation, 0 if postsync.
  • cmd β€” In. One of QAIC_SEM_*.
  • flags β€” In. Bitfield. See QAIC_SEM_INSYNCFENCE and QAIC_SEM_OUTSYNCFENCE.
  • pad β€” Structure padding. Must be 0. No vibes allowed in the padding, fr fr.

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./include/uapi/drm/qaic_accel.h
  • struct qaic_manage_trans_hdr(9)
  • struct qaic_manage_trans_passthrough(9)
  • struct qaic_manage_trans_dma_xfer(9)
  • struct qaic_manage_trans_activate_to_dev(9)
  • struct qaic_manage_trans_activate_from_dev(9)
  • struct qaic_manage_trans_deactivate(9)
  • struct qaic_manage_trans_status_to_dev(9)
  • struct qaic_manage_trans_status_from_dev(9)
  • struct qaic_manage_msg(9)
  • struct qaic_create_bo(9)
  • struct qaic_mmap_bo(9)
  • struct qaic_attach_slice_entry(9)
  • struct qaic_attach_slice_hdr(9)
  • struct qaic_attach_slice(9)
  • struct qaic_execute_entry(9)
  • struct qaic_partial_execute_entry(9)
  • struct qaic_execute_hdr(9)
  • struct qaic_execute(9)
  • struct qaic_wait(9)
  • struct qaic_perf_stats_hdr(9)
  • struct qaic_perf_stats(9)
  • struct qaic_perf_stats_entry(9)
  • struct qaic_detach_slice(9)

mwah πŸ’‹ this cutie lives in ./include/uapi/drm, dated October 2026, and it's struct qaic_sem(9) β€” bye bestie, go slay those BO slices 🫢✨

πŸ“¦ where this page comes from