STRUCT SDMA_STATE_REGISTERS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct sdma_state_registers β€” NAME ✨

okay so bestie, welcome to the Kernel API Manual πŸ’– this page is literally all about struct sdma_state_registers β€” the SDMA context for a channel πŸŽ€ that's it, that's the whole vibe. one struct, eleven members, all of them bitfields, she's compact and she knows it πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

like, here's her whole lewk, no cap, copied exactly:

struct sdma_state_registers {
    u32 pc     :14;
    u32 unused1: 1;
    u32 t      : 1;
    u32 rpc    :14;
    u32 unused0: 1;
    u32 sf     : 1;
    u32 spc    :14;
    u32 unused2: 1;
    u32 df     : 1;
    u32 epc    :14;
    u32 lm     : 2;
 };

lowkey obsessed with how every field is a bitfield with a precise width β€” 14, 1, 14, 1, 1, 14, 1, 1, 14, 2 β€” the girl is engineered ✨


🌸 Members 🌸

time for the member-by-member vibe check, every single one, no skips 🫢

  • pc β€” the program counter. main character energy fr fr πŸ‘‘
  • unused1 β€” unused. she's just there, taking up space, iconic honestly πŸ’€
  • t β€” the test bit: it's the status of the arithmetic & test instruction ⭐
  • rpc β€” the return program counter. like a little "brb" bookmark 😭
  • unused0 β€” unused. again. we love a placeholder πŸŽ€
  • sf β€” source fault while loading data. not the vibe, but important πŸ™ˆ
  • spc β€” the loop start program counter πŸ”
  • unused2 β€” unused (yes, a third one, she contains multitudes) 🌈
  • df β€” destination fault while storing data. the other fault, keep them straight bestie πŸ’…
  • epc β€” the loop end program counter 🏁
  • lm β€” the loop mode 🌸
ngl the numbering on those unused bits is unused1, unused0, unused2 β€” that's the order in the struct, and we do not reorder her. copy it exactly, char for char πŸ’–

πŸ”₯ SEE ALSO πŸ”₯

go look at these next, bestie, they're all in the family 🧚

  • Kernel file ./drivers/dma/imx-sdma.c
  • struct sdma_channel_control(9)
  • struct sdma_context_data(9)
  • struct sdma_desc(9)
  • struct sdma_channel(9)
  • struct sdma_firmware_header(9)

okay that's the whole page, you ate that πŸ’… mwah 🫢

sign-off szn: this lil number comes from the Kernel API Manual, lives in ./drivers/dma, and is dated October 2026 β€” and the page itself is struct sdma_state_registers(9). periodt. βœ¨πŸ‘‘
πŸ“¦ where this page comes from