ENUM DW_EDMA_CHIP_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum dw_edma_chip_flags(9)

okay bestie, welcome to the Kernel API Manual β€” this page is literally all about enum dw_edma_chip_flags, which is a little enum that holds flags specific to an eDMA chip. yes, that's the whole vibe. it's giving "small but important" ✨


πŸŽ€ NAME πŸŽ€

enum dw_edma_chip_flags β€” flags that are specific to an eDMA chip πŸ¦‹


✨ SYNOPSIS ✨

enum dw_edma_chip_flags {
    DW_EDMA_CHIP_LOCAL ,
    DW_EDMA_CHIP_PARTIAL

};

like, that's it. two constants, no cap. let's meet them 🫢


🌸 Constants 🌸

  • DW_EDMA_CHIP_LOCAL β€” okay so this one means the eDMA is used locally by an endpoint. that's the whole story, icon behavior only πŸ’…
  • DW_EDMA_CHIP_PARTIAL β€” this is the extra one, so listen up πŸ‘‘. it means only the channels described by this instance are owned by this driver. and because of that, controller-wide state must be preserved β€” don't go stomping on it, fr fr 😭. also: layouts with shared direction-wide registers must only be shared at direction granularity. but layouts with per-channel registers? those may be shared at channel granularity. get the granularity right or it's a whole situation πŸ’€

🌈 SEE ALSO 🌈

  • Kernel file ./include/linux/dma/edma.h
  • struct dw_edma_plat_ops(9)
  • enum dw_edma_ch_irq_mode(9)
  • struct dw_edma_chip(9)

go read those too, iykyk πŸ“šβœ¨


lowkey a reminder: the granularity rules on DW_EDMA_CHIP_PARTIAL are not a suggestion, bestie β€” shared registers at the wrong granularity is a bad time πŸ™ˆ

and that's the page!! slay πŸ’– this little gem lives in ./include/linux/dma and the version/date on the tin is October 2026 β€” mwah, bye bestie! πŸ“πŸ§šπŸ’œ

πŸ“¦ where this page comes from