mbox series

[0/3] ALSA: firewire-lib: preparation for media clock recovery

Message ID 20210527122611.173711-1-o-takashi@sakamocchi.jp (mailing list archive)
Headers show
Series ALSA: firewire-lib: preparation for media clock recovery | expand

Message

Takashi Sakamoto May 27, 2021, 12:26 p.m. UTC
Hi,

ALSA IEC 61883-1/6 packet streaming engine have been using pre-computed
parameters ideal for nominal sampling transfer frequency (STF), to
transfer packets to device since it was added 2011. As a result of user
experience for a decade, it is clear that the sequence is not suitable
to some actual devices.

In design of audio and music unit in IEEE 1394 bus, feedback of
effective sampling transfer frequency is delivered by packets transferred
from device. Reuse of the sequence of parameter in the packets results
in pseudo media clock recovery to transfer packet.

In this patchset, an option is added to AMDTP domain so that each of
AMDTP stream for outgoing packet has association to AMDTP stream for
incoming packet, to replay the sequence of parameter. Some devices
require receiving packet on-the-fly to transfer packets, so another
option is added.

These options are just added, not used yet in this time. In future work,
they are going to be used by drivers in ALSA firewire stack.

Takashi Sakamoto (3):
  ALSA: firewire-lib: add replay target to cache sequence of packet
  ALSA: firewire-lib: replay sequence of incoming packets for outgoing
    packets
  ALSA: firewire-lib: transfer rx packets on-the-fly when replaying

 sound/firewire/amdtp-stream.c               | 252 ++++++++++++++++++--
 sound/firewire/amdtp-stream.h               |  17 +-
 sound/firewire/bebob/bebob_stream.c         |   2 +-
 sound/firewire/dice/dice-stream.c           |   2 +-
 sound/firewire/digi00x/digi00x-stream.c     |   2 +-
 sound/firewire/fireface/ff-stream.c         |   2 +-
 sound/firewire/fireworks/fireworks_stream.c |   2 +-
 sound/firewire/motu/motu-stream.c           |   2 +-
 sound/firewire/oxfw/oxfw-stream.c           |   2 +-
 sound/firewire/tascam/tascam-stream.c       |   2 +-
 10 files changed, 259 insertions(+), 26 deletions(-)

Comments

Takashi Iwai May 28, 2021, 9:08 a.m. UTC | #1
On Thu, 27 May 2021 14:26:08 +0200,
Takashi Sakamoto wrote:
> 
> Hi,
> 
> ALSA IEC 61883-1/6 packet streaming engine have been using pre-computed
> parameters ideal for nominal sampling transfer frequency (STF), to
> transfer packets to device since it was added 2011. As a result of user
> experience for a decade, it is clear that the sequence is not suitable
> to some actual devices.
> 
> In design of audio and music unit in IEEE 1394 bus, feedback of
> effective sampling transfer frequency is delivered by packets transferred
> from device. Reuse of the sequence of parameter in the packets results
> in pseudo media clock recovery to transfer packet.
> 
> In this patchset, an option is added to AMDTP domain so that each of
> AMDTP stream for outgoing packet has association to AMDTP stream for
> incoming packet, to replay the sequence of parameter. Some devices
> require receiving packet on-the-fly to transfer packets, so another
> option is added.
> 
> These options are just added, not used yet in this time. In future work,
> they are going to be used by drivers in ALSA firewire stack.
> 
> Takashi Sakamoto (3):
>   ALSA: firewire-lib: add replay target to cache sequence of packet
>   ALSA: firewire-lib: replay sequence of incoming packets for outgoing
>     packets
>   ALSA: firewire-lib: transfer rx packets on-the-fly when replaying

Applied all three patches now.  Thanks.


Takashi