mbox series

[0/6] ALSA: fireface: support knob control event for Fireface 400

Message ID 20230112120954.500692-1-o-takashi@sakamocchi.jp
Headers show
Series ALSA: fireface: support knob control event for Fireface 400 | expand

Message

Takashi Sakamoto Jan. 12, 2023, 12:09 p.m. UTC
Hi,

Fireface 400 uses asynchronous transaction mechanism to deliver event of
hardware knob control as well as received MIDI messages. Current
implementation doesn't distinguish them, thus all arrived messages are
processed for MIDI message.

This patchset adds the parser to distinguish them, and deliver knob
control event to user space via ALSA hwdep character device. The
implementation works well as long as I tested with the patches for
libhitaki library:

https://github.com/alsa-project/libhitaki/tree/topic/ff/400-msg

I note that Fireface 400 transmits no asynchronous transaction when it
is not configured by block write transaction to offset 0x000080100514,
which turn off HOST led from red.

Takashi Sakamoto (6):
  ALSA: fireface: rename callback functions
  ALSA: fireface: pick up time stamp for request subaction of asynchronous
    transaction
  ALSA: fireface: add helper function to parse MIDI messages transmitted by
    Fireface 400
  ALSA: fireface: update UAPI for data of knob control
  ALSA: fireface: add local framework to message parser
  ALSA: fireface: implement message parser for Fireface 400

 include/uapi/sound/firewire.h                |  24 +++
 sound/firewire/fireface/ff-hwdep.c           |  41 ++--
 sound/firewire/fireface/ff-protocol-former.c | 186 +++++++++++++++----
 sound/firewire/fireface/ff-protocol-latter.c |   6 +-
 sound/firewire/fireface/ff-transaction.c     |  17 +-
 sound/firewire/fireface/ff.c                 |  10 +
 sound/firewire/fireface/ff.h                 |   9 +-
 7 files changed, 239 insertions(+), 54 deletions(-)

Comments

Takashi Iwai Jan. 13, 2023, 8:57 a.m. UTC | #1
On Thu, 12 Jan 2023 13:09:48 +0100,
Takashi Sakamoto wrote:
> 
> Hi,
> 
> Fireface 400 uses asynchronous transaction mechanism to deliver event of
> hardware knob control as well as received MIDI messages. Current
> implementation doesn't distinguish them, thus all arrived messages are
> processed for MIDI message.
> 
> This patchset adds the parser to distinguish them, and deliver knob
> control event to user space via ALSA hwdep character device. The
> implementation works well as long as I tested with the patches for
> libhitaki library:
> 
> https://github.com/alsa-project/libhitaki/tree/topic/ff/400-msg
> 
> I note that Fireface 400 transmits no asynchronous transaction when it
> is not configured by block write transaction to offset 0x000080100514,
> which turn off HOST led from red.
> 
> Takashi Sakamoto (6):
>   ALSA: fireface: rename callback functions
>   ALSA: fireface: pick up time stamp for request subaction of asynchronous
>     transaction
>   ALSA: fireface: add helper function to parse MIDI messages transmitted by
>     Fireface 400
>   ALSA: fireface: update UAPI for data of knob control
>   ALSA: fireface: add local framework to message parser
>   ALSA: fireface: implement message parser for Fireface 400

Applied now to for-next branch.  Thanks.


Takashi