From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: tiwai@suse.de
Cc: ffado-devel@lists.sourceforge.net, alsa-devel@alsa-project.org,
clemens@ladisch.de
Subject: [PATCH 00/11] ALSA: firewire-motu: add ioctl commands to retrieve information in messages delivered by isoc packet
Date: Fri, 15 Oct 2021 17:08:15 +0900 [thread overview]
Message-ID: <20211015080826.34847-1-o-takashi@sakamocchi.jp> (raw)
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
next reply other threads:[~2021-10-15 8:09 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-15 8:08 Takashi Sakamoto [this message]
2021-10-15 8:08 ` [PATCH 01/11] ALSA: firewire-motu: add message parser to gather meter information in register DSP model Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 02/11] ALSA: firewire-motu: add message parser for meter information in command " Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 03/11] ALSA: firewire-motu: add ioctl command to read cached hardware meter Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 04/11] ALSA: firewire-motu: parse messages for mixer source parameters in register-DSP model Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 05/11] ALSA: firewire-motu: parse messages for mixer output parameters in register DSP model Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 06/11] ALSA: firewire-motu: parse messages for " Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 07/11] ALSA: firewire-motu: parse messages for line input " Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 08/11] ALSA: firewire-motu: parse messages for " Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 09/11] ALSA: firewire-motu: add ioctl command to read cached " Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 10/11] ALSA: firewire-motu: queue event for parameter change " Takashi Sakamoto
2021-10-15 8:08 ` [PATCH 11/11] ALSA: firewire-motu: notify " Takashi Sakamoto
2021-10-15 15:54 ` [PATCH 00/11] ALSA: firewire-motu: add ioctl commands to retrieve information in messages delivered by isoc packet Takashi Iwai
2021-10-17 1:22 ` Takashi Sakamoto
2021-10-17 7:02 ` Takashi Iwai
2021-10-17 9:25 ` Takashi Sakamoto
2021-10-18 8:05 ` Takashi Iwai
2021-10-18 12:46 ` Takashi Sakamoto
2021-10-18 12:57 ` Takashi Iwai
2021-10-20 7:14 ` Takashi Sakamoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211015080826.34847-1-o-takashi@sakamocchi.jp \
--to=o-takashi@sakamocchi.jp \
--cc=alsa-devel@alsa-project.org \
--cc=clemens@ladisch.de \
--cc=ffado-devel@lists.sourceforge.net \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).