linux/sound/firewire
Takashi Sakamoto f2ac3b8395 ALSA: firewire-motu: sequence replay for source packet header
This commit takes ALSA firewire-motu driver to perform sequence replay for
media clock recovery.

Unlike the other types of device, the devices in MOTU FireWire series
require two levels of sequence replay; the sequence of the number of
data blocks per packet and the sequence of source packet header per data
block. The former is already cached by ALSA IEC 61883-1/6 packet streaming
engine and ready to be replayed. The latter is also cached by ALSA
firewire-motu driver itself with a previous patch. This commit takes
the driver to replay both of them from the caches.

The sequence replay is tested with below models:

 * 828 mkII
 * Traveler
 * UltraLite
 * 828 mk3 FireWire
 * 828 mk3 Hybrid (except for high sampling transfer frequency
 * UltraLite mk3 FireWire
 * 4pre
 * AudioExpress

Unfortunately, below models still don't generate better sound, requires
more work:

 * 8pre
 * 828 mk3 Hybrid at high sampling transfer frequency

As long as I know, MOTU protocol version 1 requires extra care of the
format of data block, thus below models are not supported yet in this
time:

 * 828
 * 896

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20210602013406.26442-4-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-06-02 08:59:46 +02:00
..
bebob ALSA: bebob: perform sequence replay for media clock recovery 2021-06-01 18:37:11 +02:00
dice ALSA: dice: perform sequence replay for media clock recovery 2021-06-01 18:36:42 +02:00
digi00x ALSA: firewire-digi00x: perform sequence replay for media clock recovery 2021-06-01 08:19:25 +02:00
fireface ALSA: fireface: perform sequence replay for media clock recovery 2021-06-01 08:19:51 +02:00
fireworks ALSA: fireworks: perform sequence replay for media clock recovery 2021-06-01 08:18:39 +02:00
motu ALSA: firewire-motu: sequence replay for source packet header 2021-06-02 08:59:46 +02:00
oxfw ALSA: oxfw: perform sequence replay for media clock recovery 2021-06-01 08:19:12 +02:00
tascam ALSA: firewire-tascam: perform sequence replay for media clock recovery 2021-06-01 08:19:37 +02:00
amdtp-am824.c ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant 2021-05-18 12:21:52 +02:00
amdtp-am824.h ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant 2021-05-18 12:21:52 +02:00
amdtp-stream-trace.h ALSA: firewire-lib: fix amdtp_packet tracepoints event for packet_index field 2021-05-14 09:41:26 +02:00
amdtp-stream.c ALSA: firewire-lib: support NO_PERIOD_WAKEUP in ALSA PCM runtime 2021-05-28 11:07:21 +02:00
amdtp-stream.h ALSA: firewire-lib: transfer rx packets on-the-fly when replaying 2021-05-28 11:06:33 +02:00
cmp.c ALSA: firewire: fix kernel-doc 2020-07-07 12:09:32 +02:00
cmp.h ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection 2019-06-17 08:18:36 +02:00
fcp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
fcp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isight.c ALSA: firewire: Drop superfluous ioctl PCM ops 2019-12-11 07:25:27 +01:00
iso-resources.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
iso-resources.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro" 2021-05-18 12:21:42 +02:00
lib.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
lib.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
packets-buffer.c ALSA: firewire: fix a memory leak bug 2019-08-08 11:12:26 +02:00
packets-buffer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00