From 76bbc35977d96dbf8522f7f9e520962f8c5bc35d Mon Sep 17 00:00:00 2001 From: jab-r Date: Sun, 7 Oct 2018 19:18:16 -0400 Subject: [PATCH 1/6] Update quirks.c --- sound/usb/quirks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 8a945ece98690d..7cc483f2acf3ba 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1446,7 +1446,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, case 0x20b1: /* XMOS based devices */ case 0x152a: /* Thesycon devices */ case 0x25ce: /* Mytek devices */ - if (fp->dsd_raw) +// if (fp->dsd_raw) return SNDRV_PCM_FMTBIT_DSD_U32_BE; break; default: From 4a82d4ed48c5b2b99bf3824771696d0c1db8739f Mon Sep 17 00:00:00 2001 From: jab-r Date: Sun, 7 Oct 2018 19:45:51 -0400 Subject: [PATCH 2/6] Update quirks.c --- sound/usb/quirks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 7cc483f2acf3ba..8a945ece98690d 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1446,7 +1446,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, case 0x20b1: /* XMOS based devices */ case 0x152a: /* Thesycon devices */ case 0x25ce: /* Mytek devices */ -// if (fp->dsd_raw) + if (fp->dsd_raw) return SNDRV_PCM_FMTBIT_DSD_U32_BE; break; default: From f973470d3a7883e6fcf14a945aed4c45955eefa9 Mon Sep 17 00:00:00 2001 From: jab-r Date: Sun, 7 Oct 2018 19:50:36 -0400 Subject: [PATCH 3/6] Update quirks.c quirks -- remove if (fp->dsd_raw) --- sound/usb/quirks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 8a945ece98690d..7cc483f2acf3ba 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1446,7 +1446,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, case 0x20b1: /* XMOS based devices */ case 0x152a: /* Thesycon devices */ case 0x25ce: /* Mytek devices */ - if (fp->dsd_raw) +// if (fp->dsd_raw) return SNDRV_PCM_FMTBIT_DSD_U32_BE; break; default: From f8b4cb0b2398e1865d4e4b0a07f03d9de55f50d2 Mon Sep 17 00:00:00 2001 From: jab-r Date: Sun, 7 Oct 2018 21:21:56 -0400 Subject: [PATCH 4/6] Update quirks.c --- sound/usb/quirks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 7cc483f2acf3ba..8a945ece98690d 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1446,7 +1446,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, case 0x20b1: /* XMOS based devices */ case 0x152a: /* Thesycon devices */ case 0x25ce: /* Mytek devices */ -// if (fp->dsd_raw) + if (fp->dsd_raw) return SNDRV_PCM_FMTBIT_DSD_U32_BE; break; default: From f427301a90151121e25fd75123ddf6a8dda93276 Mon Sep 17 00:00:00 2001 From: jab-r Date: Sun, 7 Oct 2018 21:24:37 -0400 Subject: [PATCH 5/6] Update format.c --- sound/usb/format.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sound/usb/format.c b/sound/usb/format.c index fd13ac11b13674..5fc94557e64965 100644 --- a/sound/usb/format.c +++ b/sound/usb/format.c @@ -79,8 +79,10 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip, sample_width = as->bBitResolution; sample_bytes = as->bSubslotSize; - if (format & UAC3_FORMAT_TYPE_I_RAW_DATA) + if (format & UAC3_FORMAT_TYPE_I_RAW_DATA) { pcm_formats |= SNDRV_PCM_FMTBIT_SPECIAL; + fp->dsd_raw = true; + } format <<= 1; break; From e5bb0f599d4d9b06dc585e787330055feb28ba38 Mon Sep 17 00:00:00 2001 From: jab-r Date: Mon, 8 Oct 2018 22:27:01 -0400 Subject: [PATCH 6/6] Revert "Update format.c" --- sound/usb/format.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sound/usb/format.c b/sound/usb/format.c index 5fc94557e64965..fd13ac11b13674 100644 --- a/sound/usb/format.c +++ b/sound/usb/format.c @@ -79,10 +79,8 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip, sample_width = as->bBitResolution; sample_bytes = as->bSubslotSize; - if (format & UAC3_FORMAT_TYPE_I_RAW_DATA) { + if (format & UAC3_FORMAT_TYPE_I_RAW_DATA) pcm_formats |= SNDRV_PCM_FMTBIT_SPECIAL; - fp->dsd_raw = true; - } format <<= 1; break;