linux/sound/soc
Alexey Klimov 9fc9ef0572
ASoC: codecs: lpass-rx-macro: fix RXn(rx,n) macro for DSM_CTL and SEC7 regs
Turns out some registers of pre-2.5 version of rxmacro codecs are not
located at the expected offsets but 0xc further away in memory. So far
the detected registers are CDC_RX_RX2_RX_PATH_SEC7 and
CDC_RX_RX2_RX_PATH_DSM_CTL.

CDC_RX_RXn_RX_PATH_DSM_CTL(rx, n) macro incorrectly generates the address
0x540 for RX2 but it should be 0x54C and it also overwrites
CDC_RX_RX2_RX_PATH_SEC7 which is located at 0x540.
The same goes for CDC_RX_RXn_RX_PATH_SEC7(rx, n).

Fix this by introducing additional rxn_reg_stride2 offset. For 2.5 version
and above this offset will be equal to 0.
With such change the corresponding RXn() macros will generate the same
values for 2.5 codec version for all RX paths and the same old values
for pre-2.5 version for RX0 and RX1. However for the latter case with
RX2 path it will also add rxn_reg_stride2 on top.

While at this, also remove specific if-check for INTERP_AUX from
rx_macro_digital_mute() and rx_macro_enable_interp_clk(). These if-check
was used to handle such special offset for AUX interpolator but since
CDC_RX_RXn_RX_PATH_SEC7(rx, n) and CDC_RX_RXn_RX_PATH_DSM_CTL(rx, n)
macros will generate the correst addresses of dsm register, they are no
longer needed.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patch.msgid.link/20241016221049.1145101-1-alexey.klimov@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-10-18 18:44:13 +01:00
..
adi ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
amd ASoC: amd: yc: Fix non-functional mic on ASUS E1404FA 2024-10-17 12:11:31 +01:00
apple ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
atmel ASoC: atmel: mchp-pdmc: Skip ALSA restoration if substream runtime is uninitialized 2024-09-24 13:34:28 +02:00
au1x ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
bcm ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
cirrus soc: convert ep93xx to devicetree 2024-09-26 12:00:25 -07:00
codecs ASoC: codecs: lpass-rx-macro: fix RXn(rx,n) macro for DSM_CTL and SEC7 regs 2024-10-18 18:44:13 +01:00
dwc ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
fsl ASoC: fsl_esai: change dev_warn to dev_dbg in irq handler 2024-10-11 12:06:49 +01:00
generic ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
google ASoC: google: fix module autoloading 2024-08-26 15:52:07 +01:00
hisilicon ASoC: hisilicon: Drop GPIO include 2023-12-18 14:03:29 +00:00
img ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
intel ASoC: Intel: soc-acpi: lnl: Add match entry for TM2 laptops 2024-10-17 12:11:32 +01:00
jz4740 ASoC: jz4740: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:21 +09:00
kirkwood ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
loongson ASoC: loongson: Fix component check failed on FDT systems 2024-10-10 12:14:59 +01:00
mediatek ASoC: Updates for v6.12 2024-09-14 09:09:59 +02:00
meson Merge branch 'for-linus' into for-next 2024-09-14 10:16:12 +02:00
mxs ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
pxa ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
qcom ASoC: qcom: Select missing common Soundwire module code on SDM845 2024-10-12 11:23:51 +01:00
rockchip ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
samsung ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
sdw_utils ASoC: sdw_utils/intel: move soundwire endpoint parsing helper functions 2024-09-13 15:11:32 +01:00
sh ASoC: rsnd: Fix probe failure on HiHope boards due to endpoint parsing 2024-10-11 12:06:49 +01:00
sof ASoC: SOF: Intel: hda-loader: do not wait for HDaudio IOC 2024-10-08 10:49:14 +01:00
spear ASoC: spear: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:31 +09:00
sprd ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
starfive ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
sti ASoC: sti: add missing probe entry for player and reader 2024-07-29 13:36:56 +01:00
stm ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
sunxi ASoC: Updates for v6.12 2024-09-14 09:09:59 +02:00
tegra ASoC: Updates for v6.12 2024-09-14 09:09:59 +02:00
ti ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
uniphier ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
ux500 ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
xilinx ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
xtensa ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
Kconfig ASoC: intel/sdw-utils: move soundwire machine driver soc ops 2024-08-01 12:43:57 +01:00
Makefile ASoC: intel/sdw-utils: move soundwire machine driver soc ops 2024-08-01 12:43:57 +01:00
soc-ac97.c ASoC: soc-ac97: Fix the incorrect description 2024-09-10 12:40:24 +01:00
soc-acpi.c
soc-card-test.c ASoC: Drop snd_soc_*_get_kcontrol_locked() 2024-08-09 14:24:55 +02:00
soc-card.c ASoC: Drop snd_soc_*_get_kcontrol_locked() 2024-08-09 14:24:55 +02:00
soc-component.c ASoC: Drop snd_soc_*_get_kcontrol_locked() 2024-08-09 14:24:55 +02:00
soc-compress.c ASoC: soc-compress: Fix and add DPCM locking 2024-03-18 14:41:51 +00:00
soc-core.c ASoC: Use of_property_read_bool() 2024-08-01 12:51:45 +01:00
soc-dai.c ASoC: remove snd_soc_dai_link_set_capabilities() 2024-08-22 13:36:46 +01:00
soc-dapm.c ASoC: dapm: avoid container_of() to get component 2024-10-08 13:52:23 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ALSA: dmaengine: Synchronize dma channel after drop() 2024-06-11 17:13:31 +01:00
soc-jack.c ASoC: soc-jack: Get rid of legacy GPIO support 2024-03-26 17:13:45 +00:00
soc-link.c ASoC: soc-link: convert not to use asoc_xxx() 2023-09-25 14:16:50 +02:00
soc-ops.c ASoC: ops: Simplify with cleanup.h 2024-07-08 12:50:02 +01:00
soc-pcm.c ASoC: soc-pcm: makes snd_soc_dpcm_can_be_xxx() local function 2024-08-28 13:02:20 +01:00
soc-topology-test.c ASoC: topology-test: Convert comma to semicolon 2024-09-05 16:07:06 +01:00
soc-topology.c ASoC: topology: Fix incorrect addressing assignments 2024-09-19 13:01:26 +02:00
soc-utils-test.c
soc-utils.c ASoC: soc-utils: allow sample rate up to 768kHz for the dummy dai 2024-06-28 13:39:29 +01:00