]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: usb-audio: Turn off 'manual mode' on Dell dock
authorJan Schär <jan@jschaer.ch>
Mon, 27 Jun 2022 17:18:55 +0000 (19:18 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 4 Jul 2022 12:27:16 +0000 (14:27 +0200)
commitfdcfc63b059982782f6b33b52b6053649160a825
tree3a041aaa0f0fcf9df2bf90b8c071b4da18a73e4c
parent366b5cb5a837993b5d71f28b3b0a8e6245447ede
ALSA: usb-audio: Turn off 'manual mode' on Dell dock

This removes the need to power cycle the Dell WD15 dock if it has been
attached to a Windows machine.

The Windows driver puts the ALC4020 USB audio controller into
'manual mode', and then does all the power management and other
configuration itself, by sending HD audio commands directly to the
ALC3263 audio codec via vendor-type USB messages. If manual mode is off,
this is all handled by the firmware, and works well enough.

If manual mode is turned on, the latency of the SET INTERFACE command
goes from several hundred ms to less than 1 ms
(see https://bugzilla.suse.com/show_bug.cgi?id=1089467), but I'm not
sure if the additional code that would be required is worth it.

Funnily enough, the Windows driver tries to turn off manual mode when
the dock is disconnected, which doesn't work for obvious reasons.

Additionally, fix a bug in dell_dock_init_vol, which didn't work because
the Control Selector was missing.
Now, it properly resets the volume to 0dB.

Fixes: dd28bf8af7fd ("ALSA: usb-audio: Initialize Dell Dock playback volumes")
Signed-off-by: Jan Schär <jan@jschaer.ch>
Link: https://lore.kernel.org/r/20220627171855.42338-2-jan@jschaer.ch
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_quirks.c