STRUCT AXIDMA_BD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct axidma_bd β€” the Axi Dma buffer descriptor layout, aka the blueprint bestie, the literal map of where everything lives πŸ—ΊοΈβœ¨


🌸 SYNOPSIS 🌸

struct axidma_bd {
    u32 next;
    u32 next_msb;
    u32 phys;
    u32 phys_msb;
    u32 reserved3;
    u32 reserved4;
    u32 cntrl;
    u32 status;
    u32 app0;
    u32 app1;
    u32 app2;
    u32 app3;
    u32 app4;
    struct sk_buff *skb;
 };

That's the whole squad right there, no cap 🫢


✨ Members ✨

Okay so like, one field at a time, because every single one matters and we are not skipping anybody:

  • next β€” the MM2S/S2MM Next Descriptor Pointer πŸ‘‰ like, where we go next, the link in the chain.
  • next_msb β€” the MM2S/S2MM Next Descriptor Pointer, but the high 32 bits 🧚 the upper half of the same vibe.
  • phys β€” the MM2S/S2MM Buffer Address πŸ“ where the actual buffer lives in memory.
  • phys_msb β€” the MM2S/S2MM Buffer Address again, high 32 bits πŸ’… yep, the top half, iconic.
  • reserved3 β€” Reserved and not used πŸ™ˆ lowkey just sitting there. Ignore her.
  • reserved4 β€” Reserved and not used πŸ’€ same energy, also ignore. Periodt.
  • cntrl β€” the MM2S/S2MM Control value πŸŽ›οΈ the knobs, the buttons, the command energy.
  • status β€” the MM2S/S2MM Status value πŸ“Š how's it going, what's the tea.
  • app0 β€” MM2S/S2MM User Application Field 0. πŸ“ yours to play with.
  • app1 β€” MM2S/S2MM User Application Field 1. πŸ“ next one, also yours.
  • app2 β€” MM2S/S2MM User Application Field 2. πŸ“ keep going bestie.
  • app3 β€” MM2S/S2MM User Application Field 3. πŸ“ almost through the app fam.
  • app4 β€” MM2S/S2MM User Application Field 4. πŸ“ last one, slay.
  • skb β€” pointer to SKB transferred using DMA 🌈 the main character pointer, carrying the packet through the DMA journey.
Ngl, reserved3 and reserved4 are literally just Reserved and not used β€” do not try to make them happen, they're not going to happen πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

Go check these out, they're all in the same friend group 🫢

The kernel file ./drivers/net/ethernet/xilinx/xilinx_axienet.h, plus:


And that's the whole page, bestie πŸŽ€ this one comes from ./drivers/net/ethernet/xilinx, dated October 2026, straight out of the Kernel API Manual ✨ ily, go read your structs πŸ’œ

πŸ“¦ where this page comes from