ALSA: fireface: add protocol-specific operation to fill transaction buffer with MIDI messages

Between former and latter models, content of asynchronous transaction
for MIDI messages from driver to device is different.

This commit is a preparation to support latter models. A protocol-specific
operation is added to encode MIDI messages to the transaction.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Sakamoto
2019-01-22 22:17:04 +09:00
committed by Takashi Iwai
parent 481e09ac9a
commit 82b6297b44
3 changed files with 38 additions and 19 deletions

View File

@@ -107,6 +107,9 @@ enum snd_ff_clock_src {
struct snd_ff_protocol {
void (*handle_midi_msg)(struct snd_ff *ff, unsigned int offset,
__le32 *buf, size_t length);
int (*fill_midi_msg)(struct snd_ff *ff,
struct snd_rawmidi_substream *substream,
unsigned int port);
int (*get_clock)(struct snd_ff *ff, unsigned int *rate,
enum snd_ff_clock_src *src);
int (*switch_fetching_mode)(struct snd_ff *ff, bool enable);