stm32h7_spi_...ne_dma_start(9)
π stm32h7_spi_transfer_one_dma_start(9) β like, the whole glow-up β¨
okay bestie, so picture this: you're deep in the Kernel API Manual (yes, that manual, the one with the pages that go on forever π«Ά) and you land on this little icon. It's stm32h7_spi_transfer_one_dma_start β and no, the header doesn't finish the name, the ellipsis is just the manual being dramatic π. Anyway. Let's get into it.
π NAME π
stm32h7_spi_transfer_one_dma_start β sets the SPI driver registers so a transfer can kick off using DMA. That's the whole vibe. Registers get set, DMA does its thing, slay. β¨
π¦ SYNOPSIS π¦
void stm32h7_spi_transfer_one_dma_start (struct stm32_spi *spi );
literally that's it. one function, one arg, void return β she gives nothing back and she doesn't need to. main character energy tbh π
πΈ ARGUMENTS πΈ
spiβ pointer to the spi controller data structure π«Ά. yep, just the one. she's the pointer to the spi controller data structure, that's her job, and she's doing it beautifully.
β SEE ALSO β
okay so this function does not exist in a vacuum, she has a whole friend group π and the manual wants you to know every single one. also worth shouting out: the kernel file ./drivers/spi/spi-stm32.c β that's where the lore lives π
π the structs (the OGs)
struct stm32_spi_reg(9)struct stm32_spi_regspec(9)struct stm32_spi_cfg(9)struct stm32_spi(9)
π§ fifo size & bpw masks (the measuring girls)
stm32h7_spi_get_fifo_size(9)stm32f4_spi_get_bpw_mask(9)stm32f7_spi_get_bpw_mask(9)stm32h7_spi_get_bpw_mask(9)stm32mp25_spi_get_bpw_mask(9)
π preparing stuff
π sending it (tx)
π¦ receiving it (rx)
β¨ on & off (the power couple)
π₯ dma check
π irq girlies
π messages & dma callbacks
π transfer_one, all the variants (a whole family)
stm32fx_spi_transfer_one_irq(9)stm32h7_spi_transfer_one_poll(9)stm32h7_spi_transfer_one_irq(9)stm32fx_spi_transfer_one_dma_start(9)stm32f7_spi_transfer_one_dma_start(9)stm32_spi_prepare_rx_dma_mdma_chaining(9)stm32_spi_transfer_one_dma(9)
π§ bpw / mbr / modes / setup (the setters, iykyk)
stm32f4_spi_set_bpw(9)stm32f7_spi_set_bpw(9)stm32h7_spi_set_bpw(9)stm32_spi_set_mbr(9)stm32_spi_communication_type(9)stm32fx_spi_set_mode(9)stm32h7_spi_set_mode(9)stm32h7_spi_data_idleness(9)stm32h7_spi_number_of_data(9)stm32_spi_transfer_one_setup(9)stm32_spi_can_poll(9)stm32_spi_transfer_one(9)stm32_spi_unprepare_msg(9)
π the configs
no cap, that's every single one β go read them all, bestie, they're all part of the same story π«Ά
mwah π this little page lives in ./drivers/spi and it's stamped October 2026 β so go forth, set those registers, let DMA cook, and remember: you ate. periodt. πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms