[alsa-devel] [PATCH 00/12] ALSA: firewire: configure interval of hw IRQ via ALSA PCM interface

Takashi Sakamoto o-takashi at sakamocchi.jp
Thu Oct 17 17:54:12 CEST 2019


Hi,

ALSA IEC 61883-1/6 packet streaming engine controls OHCI 1394 controller
to generate hardware IRQ for fixed number (=16) of isoc packets.
Additionally, the size of packet buffer is fixed for triple of interval
of hardware IRQ (=48).

This commit allows ALSA PCM applications to configure these parameters
by ALSA PCM interface. As a result, the size of PCM period is available
in the range between 125 usec and 64 msec (or 32 msec). The hardware
IRQ is scheduled for isoc packet which includes event across PCM period
boundary.

Takashi Sakamoto (12):
  ALSA: firewire-lib: use variable size of queue for isoc packets
    instead of fixed size
  ALSA: bebob: share PCM buffer size for both direction
  ALSA: fireworks: share PCM buffer size for both direction
  ALSA: oxfw: share PCM buffer size for both direction
  ALSA: dice: share PCM buffer size for both direction
  ALSA: firewire-digi00x: share PCM buffer size for both direction
  ALSA: firewire-tascam: share PCM buffer size for both direction
  ALSA: firewire-motu: share PCM buffer size for both direction
  ALSA: fireface: share PCM buffer size for both direction
  ALSA: firewire-lib: schedule hardware IRQ according to the size of PCM
    period
  ALSA: firewire-lib: tune the maximum available size of PCM period
  ALSA: firewire-lib: tune the minimum available size of PCM period

 sound/firewire/amdtp-stream.c               | 154 ++++++++++++++------
 sound/firewire/amdtp-stream.h               |   9 +-
 sound/firewire/bebob/bebob.h                |   3 +-
 sound/firewire/bebob/bebob_midi.c           |   2 +-
 sound/firewire/bebob/bebob_pcm.c            |  12 +-
 sound/firewire/bebob/bebob_stream.c         |   5 +-
 sound/firewire/dice/dice-midi.c             |   2 +-
 sound/firewire/dice/dice-pcm.c              |  20 ++-
 sound/firewire/dice/dice-stream.c           |   5 +-
 sound/firewire/dice/dice.h                  |   3 +-
 sound/firewire/digi00x/digi00x-midi.c       |   2 +-
 sound/firewire/digi00x/digi00x-pcm.c        |  12 +-
 sound/firewire/digi00x/digi00x-stream.c     |   5 +-
 sound/firewire/digi00x/digi00x.h            |   3 +-
 sound/firewire/fireface/ff-pcm.c            |  13 +-
 sound/firewire/fireface/ff-stream.c         |   5 +-
 sound/firewire/fireface/ff.h                |   3 +-
 sound/firewire/fireworks/fireworks.h        |   3 +-
 sound/firewire/fireworks/fireworks_midi.c   |   2 +-
 sound/firewire/fireworks/fireworks_pcm.c    |  12 +-
 sound/firewire/fireworks/fireworks_stream.c |   5 +-
 sound/firewire/motu/motu-midi.c             |   2 +-
 sound/firewire/motu/motu-pcm.c              |  12 +-
 sound/firewire/motu/motu-stream.c           |   5 +-
 sound/firewire/motu/motu.h                  |   3 +-
 sound/firewire/oxfw/oxfw-midi.c             |   4 +-
 sound/firewire/oxfw/oxfw-pcm.c              |  17 ++-
 sound/firewire/oxfw/oxfw-stream.c           |   5 +-
 sound/firewire/oxfw/oxfw.h                  |   3 +-
 sound/firewire/tascam/tascam-pcm.c          |  12 +-
 sound/firewire/tascam/tascam-stream.c       |   5 +-
 sound/firewire/tascam/tascam.h              |   3 +-
 32 files changed, 266 insertions(+), 85 deletions(-)

-- 
2.20.1



More information about the Alsa-devel mailing list