]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: firewire-lib: postpone to start IR context
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 18 Oct 2019 06:19:11 +0000 (15:19 +0900)
committerTakashi Iwai <tiwai@suse.de>
Sat, 19 Oct 2019 07:18:27 +0000 (09:18 +0200)
commitdf77d80faf7aec0288329fac07345d2e58dbf2ad
tree83adb14a072f8f13db5516c55f2b8c6458ce626c
parent0f3d2be7a0c8dfd4c9889f1db7d66e46898d45f1
ALSA: firewire-lib: postpone to start IR context

Some devices have a quirk to postpone transmission of isoc packet for
several dozen or hundred isoc cycles since configured to transmit.
Furthermore, some devices have a quirk to transmit isoc packet with
discontinued data of its header.

In 1394 OHCI specification, software allows to start isoc context with
certain isoc cycle. Linux firewire subsystem has kernel API to use it
as well.

This commit uses the functionality of 1394 OHCI controller to handle
the quirks. At present, this feature is convenient to ALSA bebob and
fireface driver. As a result, some devices can be safely handled, as
long as I know:
 - MAudio FireWire solo
 - MAudio ProFire Lightbridge
 - MAudio FireWire 410
 - Roland FA-66

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20191018061911.24909-7-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/amdtp-stream.c
sound/firewire/amdtp-stream.h
sound/firewire/bebob/bebob_stream.c
sound/firewire/dice/dice-stream.c
sound/firewire/digi00x/digi00x-stream.c
sound/firewire/fireface/ff-stream.c
sound/firewire/fireworks/fireworks_stream.c
sound/firewire/motu/motu-stream.c
sound/firewire/oxfw/oxfw-stream.c
sound/firewire/tascam/tascam-stream.c