linux/sound/soc
Pierre-Louis Bossart 49ae74abc7
ASoC: SoundWire codecs: make regmap cache-only in probe
The SoundWire bus may start after the probe where the SoundWire ASoC
components are registered. This creates a time window where the card
can be created and the registers be accessed.

As discussed on the mailing list, we can't really control when codecs
are enumerated and initialized, but we can make sure the access to the
codecs is cached until the hardware is accessible.

This patch configures regcache_cache_only() with a 'true' parameter in
the probe function, and a 'false' parameter in the io_init routine.

The rt5682 is handled through a different patch due to its specific
cache handling.

Link: https://lore.kernel.org/alsa-devel/20230503144102.242240-1-krzysztof.kozlowski@linaro.org/
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20230802153629.53576-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-08-07 14:32:20 +01:00
..
adi
amd ASoC: amd: acp5x-mach:add checks to avoid static analysis warnings 2023-07-31 23:22:18 +01:00
apple
atmel ASoC: atmel: Fix the 8K sample parameter in I2SC master 2023-07-25 12:10:00 +01:00
au1x
bcm ASoC: bcm: bcm63xx-i2s-whistler: Convert to devm_platform_ioremap_resource() 2023-07-17 06:15:53 +01:00
cirrus
codecs ASoC: SoundWire codecs: make regmap cache-only in probe 2023-08-07 14:32:20 +01:00
dwc ASoC: dwc: Add TDM mode support 2023-07-09 22:51:01 +01:00
fsl ASoC: fsl_micfil: Use SET_SYSTEM_SLEEP_PM_OPS to simplify PM 2023-08-02 13:10:34 +01:00
generic ASoC: simple-card.c: enable multi Component support 2023-07-17 06:15:47 +01:00
google
hisilicon
img
intel ASoC: Intel: machine driver updates for 6.6 2023-08-01 14:56:00 +01:00
jz4740
kirkwood
loongson ASoC: loongson: drop of_match_ptr for OF device id 2023-07-26 12:49:45 +01:00
mediatek ASoC: mediatek: mt8186: Remove unused mutex. 2023-08-03 12:29:12 +01:00
meson ASoC: meson: use snd_soc_{of_}get_dlc() 2023-06-20 12:49:25 +01:00
mxs
pxa ASoC: pxa: Use devm_platform_get_and_ioremap_resource() 2023-07-17 06:15:55 +01:00
qcom ASoC: q6dsp: q6apm: make g_apm static 2023-07-13 16:20:25 +01:00
rockchip
samsung ASoC: samsung: use snd_soc_{of_}get_dlc() 2023-06-20 12:49:26 +01:00
sh ASoC: rsnd: enable multi Component support for Audio Graph Card/Card2 2023-07-31 12:44:49 +01:00
sof ASoC: SOF: mediatek: mt8186 modify dram type as non-cache 2023-08-04 13:30:41 +01:00
spear
sprd
starfive ASoC: starfive: jh7110_tdm: Convert to platform remove callback returning void 2023-07-09 22:47:14 +01:00
sti
stm
sunxi
tegra ASoC: tegra: tegra20_ac97: Use devm_platform_get_and_ioremap_resource() 2023-07-17 06:15:56 +01:00
ti ASoC: ti: davinci-evm: simplify the code with module_platform_driver 2023-08-04 13:30:44 +01:00
uniphier
ux500
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
soc-component.c
soc-compress.c
soc-core.c ASoC: soc-core.c: add snd_soc_copy_dai_args() 2023-07-17 06:15:46 +01:00
soc-dai.c ASoC: soc-dai: don't call PCM audio ops if the stream is not supported 2023-07-25 12:11:49 +01:00
soc-dapm.c ASoC: add N cpus to M codecs dai link support 2023-06-13 12:11:15 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-jack.c
soc-link.c
soc-ops.c
soc-pcm.c ASoC: Merge fixes due to dependencies 2023-06-16 14:55:20 +01:00
soc-topology-test.c
soc-topology.c ASoC: topology: suppress probe deferral errors 2023-07-06 13:46:31 +01:00
soc-utils-test.c
soc-utils.c