2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-11-23 01:56:43 +08:00
linux-next/sound
Krzysztof Kozlowski ba1d39f0e3 UPSTREAM: ASoC: codecs: tx-macro: correct TX SMIC MUXn widgets on SM8350+
Starting with Qualcomm SM8350 SoC, so Low Power Audio SubSystem (LPASS)
block version v9.2, the register responsible for TX SMIC MUXn muxes is
different.  In earlier LPASS versions this mux had bit fields for
analogue (ADCn) and digital (SWR_DMICn) MICs.  Choice of ADCn was
selecting the analogue path in CDC_TX_TOP_CSR_SWR_DMICn_CTL register.

With LPASS v9.2 and newer, the bit fields are integrated into just
SWR_MICn and there is no distinction for analogue or digital MIC in the
register.

Fix support for LPASS v9.2+:
1. Add new set of widgets and audio routes for LPASS v9.2.
2. Do not choose analogue or digital in CDC_TX_TOP_CSR_SWR_DMICn_CTL
   based on value of the mux.
3. Replace all the input widgets (TX SWR_ADCn, TX SWR_DMICn) with TX
   SWR_INPUTn ones.

The change is not backwards compatible with older DTBs and existing
mixer settings, therefore it does not change handling of older platforms
with working micrphones (SC8280xp) but only the ones with issues
(SM8450, SM8550) which need the fix.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

Changes in v3:
1. Do not change driver match data for SC8280xp, because of
   compatibility reasons. Unlike on other newer platforms like SM8450
   and SM8550, microphones are working fine on SC8280xp so apparently
   the fix is not necessary on SC8280xp.

Changes in v2:
1. Keep all the MSM_DMIC/TX DMIC MUX audio routes in the shared
   tx_audio_map, because it does not differ between v9 and v9.2.

2. Drop backwards compatible widgets because they create issues with
   routes in existing DTS.

(cherry picked from commit 5ef64853515dcaaaf7095e739392ffa2c8921901)
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-03-24 16:00:24 +08:00
..
ac97 ALSA: ac97: fix build regression 2024-01-03 11:47:04 +01:00
aoa powerpc updates for 6.9 2024-03-15 17:53:48 -07:00
arm ALSA: aaci: Delete unused variable in aaci_do_suspend 2024-03-12 12:30:51 +01:00
atmel ALSA: Explicitly include correct DT includes 2023-07-16 14:50:56 +02:00
core ALSA: control: Fix unannotated kfree() cleanup 2024-03-20 07:30:48 +01:00
drivers TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
firewire Merge branch 'for-linus' into for-next 2024-02-21 11:17:06 +01:00
hda sound updates for 6.9-rc1 2024-03-14 11:10:43 -07:00
i2c
isa ALSA: wavefront: copy userspace array safely 2023-11-20 12:38:31 +01:00
mips
oss OSS: dmasound/paula: Convert to platform remove callback returning void 2023-11-09 17:44:52 +01:00
parisc
pci ALSA: hda/realtek: Add quirks for some Clevo laptops 2024-03-20 07:29:30 +01:00
pcmcia
ppc ALSA: Explicitly include correct DT includes 2023-07-16 14:50:56 +02:00
sh ALSA: sh: Convert to generic PCM copy ops 2023-08-18 12:18:24 +02:00
soc UPSTREAM: ASoC: codecs: tx-macro: correct TX SMIC MUXn widgets on SM8350+ 2024-03-24 16:00:24 +08:00
sparc ALSA: Explicitly include correct DT includes 2023-07-16 14:50:56 +02:00
spi ALSA: at73c213: Replace with DEFINE_SIMPLE_DEV_PM_OPS() 2024-02-12 11:50:25 +01:00
synth ALSA: synth: Save a few bytes of memory when registering a 'snd_emux' 2024-01-22 13:04:22 +01:00
usb Revert "ALSA: usb-audio: Name feature ctl using output if input is PCM" 2024-03-17 09:32:49 +01:00
virtio ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-16 15:01:31 +01:00
x86 drm/edid: include drm_eld.h only where required 2023-11-09 16:47:31 +02:00
xen ALSA: xen: Fix -Wformat-truncation warning 2023-09-15 13:21:35 +02:00
ac97_bus.c ALSA: mark all struct bus_type as const 2023-12-30 10:10:41 +01:00
Kconfig This pull request contains the following changes for UML: 2023-09-04 11:32:21 -07:00
last.c
Makefile
sound_core.c sound: make all 'class' structures const 2023-06-21 07:29:10 +02:00