mbox series

[00/17] firewire: share the size of period for both playback and capture PCM substreams

Message ID 20191007110532.30270-1-o-takashi@sakamocchi.jp (mailing list archive)
Headers show
Series firewire: share the size of period for both playback and capture PCM substreams | expand

Message

Takashi Sakamoto Oct. 7, 2019, 11:05 a.m. UTC
Hi,

This patchset is a preparation for enhancement of AMDTP domain that I
addressed to my previous patchset:
https://mailman.alsa-project.org/pipermail/alsa-devel/2019-July/152430.html

When queued packets for several IT/IR contexts in the same domain are
handled in hardware IRQ context for an IT context, the number of events
in the packets are mostly the same for each of contexts. This means that
the size of period for PCM substreams associated to the contexts is also
the same.

At present, PCM substreams for the contexts can have own size of period.
This commit adds a member into AMDTP domain to share the size of period
for PCM substreams on AMDTP streams in the same domain.

This patchset includes optimization to detect whether isochronous
resources for AMDTP streams are reserved or not in pcm.open callback.

Takashi Sakamoto (17):
  firewire-lib: add a member into AMDTP domain for events per period
  bebob: register the size of PCM period to AMDTP domain
  fireworks: register the size of PCM period to AMDTP domain
  oxfw: register the size of PCM period to AMDTP domain
  dice: register the size of PCM period to AMDTP domain
  firewire-digi00x: register the size of PCM period to AMDTP domain
  firewire-tascam: register the size of PCM period to AMDTP domain
  firewire-motu: register the size of PCM period to AMDTP domain
  fireface: register the size of PCM period to AMDTP domain
  bebob: use the same size of period for PCM substream in AMDTP streams
  fireworks: use the same size of period for PCM substream in AMDTP
    streams
  oxfw: use the same size of period for PCM substream in AMDTP streams
  dice: use the same size of period for PCM substream in AMDTP streams
  firewire-digi00x: use the same size of period for PCM substream in
    AMDTP streams
  firewire-tascam: use the same size of period for PCM substream in
    AMDTP streams
  firewire-motu: use the same size of period for PCM substream in AMDTP
    streams
  fireface: use the same size of period for PCM substreams in AMDTP
    streams

 sound/firewire/amdtp-stream.c               |  4 ++
 sound/firewire/amdtp-stream.h               | 10 +++++
 sound/firewire/bebob/bebob.h                |  3 +-
 sound/firewire/bebob/bebob_midi.c           |  2 +-
 sound/firewire/bebob/bebob_pcm.c            | 43 ++++++++++++------
 sound/firewire/bebob/bebob_stream.c         | 11 ++++-
 sound/firewire/dice/dice-midi.c             |  2 +-
 sound/firewire/dice/dice-pcm.c              | 50 +++++++++++++++------
 sound/firewire/dice/dice-stream.c           |  8 +++-
 sound/firewire/dice/dice.h                  |  3 +-
 sound/firewire/digi00x/digi00x-midi.c       |  2 +-
 sound/firewire/digi00x/digi00x-pcm.c        | 39 ++++++++++++----
 sound/firewire/digi00x/digi00x-stream.c     | 11 ++++-
 sound/firewire/digi00x/digi00x.h            |  3 +-
 sound/firewire/fireface/ff-pcm.c            | 32 ++++++++++---
 sound/firewire/fireface/ff-stream.c         | 11 ++++-
 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    | 43 +++++++++++++-----
 sound/firewire/fireworks/fireworks_stream.c | 11 ++++-
 sound/firewire/motu/motu-midi.c             |  2 +-
 sound/firewire/motu/motu-pcm.c              | 33 ++++++++++----
 sound/firewire/motu/motu-stream.c           | 11 ++++-
 sound/firewire/motu/motu.h                  |  3 +-
 sound/firewire/oxfw/oxfw-midi.c             |  4 +-
 sound/firewire/oxfw/oxfw-pcm.c              | 45 +++++++++++++------
 sound/firewire/oxfw/oxfw-stream.c           | 12 ++++-
 sound/firewire/oxfw/oxfw.h                  |  3 +-
 sound/firewire/tascam/tascam-pcm.c          | 38 ++++++++++++----
 sound/firewire/tascam/tascam-stream.c       | 11 ++++-
 sound/firewire/tascam/tascam.h              |  3 +-
 32 files changed, 354 insertions(+), 107 deletions(-)

Comments

Takashi Iwai Oct. 17, 2019, 7:41 a.m. UTC | #1
On Mon, 07 Oct 2019 13:05:15 +0200,
Takashi Sakamoto wrote:
> 
> Hi,
> 
> This patchset is a preparation for enhancement of AMDTP domain that I
> addressed to my previous patchset:
> https://mailman.alsa-project.org/pipermail/alsa-devel/2019-July/152430.html
> 
> When queued packets for several IT/IR contexts in the same domain are
> handled in hardware IRQ context for an IT context, the number of events
> in the packets are mostly the same for each of contexts. This means that
> the size of period for PCM substreams associated to the contexts is also
> the same.
> 
> At present, PCM substreams for the contexts can have own size of period.
> This commit adds a member into AMDTP domain to share the size of period
> for PCM substreams on AMDTP streams in the same domain.
> 
> This patchset includes optimization to detect whether isochronous
> resources for AMDTP streams are reserved or not in pcm.open callback.
> 
> Takashi Sakamoto (17):
>   firewire-lib: add a member into AMDTP domain for events per period
>   bebob: register the size of PCM period to AMDTP domain
>   fireworks: register the size of PCM period to AMDTP domain
>   oxfw: register the size of PCM period to AMDTP domain
>   dice: register the size of PCM period to AMDTP domain
>   firewire-digi00x: register the size of PCM period to AMDTP domain
>   firewire-tascam: register the size of PCM period to AMDTP domain
>   firewire-motu: register the size of PCM period to AMDTP domain
>   fireface: register the size of PCM period to AMDTP domain
>   bebob: use the same size of period for PCM substream in AMDTP streams
>   fireworks: use the same size of period for PCM substream in AMDTP
>     streams
>   oxfw: use the same size of period for PCM substream in AMDTP streams
>   dice: use the same size of period for PCM substream in AMDTP streams
>   firewire-digi00x: use the same size of period for PCM substream in
>     AMDTP streams
>   firewire-tascam: use the same size of period for PCM substream in
>     AMDTP streams
>   firewire-motu: use the same size of period for PCM substream in AMDTP
>     streams
>   fireface: use the same size of period for PCM substreams in AMDTP
>     streams

Applied all 17 patches now (with the correction of subject prefix).


thanks,

Takashi