STRUCT QAIC_ATTACH_SLICE_ENTRY(9)
π struct qaic_attach_slice_entry β Kernel API Manual π
okay so bestie, welcome to the group chat for struct qaic_attach_slice_entry(9) β this is the Kernel API Manual page for it, and we're gonna get you fluent, no cap. It's a struct that defines a single BO slice. That's the whole vibe. One slice. One entry. Iconic behavior honestly.
β¨ NAME β¨
struct qaic_attach_slice_entry β literally just defines a single BO slice. That's it. That's the job. π
π¦ SYNOPSIS π¦
struct qaic_attach_slice_entry {
__u64 size;
struct qaic_sem sem0;
struct qaic_sem sem1;
struct qaic_sem sem2;
struct qaic_sem sem3;
__u64 dev_addr;
__u64 db_addr;
__u32 db_data;
__u32 db_len;
__u64 offset;
};
look at her. ten fields. flawless layout. the way the four sems are just sitting there in a row like a little squad ππ
πΈ Members πΈ
so every single one of these is marked In. β meaning input, you're feeding it in, it's not gonna hand anything back to you. let's go through them one by one, bestie:
sizeβ In. Size of this slice, in bytes. π keep it in bytes, not vibes.sem0β In. Semaphore command 0. the original wording here is literally "Must be 0 is not valid." β yeah, that's exactly how it's written on the page, so I'm handing it to you verbatim, iykyk ππ«Άsem1β In. Semaphore command 1. same deal, original says "Must be 0 is not valid." βsem2β In. Semaphore command 2. and again β "Must be 0 is not valid." πsem3β In. Semaphore command 3. one more time for the people in the back β "Must be 0 is not valid." πdev_addrβ In. The device address this slice pushes to or pulls from. main character energy, honestly β it does both directions. π₯db_addrβ In. Address of the doorbell to ring. π yes, ring it. ding dong.db_dataβ In. The data to write to that doorbell. πdb_lenβ In. Size of the doorbell data, in bits β and it's32,16, or8. If you pass0, that's for inactive doorbells (so like, no bell to ring, no problem). πoffsetβ In. Start of this slice, expressed as an offset from the start of the BO. π― so it's a relative little guy.
ngl thesem0βsem3descriptions are worded exactly like that on the page β I'm not paraphrasing them into something else, because changing a technical caveat would be a crime and I refuse π«Ά
π SEE ALSO π
Kernel file ./include/uapi/drm/qaic_accel.h β that's struct, bestie. Here's the full squad, all (9), all linked:
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_sem(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)
like, go read them. it's giving "required reading" and honestly you'll thank me later π π
and that's the page!! π sourced from ./include/uapi/drm, dated October 2026, and the whole thing is filed under struct qaic_..._slice_entry(9) in case you need to find her again. mwah, go slay your slices bestie πβ¨π¦
π¦ 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