STRUCT GENWQE_DDCB_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ struct genwqe_ddcb_cmd β€” Kernel API Manual πŸ’…

okay bestie, so this is <pink>struct genwqe_ddcb_cmd</pink> β€” the struct that carries all your user parameters for generic DDCB commands. It's giving "the paperwork you hand to the kernel so it knows what you want," and honestly it ate. ✨


🌸 SYNOPSIS 🌸

struct genwqe_ddcb_cmd {
    __u64 next_addr;
    __u64 flags;
    __u8 acfunc;
    __u8 cmd;
    __u8 asiv_length;
    __u8 asv_length;
    __u16 cmdopts;
    __u16 retc;
    __u16 attn;
    __u16 vcrc;
    __u32 progress;
    __u64 deque_ts;
    __u64 cmplt_ts;
    __u64 disp_ts;
    __u64 ddata_addr;
    __u8 asv[DDCB_ASV_LENGTH];
    union {
      struct {
        __u64 ats;
        __u8 asiv[DDCB_ASIV_LENGTH_ATS];
      };
      __u8 __asiv[DDCB_ASIV_LENGTH];
    };
 };

like, look at her. so many little fields. a whole vibe check in struct form 🫢


πŸŽ€ Members πŸŽ€

  • {unnamed_union} β€” anonymous. no name, no problem, she simply exists πŸ’…
  • {unnamed_struct} β€” anonymous too. matching energy, we love that for them fr fr

πŸ’– Description πŸ’–

okay so here's the important part, bestie, don't skip this:

  • on the way into the kernel, the driver will read the whole data structure. every last field. she gets fully read πŸ“–βœ¨
  • on the way out, the driver will not copy the ASIV data back to user-space. so don't be out here expecting your ASIV to come home 😭
no cap, that asymmetry is real β€” in is full read, out skips the ASIV copy-back. plan accordingly πŸ™ˆ

🌈 SEE ALSO 🌈

  • Kernel file ./include/uapi/linux/genwqe/genwqe_card.h
  • struct genwqe_mem(9)

that's the whole page, diva. source vibes from ./include/uapi/linux/genwqe, dated October 2026 β€” mwah, stan a uapi header for clear skin πŸ§šπŸ’œπŸ“

πŸ“¦ where this page comes from