fsl_dma_pointer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… fsl_dma_pointer(9) β€” the kernel API manual, bestie edition πŸŽ€

okay so real talk, this page is from the kernel API manual, and it's literally about fsl_dma_pointer β€” one tiny function that answers the biggest question in audio streaming: where are we right now? πŸ‘€βœ¨


✨ NAME ✨

fsl_dma_pointer β€” determine the current position of the DMA transfer 🎯


πŸ¦‹ SYNOPSIS πŸ¦‹

snd_pcm_uframes_t fsl_dma_pointer (struct snd_soc_component *component ,
struct snd_pcm_substream *substream );

that's the whole signature, no cap. two args, one snd_pcm_uframes_t back. she's compact, she's iconic πŸ’…


🌸 ARGUMENTS 🌸

  • component β€” -- undescribed -- πŸ™ˆ so the manpage itself literally has nothing to say about it here. ngl, she's giving mystery. we don't invent details, so we just pass it along as-is, fr fr.
  • substream β€” -- undescribed -- same energy 😭 also undescribed in the original. not me reading the source to figure it out β€” that's a you activity, bestie.

πŸ’– DESCRIPTION πŸ’–

so this function? ALSA calls it when ALSA wants to know where in the stream buffer the hardware currently is. that's the whole job. it's the "where u at" text of kernel audio 🫢

here's the breakdown, and you're gonna eat this up:

  • for playback, the SAR register contains the physical address of the most recent DMA transfer. like, that's the receipts of the last move πŸ“
  • for capture, the value lives in the DAR register instead. different register, same vibe πŸŽ€
  • the base address of the buffer is stored in the source_addr field of the first link descriptor. so pointer = current spot minus that base. iykyk πŸ’«

⭐ SEE ALSO ⭐

that's ten references, bestie β€” read the whole clique πŸ˜ŒπŸ‘‘


and that's the page!! 🌈 this one's filed under ./sound/soc/fsl, stamped October 2026, and it's fsl_dma_pointer(9) all the way down. go hydrate and go read the source πŸ’œπŸ“βœ¨

πŸ“¦ where this page comes from