STRUCT S3C_PCM_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct s3c_pcm_info(9) πŸŽ€

okay bestie, welcome to the Kernel API Manual entry for struct s3c_pcm_info β€” which is, and I cannot stress this enough, the S3C PCM Controller information</> struct. it's giving "audio-bus bookkeeping" and honestly? we're obsessed. πŸ’…


✨ NAME ✨

struct s3c_pcm_info β€” S3C PCM Controller information 🎧✨


🌸 SYNOPSIS 🌸

struct s3c_pcm_info {
    spinlock_t lock;
    struct device   *dev;
    void __iomem    *regs;
    unsigned int sclk_per_fs;
    unsigned int idleclk;
    struct clk      *pclk;
    struct clk      *cclk;
    struct snd_dmaengine_dai_dma_data *dma_playback;
    struct snd_dmaengine_dai_dma_data *dma_capture;
 };

like, look at her. nine whole members. she's structured. she's organized. she's literally the main character of ./sound/soc/samsung/pcm.c. 🫢


πŸ’– Members πŸ’–

  • lock β€” a spin lock, bestie. classic. keeps things from stepping on each other. πŸ”’
  • dev β€” the parent device, passed in to use from the probe. it's the whole reason we're here, ngl.
  • regs β€” the pointer to the device register block. the address of the vibes. πŸ“
  • sclk_per_fs β€” number of sclk per frame sync. yeah. that many. 🎡
  • idleclk β€” whether to keep PCMSCLK enabled even when idle (no active xfer). so like, does the clock stay awake even when nothing's transferring? that's what this says. ⏰
  • pclk β€” the PCLK_PCM (pcm) clock pointer. she's the pcm clock. periodt. πŸ•°οΈ
  • cclk β€” the SCLK_AUDIO (audio-bus) clock pointer. different girl, different bus. 🌈
  • dma_playback β€” DMA information for the playback channel. sound goes OUT. πŸ”Š
  • dma_capture β€” DMA information for the capture channel. sound comes IN. πŸŽ™οΈ
ngl these two struct snd_dmaengine_dai_dma_data * pointers are highkey the most extra types in the whole struct and I respect it.

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./sound/soc/samsung/pcm.c πŸ‘€ go read her, she's iconic.

✨ cute lil sign-off ✨

this came from ./sound/soc/samsung, dated October 2026 πŸ’œ and it's titled struct s3c_pcm_info(9) in case you forgot already (you didn't, you're doing amazing, bestie). go forth and slay your PCM controller setup. πŸŽ€πŸ”₯πŸ‘‘

πŸ“¦ where this page comes from