STRUCT STM32_TIMERS_DMA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct stm32_timers_dma β€” NAME πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this page is literally all about struct stm32_timers_dma, which is the STM32 timer DMA handling situation. that's it, that's the vibe πŸŽ€


🌸 SYNOPSIS 🌸

no cap, here's the whole struct, verbatim, don't @ me:

struct stm32_timers_dma {
    struct completion completion;
    phys_addr_t phys_base;
    struct mutex lock;
    struct dma_chan *chan;
    struct dma_chan *chans[STM32_TIMERS_MAX_DMAS];
 };

πŸ¦‹ Members πŸ¦‹

breaking it down field by field, iykyk πŸ‘‘

  • completion β€” this is a struct completion, and it's giving "end of DMA transfer completion" energy. when the DMA transfer wraps up, this is the thing that says so 🫢
  • phys_base β€” a phys_addr_t holding the control registers physical base address. literally where the registers live in physical memory, iconic πŸ’…
  • lock β€” a struct mutex whose whole job is to protect DMA access. main character energy but make it thread-safe πŸ”₯
  • chan β€” a struct dma_chan * pointing at the DMA channel actually in use rn πŸ‘€
  • chans β€” a struct dma_chan * array, chans[STM32_TIMERS_MAX_DMAS], holding all the DMA channels available for this timer instance. a little squad of channels, obsessed 🌈

πŸŽ€ SEE ALSO πŸŽ€

go touch grass in the kernel tree bestie, specifically:

  • Kernel file ./include/linux/mfd/stm32-timers.h ⭐

and that's a wrap on the struct stm32_timers_dma(9) page 🧚 β€” brought to you by ./include/linux/mfd, dated October 2026, from your fave manual, the Kernel API Manual. stay slay, stay compiled πŸ’œ

πŸ“¦ where this page comes from