On Sun, Dec 06, 2015 at 10:23:41PM +0900, Takashi Sakamoto wrote:
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.
The number which FFADO writes to this register is not invalid: it is in fact the same number which is used in drivers on other operating systems (obtained from protocol analysis).
I think it better that FFADO developers fixes the bug as long as they doesn't support MIDI functionality.
As above, this is not exactly a bug because other systems set that register to the value which FFADO uses. In the interests of interoperability I'm willing to remove manipulation of this register from FFADO, but I suggest that in time the ALSA driver should consider setting this register as is done under other systems or else we could introduce subtle behavioural differences down the track - at least until such time as we understand what the high part of that register does.
jonathan