sdw_cdns_alloc_pdi(9)
β¨ sdw_cdns_alloc_pdi π
okay so real talk, this is a page from the Kernel API Manual (yes, that's the manual name, we're fancy now π) and it's about one tiny little function that grabs you a PDI. it's giving "small but crucial", honestly.
πΈ NAME πΈ
sdw_cdns_alloc_pdi β bestie, it literally just allocates a PDI. that's the whole vibe. no cap.
π¦ SYNOPSIS π¦
struct sdw_cdns_pdi * sdw_cdns_alloc_pdi (struct sdw_cdns *cdns , struct
sdw_cdns_streams *stream , u32 ch , u32 dir , int dai_id );
like, copy that exactly bestie, don't be creative with it π β it returns a struct sdw_cdns_pdi * and takes five things. slay.
π ARGUMENTS π
cdnsβ the Cadence instance. your main character struct, fr fr. everything hangs off this.streamβ the stream that's getting allocated. that's the one getting picked, periodt.chβ channel count. how many channels,u32, you know the drill.dirβ data direction.u32. which way the data's going, iykyk.dai_idβ the DAI id.int. its little name tag π
π₯ SEE ALSO π₯
listen up, this list is long but every single one is iconic, do not skip π
the kernel file lives right here, and yes it's the source of truth:
./drivers/soundwire/cadence_master.c
and then the whole friend group π:
sdw_cdns_config_update(9)sdw_cdns_config_update_set_wait(9)sdw_cdns_debugfs_init(9)sdw_cdns_irq(9)cdns_update_slave_status_work(9)sdw_cdns_exit_reset(9)cdns_enable_slave_interrupts(9)sdw_cdns_enable_interrupt(9)sdw_cdns_pdi_init(9)sdw_cdns_soft_reset(9)sdw_cdns_init(9)sdw_cdns_is_clock_stop(9)sdw_cdns_clock_stop(9)sdw_cdns_clock_restart(9)sdw_cdns_probe(9)cdns_find_pdi(9)sdw_cdns_config_stream(9)
like, go read them, they're all right there in the kernel tree, it's giving lore π§
anyway that's the page bestie π hope the PDI allocation went well.
this little writeup lives over in ./drivers/soundwire, dated October 2026, and it's the sdw_cdns_alloc_pdi(9) page β mwah, bye π«Άβ¨π
π¦ 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