[PATCH 0/3] ALSA: firewire: media clock recovery for syt-aware devices

Takashi Sakamoto o-takashi at sakamocchi.jp
Tue Jun 1 10:17:50 CEST 2021


Hi,

In a commit f9e5ecdfc2c2 ("ALSA: firewire-lib: add replay target to cache
sequence of packet"), I categorize devices supported by drivers in ALSA
firewire stack in terms of the way to deliver effective sampling
transfer frequency. This patchset is for the devices in group 2.

The devices are known to have problems when ALSA dice/bebob drivers
handle. Many of them sometimes transfer packets with discontinued counter,
corrupt at break of CMP connection, generates bus-reset voluntarily.

The devices interpret presentation time to decide playback timing. The
drivers process presentation time expressed in syt field of CIP header for
outgoing packets. Current implementation of the drivers processes the
sequence of outgoing packet by computation according to nominal sampling
transfer frequency, assisted by ALSA IEC 61883-1/6 packet streaming engine.
However, the ideal sequence is not adequate to the devices, actually.

With this patchset, the drivers are going to replay the sequence of
incoming packets for media clock recovery. For the detail of sequence
replay, please refer to a commit 39c2649c71d8 ("ALSA: firewire-lib: replay
sequence of incoming packets for outgoing packets").

Takashi Sakamoto (3):
  ALSA: dice: wait just for NOTIFY_CLOCK_ACCEPTED after
    GLOBAL_CLOCK_SELECT operation
  ALSA: dice: perform sequence replay for media clock recovery
  ALSA: bebob: perform sequence replay for media clock recovery

 sound/firewire/bebob/bebob_stream.c    | 13 +++++++---
 sound/firewire/dice/dice-stream.c      | 35 +++++++++-----------------
 sound/firewire/dice/dice-transaction.c |  2 +-
 3 files changed, 22 insertions(+), 28 deletions(-)

-- 
2.27.0



More information about the Alsa-devel mailing list