STRUCT HBM_DMA_SETUP_REQUEST(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct hbm_dma_setup_request(9) β€” Kernel API Manual, bestie edition ✨

Okay so we're in the Kernel API Manual today and the star of the show is struct hbm_dma_setup_request(9) β€” say that three times fast, I dare you 🫢


🌸 NAME 🌸

struct hbm_dma_setup_request β€” it's the dma setup request, periodt. That's the whole vibe, no notes πŸ’…


✨ SYNOPSIS ✨

Okay so this is literally the shape of it, copy it exactly, don't @ me:

struct hbm_dma_setup_request {
    u8 hbm_cmd;
    u8 reserved[3];
    struct hbm_dma_mem_dscr dma_dscr[DMA_DSCR_NUM];
 };

Look at that little beauty. Three fields. Immaculate. Iconic. Lowkey doing the most with the least πŸ‘‘


πŸŽ€ Members πŸŽ€

Not me listing every single one, because every single one matters, bestie:

  • hbm_cmd β€” the bus message command header. It's giving "hello, I am the command, please direct your attention here" energy πŸ’–
  • reserved β€” reserved for alignment. That's it. That's the job. It's a whole reserved[3] just sitting there keeping things lined up so the rest of the struct doesn't fall apart. Respect the padding, fr fr πŸ™ˆ
  • dma_dscr β€” the dma descriptor for HOST, DEVICE, and CTRL. All three of them, living in a DMA_DSCR_NUM-sized array like the main characters they are 🌈
No cap: reserved[3] is not optional flair, it's alignment. Don't go deleting it because it "looks empty" 😭

πŸ¦‹ SEE ALSO πŸ¦‹

Okay the friend group is large, bestie, and they all live in the kernel file ./drivers/misc/mei/hw.h. Here's the full squad, every last one, because we don't do "etc." around here:

  • enum mei_hbm_status(9)
  • enum mei_ext_hdr_type(9)
  • struct mei_ext_hdr(9)
  • struct mei_ext_meta_hdr(9)
  • struct mei_ext_hdr_vtag(9)
  • mei_ext_begin(9)
  • mei_ext_last(9)
  • struct mei_ext_hdr_gsc_h2f(9)
  • struct mei_ext_hdr_gsc_f2h(9)
  • mei_ext_next(9)
  • mei_ext_hdr_len(9)
  • struct mei_msg_hdr(9)
  • struct mei_hbm_cl_cmd(9)
  • enum hbm_host_enum_flags(9)
  • struct hbm_host_enum_request(9)
  • struct mei_client_properties(9)
  • struct hbm_add_client_request(9)
  • struct hbm_add_client_response(9)
  • struct hbm_power_gate(9)
  • struct hbm_client_connect_request(9)
  • struct hbm_client_connect_response(9)
  • struct hbm_notification_request(9)
  • struct hbm_notification_response(9)
  • struct hbm_notification(9)
  • struct hbm_dma_mem_dscr(9)
  • struct hbm_dma_setup_response(9)
  • struct hbm_dma_ring_ctrl(9)
  • struct hbm_capability_request(9)
  • struct hbm_capability_response(9)
  • struct hbm_client_dma_map_request(9)
  • struct hbm_client_dma_unmap_request(9)
  • struct hbm_client_dma_response(9)

That's the whole group chat, iykyk πŸ’€βœ¨


And that's the page! Sending you off with love from ./drivers/misc/mei, dated October 2026 β€” slay, bye bestie, go read that header file πŸ§šπŸ’œ

πŸ“¦ where this page comes from