summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-02-04 14:18:54 +0300
committerMark Brown <broonie@kernel.org>2026-02-04 14:18:54 +0300
commitdcf0470aa399e59ba9e13c7de87a60c8743a358a (patch)
tree717d9f2131ad26655270695d92519240f41263f7 /include/linux
parentbb6a3c2db281c7d5aaa79b2a6fa00bcd10c0bb8f (diff)
parent330d1deb410fe75f7f79bd1e5025f2827365eb83 (diff)
downloadlinux-dcf0470aa399e59ba9e13c7de87a60c8743a358a.tar.xz
ASoC: SOF: Intel: reserve link DMA for sdw bpt stream
Merge series from Bard Liao <yung-chuan.liao@linux.intel.com>: Currently, hda_sdw_bpt_dma_prepare() get a HDA stream and use the link DMA but doesn't reserve it. It works fine because we assume the SwoundWire BPT will not run with audio streams simultaneously. Create and use the new helpers to reserve the link DMA and allow running BPT and audio stream simultaneously. Pierre adds: For the record this solution has two issues not documented in any commit message: a) this will not work in 'dspless' mode, where the link DMA is not enabled. That's probably fine given that no one used that mode in production, but that's a software restriction that you will not be able to undo. b) this raise the question of how bandwidth will be managed. The premise of BPT is that it uses all the bus bandwidth to guarantee predictable firmware download times. If the available bandwidth is restricted by other audio streams, then mechanically the startup latency will be increased and vary - or you will have to run the bus at a higher frequency to provision enough bandwidth for BPT but that means higher power consumption. Or you will have to change the bus clock dynamically which is possible at the hardware level for SDCA parts but not legacy ones. I am not going to lay on the tracks for this low-level set of changes, but you'll have to address the b) opens for future contributions.
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions