[alsa-devel] [PATCH 00/19] ALSA: firewire: introduce AMDTP domain
Takashi Iwai
tiwai at suse.de
Mon Aug 5 20:01:34 CEST 2019
On Sun, 04 Aug 2019 08:21:19 +0200,
Takashi Sakamoto wrote:
>
> Hi,
>
> This patchset is to implement AMDTP domain I addressed in my previous
> patchset:
> https://mailman.alsa-project.org/pipermail/alsa-devel/2019-July/152430.html
>
> My work for libhinoko[1][2] allows me to sniff actual packet transmission
> between devices and drivers in Windows/Mac OS for long period (e.g. 1
> hour). As a result, some supported devices don't follow packet sequences
> transferred by the drivers. They expect drivers to parse isoc packets
> in tx stream and recover frequency of data block then transfer isoc packets
> as rx stream.
>
> (I note that no specification describes this mechanism as long as I know.
> In the specification, clock recovery is one-way from transmitter to
> receivers, thus recovered clock is not necessarily used for transmission
> from the receiver to the transmitter.)
>
> For the clock recovery in driver side, several isoc contexts should be
> handled in one time to parse packets in incoming stream and to build
> packets in outgoing stream. The AMDTP domain is designed for this purpose.
>
> In this time, the AMDTP domain implements the functionalities to
> start/stop a couple of isoc contexts for some AMDTP streams. Each
> context still runs in own handler for scheduled hardware IRQs. I'll post
> further work after merged.
>
> [1] https://mailman.alsa-project.org/pipermail/alsa-devel/2019-April/147862.html
> [2] https://github.com/takaswie/libhinoko
>
> Takashi Sakamoto (19):
> ALSA: firewire-lib: add AMDTP domain structure to handle several isoc
> context in one interrupt callback
> ALSA: firewire-lib: add a kernel API to stop a couple of AMDTP streams
> in AMDTP domain
> ALSA: firewire-lib: add a kernel API to add AMDTP stream into AMDTP
> domain
> ALSA: firewire-lib: add a kernel API to start AMDTP streams in AMDTP
> domain
> ALSA: fireworks: code refactoring for initialization/destruction of
> AMDTP streams
> ALSA: fireworks: code refactoring for bus reset handler
> ALSA: firewire-digi00x: code refactoring for
> initialization/destruction of AMDTP stream
> ALSA: firewire-tascam: code refactoring for initialization/destruction
> of AMDTP stream
> ALSA: firewire-motu: code refactoring for initialization/destruction
> of AMDTP stream
> ALSA: fireface: code refactoring for initialization/destruction of
> AMDTP stream
> ALSA: bebob: support AMDTP domain
> ALSA: fireworks: support AMDTP domain
> ALSA: oxfw: support AMDTP domain
> ALSA: dice: support AMDTP domain
> ALSA: firewire-digi00x: support AMDTP domain
> ALSA: firewire-tascam: support AMDTP domain
> ALSA: firewire-motu: support AMDTP domain
> ALSA: fireface: support AMDTP domain
> ALSA: firewire-lib: localize kernel APIs to start/stop each AMDTP
> stream
Applied all patches now. Thanks.
Takashi
More information about the Alsa-devel
mailing list