linux-stable/sound/firewire/tascam
Takashi Sakamoto a9dd8a61b6 ALSA: firewire-tascam: perform sequence replay for media clock recovery
This commit takes ALSA firewire-tascam driver to perform sequence replay
for media clock recovery.

The protocol specific to Tascam FireWire series is not compliant to
IEC 61883-1/6 in terms of syt field of CIP. The protocol doesn't use
presentation time in received CIP for playback timing. The sequence of
the number of data blocks per packet is important for media clock
recovery.

Although the devices in Tascam FireWire series transfer packets
regardless of receiving packets, the tx packets includes no events
in the beginning of streaming. It takes so long to multiplex any event
into the packet after receiving the sequence of packets. As long as I
experienced, it takes several thousands of isochronous cycle. Furthermore,
just after changing sampling transmission frequency, it stops multiplexing
event at once, then starts multiplexing again.

The sequence replay is tested with below models:
 * FW-1884
 * FW-1804
 * FW-1082

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20210531025103.17880-6-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-06-01 08:19:37 +02:00
..
amdtp-tascam.c ALSA: firewire-lib: add flag to unaware of syt in CIP header 2021-05-22 08:46:41 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
tascam-hwdep.c ALSA: Convert strlcpy to strscpy when return value is unused 2021-01-08 09:30:05 +01:00
tascam-midi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
tascam-pcm.c ALSA: firewire: Drop superfluous ioctl PCM ops 2019-12-11 07:25:27 +01:00
tascam-proc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
tascam-stream.c ALSA: firewire-tascam: perform sequence replay for media clock recovery 2021-06-01 08:19:37 +02:00
tascam-transaction.c ALSA: firewire-tascam: Fix integer overflow in midi_port_work() 2021-01-12 14:57:38 +01:00
tascam.c ALSA; firewire-tascam: exclude Tascam FE-8 from detection 2020-08-23 10:00:34 +02:00
tascam.h ALSA: firewire-tascam: perform sequence replay for media clock recovery 2021-06-01 08:19:37 +02:00