From 0085c6edabe85fd39d6ad4340dba2587511e2b3e Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Tue, 11 Dec 2018 19:17:32 +0900 Subject: [PATCH] ALSA: fireface: share register for async transaction of MIDI messages As long as investigating packet dumps from Fireface 400/800, a register to receive asynchronous transactions for MIDI messages is the same. For Fireface 800, minor register is used. This commit declares macros for the transactions and obsoletes model-specific parameters. Signed-off-by: Takashi Sakamoto Signed-off-by: Takashi Iwai --- sound/firewire/fireface/ff-protocol-ff400.c | 4 ---- sound/firewire/fireface/ff-transaction.c | 7 +++++-- sound/firewire/fireface/ff.h | 2 -- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/sound/firewire/fireface/ff-protocol-ff400.c b/sound/firewire/fireface/ff-protocol-ff400.c index d2fbb03..5cbaff9 100644 --- a/sound/firewire/fireface/ff-protocol-ff400.c +++ b/sound/firewire/fireface/ff-protocol-ff400.c @@ -16,8 +16,6 @@ #define FF400_ISOC_COMM_STOP 0x000080100510ull #define FF400_MIDI_HIGH_ADDR 0x0000801003f4ull -#define FF400_MIDI_RX_PORT_0 0x000080180000ull -#define FF400_MIDI_RX_PORT_1 0x000080190000ull static int ff400_begin_session(struct snd_ff *ff, unsigned int rate) { @@ -115,6 +113,4 @@ const struct snd_ff_protocol snd_ff_protocol_ff400 = { .switch_fetching_mode = ff400_switch_fetching_mode, .midi_high_addr_reg = FF400_MIDI_HIGH_ADDR, - .midi_rx_port_0_reg = FF400_MIDI_RX_PORT_0, - .midi_rx_port_1_reg = FF400_MIDI_RX_PORT_1, }; diff --git a/sound/firewire/fireface/ff-transaction.c b/sound/firewire/fireface/ff-transaction.c index 751662b..fa0bc95 100644 --- a/sound/firewire/fireface/ff-transaction.c +++ b/sound/firewire/fireface/ff-transaction.c @@ -8,6 +8,9 @@ #include "ff.h" +#define SND_FF_REG_MIDI_RX_PORT_0 0x000080180000ull +#define SND_FF_REG_MIDI_RX_PORT_1 0x000080190000ull + int snd_ff_transaction_get_clock(struct snd_ff *ff, unsigned int *rate, enum snd_ff_clock_src *src) { @@ -153,10 +156,10 @@ static void transmit_midi_msg(struct snd_ff *ff, unsigned int port) fill_midi_buf(ff, port, i, buf[i]); if (port == 0) { - addr = ff->spec->protocol->midi_rx_port_0_reg; + addr = SND_FF_REG_MIDI_RX_PORT_0; callback = finish_transmit_midi0_msg; } else { - addr = ff->spec->protocol->midi_rx_port_1_reg; + addr = SND_FF_REG_MIDI_RX_PORT_1; callback = finish_transmit_midi1_msg; } diff --git a/sound/firewire/fireface/ff.h b/sound/firewire/fireface/ff.h index 95cf90b..ea90528 100644 --- a/sound/firewire/fireface/ff.h +++ b/sound/firewire/fireface/ff.h @@ -107,8 +107,6 @@ struct snd_ff_protocol { int (*switch_fetching_mode)(struct snd_ff *ff, bool enable); u64 midi_high_addr_reg; - u64 midi_rx_port_0_reg; - u64 midi_rx_port_1_reg; }; extern const struct snd_ff_protocol snd_ff_protocol_ff400; -- 2.7.4