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