|
Oliver Neukum |
079b34 |
From 93f9d1a4ac5930654c17412e3911b46ece73755a Mon Sep 17 00:00:00 2001
|
|
Oliver Neukum |
079b34 |
From: Arvind Sankar <nivedita@alum.mit.edu>
|
|
Oliver Neukum |
079b34 |
Date: Tue, 11 Feb 2020 11:22:35 -0500
|
|
Oliver Neukum |
079b34 |
Subject: [PATCH] ALSA: usb-audio: Apply sample rate quirk for Audioengine D1
|
|
Oliver Neukum |
079b34 |
Git-commit: 93f9d1a4ac5930654c17412e3911b46ece73755a
|
|
Oliver Neukum |
079b34 |
References: git-fixes
|
|
Oliver Neukum |
079b34 |
Patch-mainline: v5.6-rc2
|
|
Oliver Neukum |
079b34 |
|
|
Oliver Neukum |
079b34 |
The Audioengine D1 (0x2912:0x30c8) does support reading the sample rate,
|
|
Oliver Neukum |
079b34 |
but it returns the rate in byte-reversed order.
|
|
Oliver Neukum |
079b34 |
|
|
Oliver Neukum |
079b34 |
When setting sampling rate, the driver produces these warning messages:
|
|
Oliver Neukum |
079b34 |
[168840.944226] usb 3-2.2: current rate 4500480 is different from the runtime rate 44100
|
|
Oliver Neukum |
079b34 |
[168854.930414] usb 3-2.2: current rate 8436480 is different from the runtime rate 48000
|
|
Oliver Neukum |
079b34 |
[168905.185825] usb 3-2.1.2: current rate 30465 is different from the runtime rate 96000
|
|
Oliver Neukum |
079b34 |
|
|
Oliver Neukum |
079b34 |
As can be seen from the hexadecimal conversion, the current rate read
|
|
Oliver Neukum |
079b34 |
back is byte-reversed from the rate that was set.
|
|
Oliver Neukum |
079b34 |
|
|
Oliver Neukum |
079b34 |
44100 == 0x00ac44, 4500480 == 0x44ac00
|
|
Oliver Neukum |
079b34 |
48000 == 0x00bb80, 8436480 == 0x80bb00
|
|
Oliver Neukum |
079b34 |
96000 == 0x017700, 30465 == 0x007701
|
|
Oliver Neukum |
079b34 |
|
|
Oliver Neukum |
079b34 |
Rather than implementing a new quirk to reverse the order, just skip
|
|
Oliver Neukum |
079b34 |
checking the rate to avoid spamming the log.
|
|
Oliver Neukum |
079b34 |
|
|
Oliver Neukum |
079b34 |
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
|
|
Oliver Neukum |
079b34 |
Cc: <stable@vger.kernel.org>
|
|
Oliver Neukum |
079b34 |
Link: https://lore.kernel.org/r/20200211162235.1639889-1-nivedita@alum.mit.edu
|
|
Oliver Neukum |
079b34 |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Oliver Neukum |
079b34 |
Signed-off-by: Oliver Neukum <oneukum@suse.com>
|
|
Oliver Neukum |
079b34 |
---
|
|
Oliver Neukum |
079b34 |
sound/usb/quirks.c | 1 +
|
|
Oliver Neukum |
079b34 |
1 file changed, 1 insertion(+)
|
|
Oliver Neukum |
079b34 |
|
|
Oliver Neukum |
079b34 |
--- a/sound/usb/quirks.c
|
|
Oliver Neukum |
079b34 |
+++ b/sound/usb/quirks.c
|
|
Oliver Neukum |
079b34 |
@@ -1281,6 +1281,7 @@ bool snd_usb_get_sample_rate_quirk(struc
|
|
Oliver Neukum |
079b34 |
case USB_ID(0x1395, 0x740a): /* Sennheiser DECT */
|
|
Oliver Neukum |
079b34 |
case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */
|
|
Oliver Neukum |
079b34 |
case USB_ID(0x21B4, 0x0081): /* AudioQuest DragonFly */
|
|
Oliver Neukum |
079b34 |
+ case USB_ID(0x2912, 0x30c8): /* Audioengine D1 */
|
|
Oliver Neukum |
079b34 |
return true;
|
|
Oliver Neukum |
079b34 |
}
|
|
Oliver Neukum |
079b34 |
|