linux_dsm_epyc7002/sound/firewire/dice
Takashi Sakamoto 3cd2c2d780 ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks
Once allocated, isochronous resources are available for packet
streaming, even if the streaming is cancelled. For this reason,
current implementation handles allocation of the resources and
starting packet streaming at the same time. However, this brings
complicated procedure to start packet streaming.

This commit separates the allocation and starting. The allocation is
done in pcm.hw_params callback and available till pcm.hw_free callback.
Even if any XRUN occurs, pcm.prepare callback is done to restart
packet streaming without releasing/allocating the resources.

There are two points to stop packet streaming; in pcm.hw_params and
pcm.prepare callbacks. The former point is a case that packet streaming
is already started for any MIDI substream then packet streaming is
requested with different sampling transfer frequency for any PCM
substream. The latter point is cases of any XRUN or packet queueing
error.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-06-11 16:02:09 +02:00
..
dice-alesis.c ALSA: dice: fix wrong copy to rx parameters for Alesis iO26 2018-08-06 09:35:32 +02:00
dice-extension.c ALSA: dice: use extended protocol to detect available stream formats 2018-05-02 16:02:00 +02:00
dice-hwdep.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
dice-interface.h ALSA: dice: improve support for ancient firmware for DICE 2018-04-24 17:18:59 +02:00
dice-midi.c ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks 2019-06-11 16:02:09 +02:00
dice-mytek.c ALSA: dice: add stream format parameters for Mytek devices 2018-05-18 08:53:51 +02:00
dice-pcm.c ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks 2019-06-11 16:02:09 +02:00
dice-presonus.c ALSA: dice: add stream format parameters for PreSonus FireStudio 2019-05-20 07:46:43 +02:00
dice-proc.c ALSA: firewire: Remove superfluous snd_info_register() calls 2019-02-06 18:11:38 +01:00
dice-stream.c ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks 2019-06-11 16:02:09 +02:00
dice-tcelectronic.c ALSA: dice: unuse second stream for MIDI conformant data channel for TC Electronic models 2018-05-27 08:32:08 +02:00
dice-transaction.c ALSA: dice: improve support for ancient firmware for DICE 2018-04-24 17:18:59 +02:00
dice.c ALSA: dice: add stream format parameters for PreSonus FireStudio 2019-05-20 07:46:43 +02:00
dice.h ALSA: dice: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks 2019-06-11 16:02:09 +02:00
Makefile ALSA: dice: add stream format parameters for PreSonus FireStudio 2019-05-20 07:46:43 +02:00