From: Alexander Tsoy <alexander@tsoy.me>
To: Gregor Pintar <grpintar@gmail.com>, tiwai@suse.com, perex@perex.cz
Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2
Date: Mon, 20 Apr 2020 23:25:56 +0300 [thread overview]
Message-ID: <1c4b8a362761421eba0ded60bb4f0e11b7e42f3b.camel@tsoy.me> (raw)
In-Reply-To: <20200420201937.12634-1-grpintar@gmail.com>
В Пн, 20/04/2020 в 22:19 +0200, Gregor Pintar пишет:
> Force it to use asynchronous playback.
Can we use snd_usb_audioformat_attributes_quirk() for such fixes? See
the quirk for Griffin iMic as an example.
>
> Same quirk has already been added for Focusrite Scarlett Solo (2nd
> gen)
> with a commit 46f5710f0b88 ("ALSA: usb-audio: Add quirk for Focusrite
> Scarlett Solo").
>
> This also seems to prevent regular clicks when playing at 44100Hz
> on Scarlett 2i2 (2nd gen). I did not notice any side effects.
>
> Signed-off-by: Gregor Pintar <grpintar@gmail.com>
> ---
> sound/usb/quirks-table.h | 84
> ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 84 insertions(+)
>
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index e009d584e..bc936bf79 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -2840,6 +2840,90 @@ YAMAHA_DEVICE(0x7010, "UB99"),
> }
> }
> },
> +{
> + /*
> + * Focusrite Scarlett 2i2 2nd generation
> + * 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.
> + */
> + USB_DEVICE(0x1235, 0x8202),
> + .driver_info = (unsigned long) &(const struct
> snd_usb_audio_quirk) {
> + .ifnum = QUIRK_ANY_INTERFACE,
> + .type = QUIRK_COMPOSITE,
> + .data = (const struct snd_usb_audio_quirk[]) {
> + {
> + .ifnum = 1,
> + .type = QUIRK_AUDIO_FIXED_ENDPOINT,
> + .data = &(const struct audioformat) {
> + .formats =
> SNDRV_PCM_FMTBIT_S32_LE,
> + .channels = 2,
> + .iface = 1,
> + .altsetting = 1,
> + .altset_idx = 1,
> + .attributes = 0,
> + .endpoint = 0x01,
> + .ep_attr =
> USB_ENDPOINT_XFER_ISOC |
> + USB_ENDPOINT_SYNC_ASYNC
> ,
> + .protocol = UAC_VERSION_2,
> + .rates = SNDRV_PCM_RATE_44100 |
> + SNDRV_PCM_RATE_48000 |
> + SNDRV_PCM_RATE_88200 |
> + SNDRV_PCM_RATE_96000 |
> + SNDRV_PCM_RATE_176400 |
> + SNDRV_PCM_RATE_192000,
> + .rate_min = 44100,
> + .rate_max = 192000,
> + .nr_rates = 6,
> + .rate_table = (unsigned int[])
> {
> + 44100, 48000, 88200,
> + 96000, 176400, 192000
> + },
> + .clock = 41
> + }
> + },
> + {
> + .ifnum = 2,
> + .type = QUIRK_AUDIO_FIXED_ENDPOINT,
> + .data = &(const struct audioformat) {
> + .formats =
> SNDRV_PCM_FMTBIT_S32_LE,
> + .channels = 2,
> + .iface = 2,
> + .altsetting = 1,
> + .altset_idx = 1,
> + .attributes = 0,
> + .endpoint = 0x82,
> + .ep_attr =
> USB_ENDPOINT_XFER_ISOC |
> + USB_ENDPOINT_SYNC_ASYNC
> |
> + USB_ENDPOINT_USAGE_IMPL
> ICIT_FB,
> + .protocol = UAC_VERSION_2,
> + .rates = SNDRV_PCM_RATE_44100 |
> + SNDRV_PCM_RATE_48000 |
> + SNDRV_PCM_RATE_88200 |
> + SNDRV_PCM_RATE_96000 |
> + SNDRV_PCM_RATE_176400 |
> + SNDRV_PCM_RATE_192000,
> + .rate_min = 44100,
> + .rate_max = 192000,
> + .nr_rates = 6,
> + .rate_table = (unsigned int[])
> {
> + 44100, 48000, 88200,
> + 96000, 176400, 192000
> + },
> + .clock = 41
> + }
> + },
> + {
> + .ifnum = 3,
> + .type = QUIRK_IGNORE_INTERFACE
> + },
> + {
> + .ifnum = -1
> + }
> + }
> + }
> +},
>
> /* Access Music devices */
> {
next prev parent reply other threads:[~2020-04-20 20:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-20 20:19 [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2 Gregor Pintar
2020-04-20 20:25 ` Alexander Tsoy [this message]
2020-04-20 21:40 ` [PATCH v2] " Gregor Pintar
2020-04-20 23:47 ` Alexander Tsoy
2020-04-21 6:06 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1c4b8a362761421eba0ded60bb4f0e11b7e42f3b.camel@tsoy.me \
--to=alexander@tsoy.me \
--cc=alsa-devel@alsa-project.org \
--cc=grpintar@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).