On Tue, 14 Jan 2025 19:42:39 +0100,
Cezary Rojewski wrote:
>
> As per specification, SDxLVI shall be at least 1 i.e.: two chunks to
> perform a valid transfer. This is true for the PCM transfer code but
> not firmware-transfer one.
>
> Technical background:
> - the LVI > 0 rule shall be obeyed in PCM transfer
> - HW permits LVI == 0 when transfer is SW-controlled (SPIB)
> - FW download is not a PCM transfer and is SW-controlled (SPIB)
>
> The above is the fundament which AudioDSP firmware loading functions
> have been built upon and worked since 2016. The presented changes are to
> align the loading flows and avoid rising more questions in the future.
>
> Achieve the goal by splitting snd_hdac_stream_setup_periods() into
> substream-dependent and -independent part. Let snd_hdac_dsp_prepare()
> utilize the latter so that both DSP-loading and PCM flows utilize same
> BLDE setup loop which already takes care of cutting the buffer based on
> azx_dev->period_bytes.
>
> Signed-off-by: Cezary Rojewski <cezary.rojewski@xxxxxxxxx>
Applied now. Thanks.
Takashi
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]