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

Takashi Iwai tiwai at suse.de
Sat Oct 19 09:22:16 CEST 2019


On Fri, 18 Oct 2019 08:19:05 +0200,
Takashi Sakamoto wrote:
> 
> 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

Applied all patches now.

Although the preempt handling in AMDTP looks a bit suspicious, it
should be OK as long as the code has been tested, so I took as is.


thanks,

Takashi


More information about the Alsa-devel mailing list