diff options
| -rw-r--r-- | sound/firewire/Kconfig | 1 | ||||
| -rw-r--r-- | sound/firewire/fireface/ff-protocol-latter.c | 2 | ||||
| -rw-r--r-- | sound/firewire/fireface/ff.c | 17 | ||||
| -rw-r--r-- | sound/firewire/fireface/ff.h | 1 | 
4 files changed, 18 insertions, 3 deletions
| diff --git a/sound/firewire/Kconfig b/sound/firewire/Kconfig index 4f39ef924a1a..f7ed69d60310 100644 --- a/sound/firewire/Kconfig +++ b/sound/firewire/Kconfig @@ -164,6 +164,7 @@ config SND_FIREFACE  	 Say Y here to include support for RME fireface series.  	  * Fireface 400  	  * Fireface 800 +	  * Fireface UFX  	  * Fireface UCX  	  * Fireface 802 diff --git a/sound/firewire/fireface/ff-protocol-latter.c b/sound/firewire/fireface/ff-protocol-latter.c index ea885e725950..8d3b23778eb2 100644 --- a/sound/firewire/fireface/ff-protocol-latter.c +++ b/sound/firewire/fireface/ff-protocol-latter.c @@ -199,7 +199,7 @@ static int latter_begin_session(struct snd_ff *ff, unsigned int rate)  		else  			return -EINVAL;  	} else { -		// For Fireface 802. Due to bandwidth limitation on +		// For Fireface UFX and 802. Due to bandwidth limitation on  		// IEEE 1394a (400 Mbps), Analog 1-12 and AES are available  		// without any ADAT at quadruple speed.  		if (rate >= 32000 && rate <= 48000) diff --git a/sound/firewire/fireface/ff.c b/sound/firewire/fireface/ff.c index e4140116f3cc..bc39269415d2 100644 --- a/sound/firewire/fireface/ff.c +++ b/sound/firewire/fireface/ff.c @@ -19,6 +19,7 @@ static void name_card(struct snd_ff *ff)  	const char *const names[] = {  		[SND_FF_UNIT_VERSION_FF800]	= "Fireface800",  		[SND_FF_UNIT_VERSION_FF400]	= "Fireface400", +		[SND_FF_UNIT_VERSION_UFX]	= "FirefaceUFX",  		[SND_FF_UNIT_VERSION_UCX]	= "FirefaceUCX",  		[SND_FF_UNIT_VERSION_802]	= "Fireface802",  	}; @@ -187,7 +188,7 @@ static const struct snd_ff_spec spec_ucx = {  	.midi_rx_addrs = {0xffff00000030ull, 0xffff00000030ull},  }; -static const struct snd_ff_spec spec_802 = { +static const struct snd_ff_spec spec_ufx_802 = {  	.pcm_capture_channels = {30, 22, 14},  	.pcm_playback_channels = {30, 22, 14},  	.midi_in_ports = 1, @@ -223,6 +224,18 @@ static const struct ieee1394_device_id snd_ff_id_table[] = {  		.model_id	= 0x101800,  		.driver_data	= (kernel_ulong_t)&spec_ff400,  	}, +	// Fireface UFX. +	{ +		.match_flags	= IEEE1394_MATCH_VENDOR_ID | +				  IEEE1394_MATCH_SPECIFIER_ID | +				  IEEE1394_MATCH_VERSION | +				  IEEE1394_MATCH_MODEL_ID, +		.vendor_id	= OUI_RME, +		.specifier_id	= OUI_RME, +		.version	= SND_FF_UNIT_VERSION_UFX, +		.model_id	= 0x101800, +		.driver_data	= (kernel_ulong_t)&spec_ufx_802, +	},  	// Fireface UCX.  	{  		.match_flags	= IEEE1394_MATCH_VENDOR_ID | @@ -245,7 +258,7 @@ static const struct ieee1394_device_id snd_ff_id_table[] = {  		.specifier_id	= OUI_RME,  		.version	= SND_FF_UNIT_VERSION_802,  		.model_id	= 0x101800, -		.driver_data	= (kernel_ulong_t)&spec_802, +		.driver_data	= (kernel_ulong_t)&spec_ufx_802,  	},  	{}  }; diff --git a/sound/firewire/fireface/ff.h b/sound/firewire/fireface/ff.h index 1282a57c009f..705e7df4f929 100644 --- a/sound/firewire/fireface/ff.h +++ b/sound/firewire/fireface/ff.h @@ -37,6 +37,7 @@  enum snd_ff_unit_version {  	SND_FF_UNIT_VERSION_FF800	= 0x000001,  	SND_FF_UNIT_VERSION_FF400	= 0x000002, +	SND_FF_UNIT_VERSION_UFX		= 0x000003,  	SND_FF_UNIT_VERSION_UCX		= 0x000004,  	SND_FF_UNIT_VERSION_802		= 0x000005,  }; | 
