Hi, Within devices supported by drivers in ALSA firewire stack, only DICE ASICs support several pair of isochronous packet streams. As long as I experienced, the ASIC requires drivers to transfer packets at the same isochronous cycle. Unless, it generates no sound. Additionally, in future integration I have a plan to take drivers performing sequence replay for media clock recovery. It's convenient to manage the cycle to start processing content of packet in several IR contexts. This patchset is to start processing content of packet at the same cycle in several contexts for each direction, including code refactoring. Takashi Sakamoto (8): ALSA: firewire-lib: code refactoring for size of CIP header ALSA: firewire-lib: code refactoring for calculation of context payload ALSA: firewire-lib: code refactoring for selection of IT context header length ALSA: firewire-lib: start processing content of packet at the same cycle in several IR contexts ALSA: firewire-lib: skip initial packets instead of scheduling IR context ALSA: firewire-lib: code refactoring to start several IT/IR contexts ALSA: firewire-lib: start processing content of packet at the same cycle in several IT contexts ALSA: firewire-lib: change waking up timing to process packets sound/firewire/amdtp-stream.c | 492 ++++++++++++++------ sound/firewire/amdtp-stream.h | 53 ++- sound/firewire/bebob/bebob_stream.c | 29 +- sound/firewire/dice/dice-stream.c | 15 +- sound/firewire/digi00x/digi00x-stream.c | 7 +- sound/firewire/fireface/ff-stream.c | 7 +- sound/firewire/fireworks/fireworks_stream.c | 8 +- sound/firewire/motu/amdtp-motu.c | 9 +- sound/firewire/motu/motu-stream.c | 7 +- sound/firewire/oxfw/oxfw-stream.c | 14 +- sound/firewire/tascam/tascam-stream.c | 7 +- 11 files changed, 401 insertions(+), 247 deletions(-) -- 2.27.0