[alsa-devel] [PATCH 0/3] ALSA: firewire: use .ack callback of PCM operation for packet processing

Takashi Sakamoto o-takashi at sakamocchi.jp
Wed Jun 7 02:38:04 CEST 2017


Hi,

In recent work for ALSA PCM core, driver-side implementation for
'struct snd_pcm_ops.ack'  is called when appl_ptr in intermediate PCM
buffer is changed, except for a case that mapped page frame is used
for the buffer and userspace applications doesn't voluntarily notify
the change.

In packet-oriented drivers, this callback is useful for the timing to
queue packets for data transmission with burstness. If things works well,
reduction of latency between PCM frame queueing and actual data
transmission. This patchset is for the purpose, additionally including
minor code refactoring. 

Major use case of ALSA PCM interface is memory mapped I/O and this
patchset adds no advantage in this case due to design of the .ack
callback, as I described.

Takashi Sakamoto (2):
  ALSA: firewire: process packets in 'struct snd_pcm_ops.ack' callback
  ALSA: fireface: constify ALSA specific operations

 sound/firewire/amdtp-stream.c            | 19 ++++++++++
 sound/firewire/amdtp-stream.h            |  1 +
 sound/firewire/bebob/bebob_pcm.c         | 16 +++++++++
 sound/firewire/dice/dice-pcm.c           | 18 ++++++++++
 sound/firewire/digi00x/digi00x-pcm.c     | 16 +++++++++
 sound/firewire/fireface/ff-midi.c        | 22 ++++++------
 sound/firewire/fireface/ff-pcm.c         | 62 +++++++++++++++++++-------------
 sound/firewire/fireworks/fireworks_pcm.c | 16 +++++++++
 sound/firewire/motu/motu-pcm.c           | 16 +++++++++
 sound/firewire/oxfw/oxfw-pcm.c           | 16 +++++++++
 sound/firewire/tascam/tascam-pcm.c       | 16 +++++++++
 11 files changed, 182 insertions(+), 36 deletions(-)

-- 
2.11.0



More information about the Alsa-devel mailing list