[alsa-devel] [PATCH 00/15] ALSA: firewire-tascam/fireface: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks
Takashi Iwai
tiwai at suse.de
Tue Jun 11 11:37:25 CEST 2019
On Sun, 02 Jun 2019 09:12:44 +0200,
Takashi Sakamoto wrote:
>
> Hi,
>
> This patchset is a part of series of patches for all of drivers in
> ALSA firewire stack to reserve/release isochronous resources in
> pcm.hw_params/hw_free callbacks.
>
> In current implementation, the resources are reserved at the same time
> to start packet streaming, and released at the same time to stop packet
> streaming. However, once allocated, the resources are available
> independent of lifetime of packet streaming.
>
> The isochronous resources are the resources of IEEE 1394 bus. On the
> other side of view, it's a kind of resources of hardware to maintain
> the bus (isochronous resource manager). For this kind of reservation and
> release, hw_params and hw_free operations are suitable in ALSA PCM
> interface.
>
> Ideally, the operation to reserve/release isochronous resource should
> be separated from the operation to start/stop packet streaming. However,
> IEEE 1394 bus has reset event. Once reset occurs, isochronous resource
> manager releases allocated resources. The resources should be
> reallocated by requesters themselves. For this reason, in this patchset,
> bus generation is checked before starting packet streaming. If
> generation is updated, reallocation is requested to isochronous
> resource manager, then packet streaming starts.
>
> Takashi Sakamoto (15):
> ALSA: firewire-tascam: code refactoring for registration of
> isochronous channels
> ALSA: firewire-tascam: code refactoring for reservation of isochronous
> resources
> ALSA: firewire-tascam: code refactoring for release of isochronous
> resources
> ALSA: firewire-tascam: reserve/release isochronous resources in
> pcm.hw_params/hw_free callbacks
> ALSA: firewire-tascam: update isochronous resources when starting
> packet streaming after bus reset
> ALSA: firewire-tascam: minor code refactoring to finish streaming
> session
> ALSA: firewire-tascam: code refactoring for pcm.hw_params/hw_free
> callbacks
> ALSA: fireface: add protocol-specific operation to allocate
> isochronous resources
> ALSA: fireface: support allocate_resources operation in ff800 protocol
> ALSA: fireface: support allocate_resources operation in ff400 protocol
> ALSA: fireface: support allocate_resources operation in latter
> protocol
> ALSA: fireface: reserve/release isochronous resources in
> pcm.hw_params/hw_free callbacks
> ALSA: fireface: update isochronous resources when starting packet
> streaming after bus-reset
> ALSA: fireface: minor code refactoring to finish streaming session
> ALSA: fireface: code refactoring for pcm.hw_params/hw_free callbacks
Applied all 15 patches now. Thanks.
Takashi
More information about the Alsa-devel
mailing list