Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

motu: add service program for devices in MOTU FireWire series #13

Merged
merged 27 commits into from
Aug 31, 2020

Conversation

takaswie
Copy link
Member

This patchset adds service program for devices in MOTU FireWire series.

The devices in MOTU FireWire series are categorized to three generations. The patchset supports the devices in second and third generation. The added service program allows ALSA control applications to operate for device features which are controlled by MOTU Audio Console, therefore the feature of CueMix is not supported yet.

@takaswie takaswie added the enhancement New feature or request label Aug 30, 2020
@takaswie takaswie requested a review from a team August 30, 2020 08:31
@takaswie takaswie self-assigned this Aug 30, 2020
@takaswie takaswie force-pushed the topic/motu-audio-console branch 2 times, most recently from 10140ed to 97748fc Compare August 30, 2020 08:39
Mark of the unicorn (MOTU) had produced FireWire series with specific
protocol. ALSA firewire-motu driver supports them in a point of packet
streaming. On the other hand, no application has been developed for I/O
routing and input monitor.

This commit adds an executable, snd-firewire-motu-ctl-service, to
dispatch events from ALSA control applications to control the I/O routing
and input monitor. At present, this commit adds a program to run event
loop, to be extend in future commits.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
MOTU devices have quirk in its unit directory of configuration ROM. The
version field is used for model identifier and the model field is used
for firmware version.

This commit adds a parser of configuration ROM to detect model and
version.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds card_cntr structure and opens ALSA control character device.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Motu FireWire series includes many types of model.

This commit adds model layer to handle them.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
When userspace applications operates control element, the operation is
notified to listeners as event.

This commit handles the event.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Devices in MOTU FireWire series supports specific protocol for
operation.

This commit adds the implementation of common operation.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
The third generation of devices in MOTU FireWire series supports
specific protocol to operate for sampling clock, source of sampling
clock, source of main out, source of return, and the type of input
and output signal on digital optical interface.

This commit adds support for the third generation protocol.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
…n generation 3

This commit adds implementation of control element for sampling rate and
clock source.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
… generation 3

This commit adds implementation of control element for port configuration.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU UltraLite mk3.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU 4pre.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU AudioExpress. Unfortunately,
the firmware of AudioExpress often return invalid acknowledge
code for request transaction. Linux driver for 1394 OHCI
controller reports 'unsolicited response' for the transaction
and userspace application receives 'send error' result.

This commit also changes workaround to check target register
so that it has the same value in the transaction.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU 828mk3.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
The second generation of devices in MOTU FireWire series supports
specific protocol to operate for sampling clock, source of sampling
clock, target of main out knob, and the type of input and output
signal on digital optical interface.

This commit adds support for the second generation protocol.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
…n generation 2

This commit adds implementation of control element for sampling rate and
clock source.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
… generation 2

This commit adds implementation of control element for port configuration.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU UltraLite.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU Traveler.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU 8pre.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit adds support for MOTU 828mk2.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit handles notification from MOTU UltraLite mk3. The notification
is emitted at below operations:

 * Change of clock source
 * Change of sampling rate
 * Change of source signal for phone output
 * Change of source signal for master output
 * Change of source signal for return channel

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit handles notification from MOTU UltraLite mk3. The notification
is emitted at below operations:

 * Change of clock source
 * Change of sampling rate
 * Change of source signal for phone output
 * Change of source signal for master output
 * Change of source signal for return channel

The notification is emitted regardless of software/hardware change.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit handles notification from MOTU 828mk3. The notification is
emitted at below operations:

 * Change of clock source
 * Change of sampling rate
 * Change of source signal for phone output
 * Change of source signal for master output
 * Change of source signal for return channel
 * Change of the type of signal for digital input and output interface

The notification is emitted regardless of software/hardware change.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit handles notification from MOTU UltraLite. The notification is
emitted at below operations:

 * Change of source signal for phone output by hardware
 * Change of target for main knob by hardware

The notification is emitted in hardware change only.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit handles notification from MOTU Traveler. The notification is
emitted at below operations:

 * The synchronization mode of word output signal in BNC interface by
 * hardware
 * The type of input and output signal in digital optical interface by
   hardware

The notification is emitted in hardware change only.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit handles notification from MOTU 828mkII. The notification is
emitted at below operations:

 * Change of source signal for phone output by hardware
 * The synchronization mode of word output signal in BNC interface by
   hardware

The notification is emitted in hardware change only.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
MOTU devices transfer notification to report some operations in the
device.

This commit handles the notification.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
@takaswie takaswie merged commit b783ad0 into master Aug 31, 2020
@takaswie takaswie deleted the topic/motu-audio-console branch August 31, 2020 05:36
@takaswie
Copy link
Member Author

Merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant