diff options
author | Alexander Tsoy <alexander@tsoy.me> | 2020-01-12 11:23:58 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2020-01-13 10:47:56 +0100 |
commit | 73ac9f5e5b43a5dbadb61f27dae7a971f7ec0d22 (patch) | |
tree | dd9e57dc62f3f57a62366d74ace0d7885ad3b214 /sound/usb/quirks.h | |
parent | ALSA: dice: add support for Alesis MasterControl (diff) | |
download | linux-73ac9f5e5b43a5dbadb61f27dae7a971f7ec0d22.tar.xz linux-73ac9f5e5b43a5dbadb61f27dae7a971f7ec0d22.zip |
ALSA: usb-audio: Add boot quirk for MOTU M Series
Add delay to make sure that audio urbs are not sent too early.
Otherwise the device hangs. Windows driver makes ~2s delay, so use
about the same time delay value.
snd_usb_apply_boot_quirk() is called 3 times for my MOTU M4, which
is an overkill. Thus a quirk that is called only once is implemented.
Also send two vendor-specific control messages before and after
the delay. This behaviour is blindly copied from the Windows driver.
Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
Link: https://lore.kernel.org/r/20200112102358.18085-1-alexander@tsoy.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/quirks.h')
-rw-r--r-- | sound/usb/quirks.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/usb/quirks.h b/sound/usb/quirks.h index a80e0ddd0736..df0355843a4c 100644 --- a/sound/usb/quirks.h +++ b/sound/usb/quirks.h @@ -20,6 +20,11 @@ int snd_usb_apply_boot_quirk(struct usb_device *dev, const struct snd_usb_audio_quirk *quirk, unsigned int usb_id); +int snd_usb_apply_boot_quirk_once(struct usb_device *dev, + struct usb_interface *intf, + const struct snd_usb_audio_quirk *quirk, + unsigned int usb_id); + void snd_usb_set_format_quirk(struct snd_usb_substream *subs, struct audioformat *fmt); |