summaryrefslogtreecommitdiff
path: root/sound/firewire/fireface/ff.h
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2018-12-11 19:17:33 +0900
committerTakashi Iwai <tiwai@suse.de>2018-12-11 14:57:16 +0100
commit3eb8a24459491acc40440b655ca640c87125c5a3 (patch)
treed1f042ae0b4ebce6f8b1db112dd17354ed8f54a2 /sound/firewire/fireface/ff.h
parent0085c6edabe85fd39d6ad4340dba2587511e2b3e (diff)
ALSA: fireface: add driver data for register for MIDI high address
Fireface 400 and 800 have the same mechanism to decide address to which asynchronous transactions are sent for MIDI messages, however they use different registers for controllers to notify higher 4 byte of the address. This commit adds a model-specific parameter to represent the address. Additionally, it corrects some comments. I note that these two models have a difference to enable/disable the transaction. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/fireface/ff.h')
-rw-r--r--sound/firewire/fireface/ff.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/firewire/fireface/ff.h b/sound/firewire/fireface/ff.h
index ea905285beab..466304c72d76 100644
--- a/sound/firewire/fireface/ff.h
+++ b/sound/firewire/fireface/ff.h
@@ -42,6 +42,11 @@
#define SND_FF_REG_FETCH_PCM_FRAMES 0x0000801c0000ull
#define SND_FF_REG_CLOCK_CONFIG 0x0000801c0004ull
+enum snd_ff_reg_type {
+ SND_FF_REG_TYPE_MIDI_HIGH_ADDR = 0,
+ SND_FF_REG_TYPE_COUNT,
+};
+
struct snd_ff_protocol;
struct snd_ff_spec {
const char *const name;
@@ -53,6 +58,7 @@ struct snd_ff_spec {
unsigned int midi_out_ports;
const struct snd_ff_protocol *protocol;
+ u64 regs[SND_FF_REG_TYPE_COUNT];
};
struct snd_ff {
@@ -105,8 +111,6 @@ struct snd_ff_protocol {
int (*begin_session)(struct snd_ff *ff, unsigned int rate);
void (*finish_session)(struct snd_ff *ff);
int (*switch_fetching_mode)(struct snd_ff *ff, bool enable);
-
- u64 midi_high_addr_reg;
};
extern const struct snd_ff_protocol snd_ff_protocol_ff400;