diff options
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r-- | sound/usb/quirks.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 77eecaa4db1f..a66ef5777887 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c | |||
@@ -1166,10 +1166,11 @@ static bool is_marantz_denon_dac(unsigned int id) | |||
1166 | /* TEAC UD-501/UD-503/NT-503 USB DACs need a vendor cmd to switch | 1166 | /* TEAC UD-501/UD-503/NT-503 USB DACs need a vendor cmd to switch |
1167 | * between PCM/DOP and native DSD mode | 1167 | * between PCM/DOP and native DSD mode |
1168 | */ | 1168 | */ |
1169 | static bool is_teac_50X_dac(unsigned int id) | 1169 | static bool is_teac_dsd_dac(unsigned int id) |
1170 | { | 1170 | { |
1171 | switch (id) { | 1171 | switch (id) { |
1172 | case USB_ID(0x0644, 0x8043): /* TEAC UD-501/UD-503/NT-503 */ | 1172 | case USB_ID(0x0644, 0x8043): /* TEAC UD-501/UD-503/NT-503 */ |
1173 | case USB_ID(0x0644, 0x8044): /* Esoteric D-05X */ | ||
1173 | return true; | 1174 | return true; |
1174 | } | 1175 | } |
1175 | return false; | 1176 | return false; |
@@ -1202,7 +1203,7 @@ int snd_usb_select_mode_quirk(struct snd_usb_substream *subs, | |||
1202 | break; | 1203 | break; |
1203 | } | 1204 | } |
1204 | mdelay(20); | 1205 | mdelay(20); |
1205 | } else if (is_teac_50X_dac(subs->stream->chip->usb_id)) { | 1206 | } else if (is_teac_dsd_dac(subs->stream->chip->usb_id)) { |
1206 | /* Vendor mode switch cmd is required. */ | 1207 | /* Vendor mode switch cmd is required. */ |
1207 | switch (fmt->altsetting) { | 1208 | switch (fmt->altsetting) { |
1208 | case 3: /* DSD mode (DSD_U32) requested */ | 1209 | case 3: /* DSD mode (DSD_U32) requested */ |
@@ -1392,7 +1393,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, | |||
1392 | } | 1393 | } |
1393 | 1394 | ||
1394 | /* TEAC devices with USB DAC functionality */ | 1395 | /* TEAC devices with USB DAC functionality */ |
1395 | if (is_teac_50X_dac(chip->usb_id)) { | 1396 | if (is_teac_dsd_dac(chip->usb_id)) { |
1396 | if (fp->altsetting == 3) | 1397 | if (fp->altsetting == 3) |
1397 | return SNDRV_PCM_FMTBIT_DSD_U32_BE; | 1398 | return SNDRV_PCM_FMTBIT_DSD_U32_BE; |
1398 | } | 1399 | } |