diff mbox series

ALSA: dice: fix wrong packet parameter for Alesis iO26

Message ID 20190916101851.30409-1-o-takashi@sakamocchi.jp (mailing list archive)
State New, archived
Headers show
Series ALSA: dice: fix wrong packet parameter for Alesis iO26 | expand

Commit Message

Takashi Sakamoto Sept. 16, 2019, 10:18 a.m. UTC
At higher sampling rate (e.g. 192.0 kHz), Alesis iO26 transfers 4 data
channels per data block in CIP.

Both iO14 and iO26 have the same contents in their configuration ROM.
For this reason, ALSA Dice driver attempts to distinguish them according
to the value of TX0_AUDIO register at probe callback. Although the way is
valid at lower and middle sampling rate, it's lastly invalid at higher
sampling rate because because the two models returns the same value for
read transaction to the register.

In the most cases, users just plug-in the device and ALSA dice driver
detects it. In the case, the device runs at lower sampling rate and
the driver detects expectedly. For this reason, this commit leaves the
way to detect as is.

Fixes: 28b208f600a3 ("ALSA: dice: add parameters of stream formats for models produced by Alesis")
Cc: <stable@vger.kernel.org> # v4.18+
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
---
 sound/firewire/dice/dice-alesis.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Takashi Iwai Sept. 16, 2019, 9:46 p.m. UTC | #1
On Mon, 16 Sep 2019 12:18:51 +0200,
Takashi Sakamoto wrote:
> 
> At higher sampling rate (e.g. 192.0 kHz), Alesis iO26 transfers 4 data
> channels per data block in CIP.
> 
> Both iO14 and iO26 have the same contents in their configuration ROM.
> For this reason, ALSA Dice driver attempts to distinguish them according
> to the value of TX0_AUDIO register at probe callback. Although the way is
> valid at lower and middle sampling rate, it's lastly invalid at higher
> sampling rate because because the two models returns the same value for
> read transaction to the register.
> 
> In the most cases, users just plug-in the device and ALSA dice driver
> detects it. In the case, the device runs at lower sampling rate and
> the driver detects expectedly. For this reason, this commit leaves the
> way to detect as is.
> 
> Fixes: 28b208f600a3 ("ALSA: dice: add parameters of stream formats for models produced by Alesis")
> Cc: <stable@vger.kernel.org> # v4.18+
> Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>

Applied, thanks.


Takashi
diff mbox series

Patch

diff --git a/sound/firewire/dice/dice-alesis.c b/sound/firewire/dice/dice-alesis.c
index 218292bdace6..f5b325263b67 100644
--- a/sound/firewire/dice/dice-alesis.c
+++ b/sound/firewire/dice/dice-alesis.c
@@ -15,7 +15,7 @@  alesis_io14_tx_pcm_chs[MAX_STREAMS][SND_DICE_RATE_MODE_COUNT] = {
 
 static const unsigned int
 alesis_io26_tx_pcm_chs[MAX_STREAMS][SND_DICE_RATE_MODE_COUNT] = {
-	{10, 10, 8},	/* Tx0 = Analog + S/PDIF. */
+	{10, 10, 4},	/* Tx0 = Analog + S/PDIF. */
 	{16, 8, 0},	/* Tx1 = ADAT1 + ADAT2. */
 };