kernel_samsung_a53x/sound
Jan Schär c338693262 ALSA: usb-audio: Support jack detection on Dell dock
[ Upstream commit 4b8ea38fabab45ad911a32a336416062553dfe9c ]

The Dell WD15 dock has a headset and a line out port. Add support for
detecting if a jack is inserted into one of these ports.
For the headset jack, additionally determine if a mic is present.

The WD15 contains an ALC4020 USB audio controller and ALC3263 audio codec
from Realtek. It is a UAC 1 device, and UAC 1 does not support jack
detection. Instead, jack detection works by sending HD Audio commands over
vendor-type USB messages.

I found out how it works by looking at USB captures on Windows.
The audio codec is very similar to the one supported by
sound/soc/codecs/rt298.c / rt298.h, some constant names and the mic
detection are adapted from there. The realtek_add_jack function is adapted
from build_connector_control in sound/usb/mixer.c.

I tested this on a WD15 dock with the latest firmware.

Signed-off-by: Jan Schär <jan@jschaer.ch>
Link: https://lore.kernel.org/r/20220627171855.42338-1-jan@jschaer.ch
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Stable-dep-of: 4413665dd6c5 ("ALSA: usb-audio: Add quirks for Dell WD19 dock")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-30 02:33:27 +01:00
..
ac97 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
aoa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atmel Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core Revert "ALSA: mixer_oss: Remove some incorrect kfree_const() usages" 2024-11-24 00:23:11 +01:00
drivers Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
firewire ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init() 2024-11-30 02:33:23 +01:00
hda Revert "ALSA: hda: Add input value sanity checks to HDMI channel map controls" 2024-11-24 00:23:43 +01:00
i2c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
isa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
oss/dmasound Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
parisc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci Revert "ALSA: hda/realtek: Fix noise from speakers on Lenovo IdeaPad 3 15IAU7" 2024-11-24 00:23:53 +01:00
pcmcia Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ppc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sh ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs 2024-11-19 09:22:42 +01:00
soc ASoC: stm32: spdifrx: fix dma channel release in stm32_spdifrx_remove 2024-11-30 02:33:23 +01:00
sparc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
synth ALSA: emux: improve patch ioctl data validation 2024-11-19 14:19:32 +01:00
usb ALSA: usb-audio: Support jack detection on Dell dock 2024-11-30 02:33:27 +01:00
x86 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xen Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ac97_bus.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
last.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sound_core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00