mbox series

[0/6] ALSA: fireface: add support for Fireface 802 and UFX

Message ID 20200510074301.116224-1-o-takashi@sakamocchi.jp (mailing list archive)
Headers show
Series ALSA: fireface: add support for Fireface 802 and UFX | expand

Message

Takashi Sakamoto May 10, 2020, 7:42 a.m. UTC
Hi,

Fireface 802 was shipped by RME GmbH in 2014. This model is one of latter
models of Fireface series and support both of IEEE 1394 bus and USB.
Furthermore, it supports two types of remote control unit (Basic
Remote and Advanced Remote Control) with by 9pin mini-din connector.

This patchset adds support for this model as a part of devices available
by ALSA firewire stack (therefore it's not a device of USB). Userspace
applications can transfer PCM frames and MIDI messages via ALSA PCM
and Rawmidi interfaces.

Fireface UFX is also supported since its internal design is almost the
same as Fireface 802 in a point of packet communication. The support is
untested and the status is 'request for test'.

As well as the other models of RME Fireface series, audio output
includes periodical hissing noise. This is not solved yet.

Furthermore, capture of MIDI messages requires assist of userspace
application. For the detail, please read comment in
'sound/firewire/fireface/ff-protocol-latter.c'.

Regards

Takashi Sakamoto (6):
  ALSA: fireface: fix configuration error for nominal sampling transfer
    frequency
  ALSA: fireface: start IR context immediately
  ALSA: fireface: code refactoring to add enumeration constants for
    model identification
  ALSA: fireface: code refactoring for name of sound card
  ALSA: fireface: add support for RME FireFace 802
  ALSA: fireface: add support for Fireface UFX (untested)

 sound/firewire/Kconfig                       |  2 +
 sound/firewire/fireface/ff-protocol-latter.c | 58 +++++++++++++------
 sound/firewire/fireface/ff-stream.c          | 10 +---
 sound/firewire/fireface/ff.c                 | 61 +++++++++++++++++---
 sound/firewire/fireface/ff.h                 | 11 +++-
 5 files changed, 103 insertions(+), 39 deletions(-)

Comments

Takashi Iwai May 10, 2020, 10:05 a.m. UTC | #1
On Sun, 10 May 2020 09:42:55 +0200,
Takashi Sakamoto wrote:
> 
> Hi,
> 
> Fireface 802 was shipped by RME GmbH in 2014. This model is one of latter
> models of Fireface series and support both of IEEE 1394 bus and USB.
> Furthermore, it supports two types of remote control unit (Basic
> Remote and Advanced Remote Control) with by 9pin mini-din connector.
> 
> This patchset adds support for this model as a part of devices available
> by ALSA firewire stack (therefore it's not a device of USB). Userspace
> applications can transfer PCM frames and MIDI messages via ALSA PCM
> and Rawmidi interfaces.
> 
> Fireface UFX is also supported since its internal design is almost the
> same as Fireface 802 in a point of packet communication. The support is
> untested and the status is 'request for test'.
> 
> As well as the other models of RME Fireface series, audio output
> includes periodical hissing noise. This is not solved yet.
> 
> Furthermore, capture of MIDI messages requires assist of userspace
> application. For the detail, please read comment in
> 'sound/firewire/fireface/ff-protocol-latter.c'.
> 
> Regards
> 
> Takashi Sakamoto (6):
>   ALSA: fireface: fix configuration error for nominal sampling transfer
>     frequency
>   ALSA: fireface: start IR context immediately
>   ALSA: fireface: code refactoring to add enumeration constants for
>     model identification
>   ALSA: fireface: code refactoring for name of sound card
>   ALSA: fireface: add support for RME FireFace 802
>   ALSA: fireface: add support for Fireface UFX (untested)

Would you like me merging the patches although at least one of them is
marked untested?  The code changes look reasonable, so I have no
problem to applying patches themselves to 5.8 branch.


thanks,

Takashi
Takashi Sakamoto May 10, 2020, 10:17 a.m. UTC | #2
Hi,

On Sun, May 10, 2020 at 12:05:58PM +0200, Takashi Iwai wrote:
> On Sun, 10 May 2020 09:42:55 +0200,
> Takashi Sakamoto wrote:
> > 
> > Hi,
> > 
> > Fireface 802 was shipped by RME GmbH in 2014. This model is one of latter
> > models of Fireface series and support both of IEEE 1394 bus and USB.
> > Furthermore, it supports two types of remote control unit (Basic
> > Remote and Advanced Remote Control) with by 9pin mini-din connector.
> > 
> > This patchset adds support for this model as a part of devices available
> > by ALSA firewire stack (therefore it's not a device of USB). Userspace
> > applications can transfer PCM frames and MIDI messages via ALSA PCM
> > and Rawmidi interfaces.
> > 
> > Fireface UFX is also supported since its internal design is almost the
> > same as Fireface 802 in a point of packet communication. The support is
> > untested and the status is 'request for test'.
> > 
> > As well as the other models of RME Fireface series, audio output
> > includes periodical hissing noise. This is not solved yet.
> > 
> > Furthermore, capture of MIDI messages requires assist of userspace
> > application. For the detail, please read comment in
> > 'sound/firewire/fireface/ff-protocol-latter.c'.
> > 
> > Regards
> > 
> > Takashi Sakamoto (6):
> >   ALSA: fireface: fix configuration error for nominal sampling transfer
> >     frequency
> >   ALSA: fireface: start IR context immediately
> >   ALSA: fireface: code refactoring to add enumeration constants for
> >     model identification
> >   ALSA: fireface: code refactoring for name of sound card
> >   ALSA: fireface: add support for RME FireFace 802
> >   ALSA: fireface: add support for Fireface UFX (untested)
> 
> Would you like me merging the patches although at least one of them is
> marked untested?  The code changes look reasonable, so I have no
> problem to applying patches themselves to 5.8 branch.

I'd like you to apply them.

For development I have a theory that untested code should not be merged
(yep, as much as possible). However, in the case, I judged that the
untested code might work or slightly work since there seems to be few
differences between 802 and UFX in a view of vendor-dependent protocol
relevant to packet streaming.

(I guess that the only difference is the return value of LATTER_SYNC_STATUS
register; bit-swap case or not.) 

Even if it doesn't work well, it's convenient to me to leave a chance to
get any feedback from the users.


Thanks

Takashi Sakamoto
Takashi Iwai May 10, 2020, 5:28 p.m. UTC | #3
On Sun, 10 May 2020 12:17:41 +0200,
Takashi Sakamoto wrote:
> 
> Hi,
> 
> On Sun, May 10, 2020 at 12:05:58PM +0200, Takashi Iwai wrote:
> > On Sun, 10 May 2020 09:42:55 +0200,
> > Takashi Sakamoto wrote:
> > > 
> > > Hi,
> > > 
> > > Fireface 802 was shipped by RME GmbH in 2014. This model is one of latter
> > > models of Fireface series and support both of IEEE 1394 bus and USB.
> > > Furthermore, it supports two types of remote control unit (Basic
> > > Remote and Advanced Remote Control) with by 9pin mini-din connector.
> > > 
> > > This patchset adds support for this model as a part of devices available
> > > by ALSA firewire stack (therefore it's not a device of USB). Userspace
> > > applications can transfer PCM frames and MIDI messages via ALSA PCM
> > > and Rawmidi interfaces.
> > > 
> > > Fireface UFX is also supported since its internal design is almost the
> > > same as Fireface 802 in a point of packet communication. The support is
> > > untested and the status is 'request for test'.
> > > 
> > > As well as the other models of RME Fireface series, audio output
> > > includes periodical hissing noise. This is not solved yet.
> > > 
> > > Furthermore, capture of MIDI messages requires assist of userspace
> > > application. For the detail, please read comment in
> > > 'sound/firewire/fireface/ff-protocol-latter.c'.
> > > 
> > > Regards
> > > 
> > > Takashi Sakamoto (6):
> > >   ALSA: fireface: fix configuration error for nominal sampling transfer
> > >     frequency
> > >   ALSA: fireface: start IR context immediately
> > >   ALSA: fireface: code refactoring to add enumeration constants for
> > >     model identification
> > >   ALSA: fireface: code refactoring for name of sound card
> > >   ALSA: fireface: add support for RME FireFace 802
> > >   ALSA: fireface: add support for Fireface UFX (untested)
> > 
> > Would you like me merging the patches although at least one of them is
> > marked untested?  The code changes look reasonable, so I have no
> > problem to applying patches themselves to 5.8 branch.
> 
> I'd like you to apply them.
> 
> For development I have a theory that untested code should not be merged
> (yep, as much as possible). However, in the case, I judged that the
> untested code might work or slightly work since there seems to be few
> differences between 802 and UFX in a view of vendor-dependent protocol
> relevant to packet streaming.
> 
> (I guess that the only difference is the return value of LATTER_SYNC_STATUS
> register; bit-swap case or not.) 
> 
> Even if it doesn't work well, it's convenient to me to leave a chance to
> get any feedback from the users.

OK, now applied all six patches.


thanks,

Takashi