[PATCH 00/11] ALSA: firewire-motu: add ioctl commands to retrieve information in messages delivered by isoc packet

Takashi Sakamoto o-takashi at sakamocchi.jp
Fri Oct 15 10:08:15 CEST 2021


Hi,

The purpose of this patchset is to add message parser to ALSA
firewire-motu driver so that userspace applications can read information
in message delivered by isochronous packet as well as PCM frames.
The message includes information about hardware meter and user action
over hardware component such as knob, and MIDI message bytes.

Models in MOTU FireWire series can be categorized to 4 groups in regard
of message mechanism:

Group 1. 828 and 896
 * quadlet message to registered destination address
Group 2. 828mk2, 896hd, Traveler, 8 pre, Ultralite, 4 pre, and Audio Express
 * quadlet message to registered destination address
 * message delivered by isochronous packet
Group 3. 828mk3, 896mk3, Ultralite mk3, Traveler mk3, and Track 16
 * quadlet message to registered destination address
 * message delivered by isochronous packet
 * block message to registered destination address, including command
Group 4. V3HD/V4HD
 * quadlet message to registered destination address
 * block message to registered destination address

The patchset is for message delivered by isochronous packet in group 2
and 3. In Group 2, the message includes information of hardware meter,
information of user action over hardware component. The model in Group
2 is called as 'register DSP' in the patchset since parameters of DSP
can be configured by asynchronous transaction for register access. In
Group 3, the message includes information of hardware meter only. The
model in Group 3 is called as 'command DSP' since software and device
communicate with commands transferred by asynchronous transaction in
regard of DSP parameters. Two types of message parser is going to be
added so that the driver caches images for the information. The cache
is available for userspace application by ioctl commands newly introduced.

I note that no control element is added for the hardware meters and user
actions. It's expected for userspace application to retrieve and parse the
information of image then operate for user-defined control element set.

Takashi Sakamoto (11):
  ALSA: firewire-motu: add message parser to gather meter information in
    register DSP model
  ALSA: firewire-motu: add message parser for meter information in
    command DSP model
  ALSA: firewire-motu: add ioctl command to read cached hardware meter
  ALSA: firewire-motu: parse messages for mixer source parameters in
    register-DSP model
  ALSA: firewire-motu: parse messages for mixer output parameters in
    register DSP model
  ALSA: firewire-motu: parse messages for output parameters in register
    DSP model
  ALSA: firewire-motu: parse messages for line input parameters in
    register DSP model
  ALSA: firewire-motu: parse messages for input parameters in register
    DSP model
  ALSA: firewire-motu: add ioctl command to read cached DSP parameters
  ALSA: firewire-motu: queue event for parameter change in register DSP
    model
  ALSA: firewire-motu: notify event for parameter change in register DSP
    model

 include/uapi/sound/firewire.h                 | 141 ++++++
 sound/firewire/motu/Makefile                  |   3 +-
 sound/firewire/motu/amdtp-motu.c              |   9 +
 .../motu/motu-command-dsp-message-parser.c    | 178 ++++++++
 sound/firewire/motu/motu-hwdep.c              | 113 ++++-
 sound/firewire/motu/motu-protocol-v2.c        |  14 +-
 sound/firewire/motu/motu-protocol-v3.c        |  14 +-
 .../motu/motu-register-dsp-message-parser.c   | 416 ++++++++++++++++++
 sound/firewire/motu/motu-stream.c             |  10 +
 sound/firewire/motu/motu.c                    |  10 +
 sound/firewire/motu/motu.h                    |  23 +
 11 files changed, 911 insertions(+), 20 deletions(-)
 create mode 100644 sound/firewire/motu/motu-command-dsp-message-parser.c
 create mode 100644 sound/firewire/motu/motu-register-dsp-message-parser.c

-- 
2.30.2



More information about the Alsa-devel mailing list