ALSA: firewire-lib: handle several AMDTP streams in callback handler of IRQ target
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 18 Oct 2019 06:19:10 +0000 (15:19 +0900)
committerTakashi Iwai <tiwai@suse.de>
Sat, 19 Oct 2019 07:18:26 +0000 (09:18 +0200)
commit60dd49298ec5803ca423836d5a724c3fe402cc3f
tree9361fec225f058003eab5a1a3c5f496a8bee08d8
parent813dfbd6845e5366f2dbef190a695f8b06c1d83d
ALSA: firewire-lib: handle several AMDTP streams in callback handler of IRQ target

This commit changes AMDTP domain to run on an IT context of 1394 OHCI as
IRQ target. No hardware interrupt is scheduled for the other isoc
contexts. All of the isoc context are processed in a callback for an isoc
context of IRQ target.

The IRQ target is automatically selected from a list of AMDTP streams,
thus users of AMDTP domain should add an AMDTP stream for IT context
at least.

The reason to select IT context as IRQ target is that the IT context
runs on local 1394 OHCI controller and it can be used as reliable,
constant IRQ generator. On the other hand, IR context can include skip
cycle according to isoc packet transferred by device.

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