All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/15] ALSA: firewire-tascam/fireface: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks
@ 2019-06-02  7:12 Takashi Sakamoto
  2019-06-02  7:12 ` [PATCH 01/15] ALSA: firewire-tascam: code refactoring for registration of isochronous channels Takashi Sakamoto
                   ` (15 more replies)
  0 siblings, 16 replies; 18+ messages in thread
From: Takashi Sakamoto @ 2019-06-02  7:12 UTC (permalink / raw)
  To: clemens, tiwai; +Cc: alsa-devel

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

 sound/firewire/fireface/ff-pcm.c             |  57 ++---
 sound/firewire/fireface/ff-protocol-former.c | 112 +++++-----
 sound/firewire/fireface/ff-protocol-latter.c | 114 +++++-----
 sound/firewire/fireface/ff-stream.c          |  85 ++++----
 sound/firewire/fireface/ff.h                 |   3 +
 sound/firewire/tascam/tascam-pcm.c           |  59 ++----
 sound/firewire/tascam/tascam-stream.c        | 209 ++++++++++---------
 sound/firewire/tascam/tascam.h               |   2 +
 8 files changed, 306 insertions(+), 335 deletions(-)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2019-06-11  9:59 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-02  7:12 [PATCH 00/15] ALSA: firewire-tascam/fireface: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 01/15] ALSA: firewire-tascam: code refactoring for registration of isochronous channels Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 02/15] ALSA: firewire-tascam: code refactoring for reservation of isochronous resources Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 03/15] ALSA: firewire-tascam: code refactoring for release " Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 04/15] ALSA: firewire-tascam: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 05/15] ALSA: firewire-tascam: update isochronous resources when starting packet streaming after bus reset Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 06/15] ALSA: firewire-tascam: minor code refactoring to finish streaming session Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 07/15] ALSA: firewire-tascam: code refactoring for pcm.hw_params/hw_free callbacks Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 08/15] ALSA: fireface: add protocol-specific operation to allocate isochronous resources Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 09/15] ALSA: fireface: support allocate_resources operation in ff800 protocol Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 10/15] ALSA: fireface: support allocate_resources operation in ff400 protocol Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 11/15] ALSA: fireface: support allocate_resources operation in latter protocol Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 12/15] ALSA: fireface: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 13/15] ALSA: fireface: update isochronous resources when starting packet streaming after bus-reset Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 14/15] ALSA: fireface: minor code refactoring to finish streaming session Takashi Sakamoto
2019-06-02  7:12 ` [PATCH 15/15] ALSA: fireface: code refactoring for pcm.hw_params/hw_free callbacks Takashi Sakamoto
2019-06-11  9:37 ` [PATCH 00/15] ALSA: firewire-tascam/fireface: reserve/release isochronous resources in " Takashi Iwai
2019-06-11  9:59   ` Takashi Sakamoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.