[alsa-devel] [PATCH 0/8] ALSA: fireface: add support for Fireface 800 with MIDI functionality only

Takashi Sakamoto o-takashi at sakamocchi.jp
Tue Dec 11 11:17:27 CET 2018


Hi,

In 2004, RME GmbH shipped Fireface 800 as a flagship model of its
Fireface series. This model consists of some chips:
 - TI TSB81BA3D for physical layer on cable environment of EEE 1394 bus
 - TI TSB82AA2 for link layer for 1394 OHCI bus bridge to PCI bus
 - Xilinx Spartan-3 FPGA XC3S400
 - Xilinx High-Performance CPLD XC9572XL

A remarkable point of this model is that its physical/link layer
support S800 (800Mbps) mode of IEEE 1394b. Within devices of audio
and music unit on IEEE 1394 bus, this is an unique model to support it,
as long as I know.

This commit adds support for the model with its MIDI functionality only.
The functionality is quite similar to the one of Fireface 400. In patch
01-06, some codes specific to Fireface 400 are arranged to be shared by
both models.

On the other hand, there're some differences. The largest difference is
that the model has no register to switch enabling/disabling tx
asynchronous transactions for MIDI messages. Therefore the functionality
work well without any assist by userspace.

For this work, I use v2.77 firmware and v3.1.24 driver shipped by RME
GmbH. If finding some differences between older firmware, please report
it with enough information for debug. To help users for test, I prepare
a remote branch including these patches. This can be backport to Linux
v4.17 or later.
https://github.com/takaswie/snd-firewire-improve/tree/topic/ff800-midi

Takashi Sakamoto (8):
  ALSA: fireface: share some registers for status of clock
    synchronization
  ALSA: fireface: share status and configuration dump
  ALSA: fireface: share helper function to get current sampling rate and
    clock source
  ALSA: fireface: add support for second optical interface for ADAT
    stream
  ALSA: fireface: share register for async transaction of MIDI messages
  ALSA: fireface: add driver data for register for MIDI high address
  ALSA: fireface: localize a handler for MIDI messages on tx transaction
  ALSA: fireface: add support for Fireface 800 with MIDI functionality
    only

 sound/firewire/Kconfig                      |   1 +
 sound/firewire/fireface/Makefile            |   3 +-
 sound/firewire/fireface/ff-pcm.c            |   2 +-
 sound/firewire/fireface/ff-proc.c           | 193 +++++++++++++-
 sound/firewire/fireface/ff-protocol-ff400.c | 282 ++------------------
 sound/firewire/fireface/ff-protocol-ff800.c |  27 ++
 sound/firewire/fireface/ff-stream.c         |   2 +-
 sound/firewire/fireface/ff-transaction.c    | 157 ++++++-----
 sound/firewire/fireface/ff.c                |  54 +++-
 sound/firewire/fireface/ff.h                |  31 ++-
 10 files changed, 406 insertions(+), 346 deletions(-)
 create mode 100644 sound/firewire/fireface/ff-protocol-ff800.c

-- 
2.19.1



More information about the Alsa-devel mailing list