Hi,
This patchset is to add a new driver for RME Fireface series. This is still working in progress but currently the new driver support MIDI functionality.
Unfortunately, ffado library can disturb this functionality. In RME::Device::init_hardware() function, the library sends a write transaction to 0x0000801003f4 with invalid value as higher part of address in IEEE 1212 or ISO/IEC 13213. This is a worst case I describe in patch 03.
A workaround is to load this module after running ffado library. This module sends write transactions with valid values and regain MIDI functionality.
I think it better that FFADO developers fixes the bug as long as they doesn't support MIDI functionality.
Takashi Sakamoto (3): fireface: add skeleton for RME Fireface series fireface: add transaction support fireface: add support for MIDI functionality
sound/firewire/Kconfig | 7 + sound/firewire/Makefile | 1 + sound/firewire/fireface/Makefile | 2 + sound/firewire/fireface/fireface-midi.c | 129 ++++++++ sound/firewire/fireface/fireface-transaction.c | 388 +++++++++++++++++++++++++ sound/firewire/fireface/fireface.c | 151 ++++++++++ sound/firewire/fireface/fireface.h | 73 +++++ 7 files changed, 751 insertions(+) create mode 100644 sound/firewire/fireface/Makefile create mode 100644 sound/firewire/fireface/fireface-midi.c create mode 100644 sound/firewire/fireface/fireface-transaction.c create mode 100644 sound/firewire/fireface/fireface.c create mode 100644 sound/firewire/fireface/fireface.h