OpenCloudOS-Kernel/sound/soc
Richard Fitzgerald e905bc71e7 ASoC: cs35l56: Load tunings for the correct speaker models
[ Upstream commit 245eeff18d7a37693815250ae15979ce98c3d190 ]

If the "spk-id-gpios" property is present it points to GPIOs whose
value must be used to select the correct bin file to match the
speakers.

Some manufacturers use multiple sources of speakers, which need
different tunings for best performance. On these models the type of
speaker fitted is indicated by the values of one or more GPIOs. The
number formed by the GPIOs identifies the tuning required.

The speaker ID must be used in combination with the subsystem ID
(either from PCI SSID or cirrus,firmware-uid property), because the
GPIOs can only indicate variants of a specific model.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: 1a1c3d794ef6 ("ASoC: cs35l56: Use PCI SSID as the firmware UID")
Link: https://msgid.link/r/20240129162737.497-14-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-10-17 15:24:07 +02:00
..
adi ASoC: adi: merge DAI call back functions into ops 2023-08-14 13:10:03 +01:00
amd ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK) 2024-09-30 16:25:11 +02:00
apple
atmel ASoC: atmel: mchp-pdmc: Skip ALSA restoration if substream runtime is uninitialized 2024-10-10 11:57:19 +02:00
au1x ASoC: allow module autoloading for table db1200_pids 2024-09-30 16:25:07 +02:00
bcm ASoC: bcm: merge DAI call back functions into ops 2023-08-14 13:10:06 +01:00
cirrus ASoC: cirrus: merge DAI call back functions into ops 2023-08-14 13:10:22 +01:00
codecs ASoC: cs35l56: Load tunings for the correct speaker models 2024-10-17 15:24:07 +02:00
dwc ASoC: dwc: Fix non-DT instantiation 2023-10-13 18:40:27 +01:00
fsl ASoC: imx-card: Set card.owner to avoid a warning calltrace if SND=m 2024-10-10 11:57:20 +02:00
generic ASoC: simple-card: fixup asoc_simple_probe() error handling 2023-09-19 13:48:38 +01:00
google ASoC: google: fix module autoloading 2024-09-30 16:25:10 +02:00
hisilicon ASoC: hisilicon: merge DAI call back functions into ops 2023-08-14 13:10:30 +01:00
img ASoC: img: merge DAI call back functions into ops 2023-08-14 13:10:08 +01:00
intel ASoC: intel: fix module autoloading 2024-09-30 16:25:10 +02:00
jz4740 ASoC: jz4740: merge DAI call back functions into ops 2023-08-14 13:10:21 +01:00
kirkwood ASoC: kirkwood: Fix potential NULL dereference 2024-06-12 11:11:58 +02:00
loongson ASoC: loongson: fix error release 2024-10-04 16:29:05 +02:00
mediatek ASoC: mediatek: mt8188: Mark AFE_DAC_CON0 register as volatile 2024-09-30 16:25:07 +02:00
meson ASoC: meson: axg-card: fix 'use-after-free' 2024-09-18 19:24:10 +02:00
mxs
pxa ASoC: pxa: fix a memory leak in probe() 2023-10-09 13:13:50 +01:00
qcom ASoC: qcom: Adjust issues in case of DT error in asoc_qcom_lpass_cpu_platform_probe() 2024-08-03 08:53:59 +02:00
rockchip ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk 2024-07-05 09:33:44 +02:00
samsung ASoC: samsung: tm2_wm5110: parse audio-routing 2023-08-16 14:47:20 +01:00
sh ASoC: sh: rz-ssi: Fix error message print 2024-03-26 18:19:44 -04:00
sof ASoC: SOF: mediatek: Add missing board compatible 2024-09-30 16:25:07 +02:00
spear
sprd
starfive ASoC: starfive: merge DAI call back functions into ops 2023-08-14 13:10:29 +01:00
sti ASoC: sti: add missing probe entry for player and reader 2024-08-14 13:58:51 +02:00
stm ASoC: dmaengine: Drop unused iov_iter for process callback 2023-09-01 15:38:29 +02:00
sunxi ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode 2024-09-12 11:11:44 +02:00
tegra ASoC: tegra: Fix CBB error during probe() 2024-09-12 11:11:44 +02:00
ti ASoC: ti: omap-hdmi: Fix too long driver name 2024-07-25 09:50:49 +02:00
uniphier ASoC: uniphier: merge DAI call back functions into ops 2023-08-14 13:10:27 +01:00
ux500 ASoC: ux500: merge DAI call back functions into ops 2023-08-14 13:10:16 +01:00
xilinx
xtensa
Kconfig ASoC: topology: Add explicit build option 2023-07-18 15:19:03 +01:00
Makefile ASoC: Add support for Loongson I2S controller 2023-06-15 13:53:24 +01:00
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: improve log messagesin link_slaves_found() 2023-07-31 23:24:01 +01:00
soc-card.c ASoC: soc-card: Fix missing locking in snd_soc_card_get_kcontrol() 2024-03-06 14:48:38 +00:00
soc-component.c ASoC: soc-dapm: Add helper for comparing widget name 2023-10-09 13:03:28 +01:00
soc-compress.c ASoC: Fixes that got left after v6.4 2023-08-28 16:56:54 +02:00
soc-core.c ASoC: soc-core.c: Skip dummy codec when adding platforms 2024-04-13 13:07:39 +02:00
soc-dai.c ASoC: soc-dai: add flag to mute and unmute stream during trigger 2023-11-28 17:20:04 +00:00
soc-dapm.c ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object 2024-09-12 11:11:24 +02:00
soc-devres.c
soc-generic-dmaengine-pcm.c ALSA: dmaengine: Synchronize dma channel after drop() 2024-07-25 09:50:49 +02:00
soc-jack.c ASoC: soc-jack: calling snd_soc_jack_report causes a null pointer access 2023-08-14 22:10:35 +01:00
soc-link.c
soc-ops.c ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw 2024-04-10 16:35:59 +02:00
soc-pcm.c ASoC: soc-dai: add flag to mute and unmute stream during trigger 2023-11-28 17:20:04 +00:00
soc-topology-test.c
soc-topology.c ASoC: topology: Properly initialize soc_enum values 2024-09-12 11:11:35 +02:00
soc-utils-test.c
soc-utils.c ASoC: soc.h: convert asoc_xxx() to snd_soc_xxx() 2024-03-06 14:48:37 +00:00