diff mbox series

[2/2] ALSA: usb-audio: Remove async workaround for Scarlett 2nd gen

Message ID 20200424022449.14972-2-alexander@tsoy.me (mailing list archive)
State New, archived
Headers show
Series [1/2] ALSA: usb-audio: Improve frames size computation | expand

Commit Message

Alexander Tsoy April 24, 2020, 2:24 a.m. UTC
Frame size computation has been fixed and the workaround is no longer
needed.

Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
---
 sound/usb/quirks.c | 14 --------------
 1 file changed, 14 deletions(-)

Comments

Takashi Iwai April 24, 2020, 6:28 a.m. UTC | #1
On Fri, 24 Apr 2020 04:24:49 +0200,
Alexander Tsoy wrote:
> 
> Frame size computation has been fixed and the workaround is no longer
> needed.
> 
> Signed-off-by: Alexander Tsoy <alexander@tsoy.me>

Applied to for-next branch now.


thanks,

Takashi
Gregor Pintar April 24, 2020, 3:21 p.m. UTC | #2
On Fri, Apr 24, 2020 at 4:24 AM Alexander Tsoy <alexander@tsoy.me> wrote:
>
> Frame size computation has been fixed and the workaround is no longer
> needed.
>

It seems async is preferred and usually more reliable.

Would it be possible to check, if there is feedback endpoint and use async,
even if interface is reporting synchronous?

Maybe make it configurable so it doesn't break devices with broken feedback
endpoints.
diff mbox series

Patch

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 351ba214a9d3..a8ece1701068 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1806,20 +1806,6 @@  void snd_usb_audioformat_attributes_quirk(struct snd_usb_audio *chip,
 		 */
 		fp->attributes &= ~UAC_EP_CS_ATTR_FILL_MAX;
 		break;
-	case USB_ID(0x1235, 0x8200):  /* Focusrite Scarlett 2i4 2nd gen */
-	case USB_ID(0x1235, 0x8202):  /* Focusrite Scarlett 2i2 2nd gen */
-	case USB_ID(0x1235, 0x8205):  /* Focusrite Scarlett Solo 2nd gen */
-		/*
-		 * Reports that playback should use Synch: Synchronous
-		 * while still providing a feedback endpoint.
-		 * Synchronous causes snapping on some sample rates.
-		 * Force it to use Synch: Asynchronous.
-		 */
-		if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
-			fp->ep_attr &= ~USB_ENDPOINT_SYNCTYPE;
-			fp->ep_attr |= USB_ENDPOINT_SYNC_ASYNC;
-		}
-		break;
 	}
 }