Re: ASoC: tas2783-sdw: calibration firmware not re-downloaded after s2idle resume (AMD ACP SoundWire, ASUS ProArt PX13)
"Mukunda,Vijendar" <[email protected]>
| Newsgroups | gmane.linux.sound,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
On 27/07/26 13:43, Andrey Golovko wrote: > oot cause #2: ACP SoundWire DMA config not reprogrammed on recovery > -------------------------------------------------------------------- > Even with the cache fixed, sound only returns after the PCM is fully > recreated (pactl profile off/on), not after a plain userspace resume. > sound/soc/amd/ps/ps-sdw-dma.c advertises SNDRV_PCM_INFO_RESUME, so > userspace issues TRIGGER_RESUME (or prepare without hw_params), while the > ring-buffer registers (RINGBUFADDR/RINGBUFSIZE, watermark, IRQ masks) are > only programmed in hw_params. The DMA is then started with unprogrammed > registers: silence, followed by an XRUN. Intel does not set INFO_RESUME > on SoundWire for exactly this reason. > > Dropping INFO_RESUME plus reprogramming the DMA config from .prepare > still does not fully restore audio here, so something else is lost across > the power gate on the ACP/manager side. I will post that part separately, > with traces, addressed to the AMD folks - it does not belong in this > codec thread. ++ @Andrey Golovko: restoring the dma ring buffer reigsters, pte programming along with re-enabling irq mask will be done in acp70_restore_sdw_dma_config() function which will be invoked during resume sequence. Could you please create Bugzilla ticket and attach dmesg logs?