ALSA: firewire-digi00x: perform sequence replay for media clock recovery
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 31 May 2021 02:51:01 +0000 (11:51 +0900)
committerTakashi Iwai <tiwai@suse.de>
Tue, 1 Jun 2021 06:19:25 +0000 (08:19 +0200)
commit019af5923c8a46b581fc2f2d670dcc0714a80bf0
treea5cd34a9467487789f059efd6d7440bebf218929
parent029ffc4294401fc7fbc45dd4728f26148ba499e4
ALSA: firewire-digi00x: perform sequence replay for media clock recovery

This commit takes ALSA firewire-digi00x driver to perform sequence replay
for media clock recovery.

All of models in Digidesign digi00x family don't transfer isochronous
packets till receiving isochronous packets. The on-the-fly mode is used
for the purpose. They don't interpret presentation time expressed in syt
field of received CIP, therefore the sequence of the number of data blocks
per packet is important for media clock recovery.

The sequence replay is tested with below models:

* Digidesign Digi 002
* Digidesign Digi 002 Rack
* Digidesign Digi 003
* Digidesign Digi 003 Rack

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20210531025103.17880-5-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/digi00x/amdtp-dot.c
sound/firewire/digi00x/digi00x-stream.c