[alsa-devel] [PATCH 0/6] ALSA: firewire: handle several IR/IT context in callback of the IT context

Takashi Sakamoto o-takashi at sakamocchi.jp
Fri Oct 18 08:19:05 CEST 2019


Hi,

This patchset is a part of my continuous work to improve ALSA IEC
61883-1/6 packet streaming engine for clock-recovery, addressed in
my previous message:
https://mailman.alsa-project.org/pipermail/alsa-devel/2019-August/153388.html

For the clock-recovery, information in the sequence of tx packet from
device should be used to generate the sequence of rx packet to the
device. In current implementation of the engine, the packets are
processed in different tasklet contexts for each IR/IT context.
This is inconvenient to bypass information between these IR/IT contexts.

In this patchset, the engine is improved to process all of IR/IT
contexts in the same domain by a tasklet context for one of IT context.
For convenience, the IT context is called as 'IRQ target'. As a result,
1394 OHCI controller is managed to generate hardware IRQ just for the
IRQ target. All of rx/tx packets are processed in tasklet for the
hardware IRQ.

Takashi Sakamoto (6):
  ALSA: firewire-lib: add irq_target member into amdtp_domain struct
  ALSA: firewire-lib: replace pointer callback to flush isoc contexts in
    AMDTP domain
  ALSA: firewire-lib: replace ack callback to flush isoc contexts in
    AMDTP domain
  ALSA: firewire-lib: cancel flushing isoc context in the laste step to
    process context callback
  ALSA: firewire-lib: handle several AMDTP streams in callback handler
    of IRQ target
  ALSA: firewire-lib: postpone to start IR context

 sound/firewire/amdtp-stream.c               | 329 +++++++++++++++-----
 sound/firewire/amdtp-stream.h               |  17 +-
 sound/firewire/bebob/bebob_pcm.c            |  18 +-
 sound/firewire/bebob/bebob_stream.c         |  10 +-
 sound/firewire/dice/dice-pcm.c              |   8 +-
 sound/firewire/dice/dice-stream.c           |   2 +-
 sound/firewire/digi00x/digi00x-pcm.c        |   8 +-
 sound/firewire/digi00x/digi00x-stream.c     |   2 +-
 sound/firewire/fireface/ff-pcm.c            |   8 +-
 sound/firewire/fireface/ff-stream.c         |  10 +-
 sound/firewire/fireworks/fireworks_pcm.c    |  10 +-
 sound/firewire/fireworks/fireworks_stream.c |   2 +-
 sound/firewire/motu/motu-pcm.c              |   8 +-
 sound/firewire/motu/motu-stream.c           |   2 +-
 sound/firewire/oxfw/oxfw-pcm.c              |   8 +-
 sound/firewire/oxfw/oxfw-stream.c           |   2 +-
 sound/firewire/tascam/tascam-pcm.c          |   8 +-
 sound/firewire/tascam/tascam-stream.c       |   2 +-
 18 files changed, 325 insertions(+), 129 deletions(-)

-- 
2.20.1



More information about the Alsa-devel mailing list