linux/sound/soc/sof
Peter Ujfalusi e298bf6f55 ASoC: SOF: Intel: Read the LLP via the associated Link DMA channel
[ Upstream commit aaab61de1f ]

It is allowed to mix Link and Host DMA channels in a way that their index
is different. In this case we would read the LLP from a channel which is
not used or used for other operation.

Such case can be reproduced on cAVS2.5 or ACE1 platforms with soundwire
configuration:
playback to SDW would take Host channel 0 (stream_tag 1) and no Link DMA
used
Second playback to HDMI (HDA) would use Host channel 1 (stream_tag 2) and
Link channel 0 (stream_tag 1).

In this case reading the LLP from channel 2 is incorrect as that is not the
Link channel used for the HDMI playback.

To correct this, we should look up the BE and get the channel used on the
Link side.

Fixes: 67b182bea0 ("ASoC: SOF: Intel: hda: Implement get_stream_position (Linear Link Position)")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://patch.msgid.link/20251002074719.2084-6-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-10-19 16:37:09 +02:00
..
amd ASoC: SOF: amd: Add sof audio support for acp7.2 platform 2025-08-01 14:36:04 +01:00
imx ASoC: SOF: imx: Fix devm_ioremap_resource check 2025-09-02 12:51:32 +01:00
intel ASoC: SOF: Intel: Read the LLP via the associated Link DMA channel 2025-10-19 16:37:09 +02:00
mediatek ASoC: Use of_reserved_mem_region_to_resource() for "memory-region" 2025-07-04 13:09:47 +01:00
xtensa module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
compress.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
control.c ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-04 19:28:22 +01:00
core.c ASoC: SOF: set disable_function_topology if override_tplg_filename is set 2025-05-06 22:48:04 +09:00
debug.c ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-04 19:28:22 +01:00
fw-file-profile.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
iomem-utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ipc.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-control.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-dtrace.c ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-04 19:28:22 +01:00
ipc3-loader.c ASoC: SOF: ipc3-loader: 'Handle' PROBE_INFO ext_manifest type when parsing 2024-11-07 13:03:23 +00:00
ipc3-pcm.c ASoC: SOF: pcm: Add snd_sof_pcm specific wrappers for dev_dbg() and dev_err() 2025-02-06 11:25:43 +00:00
ipc3-priv.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc3-topology.c ASoC: SOF: ipc3-topology: Fix multi-core and static pipelines tear down 2025-10-15 12:04:16 +02:00
ipc3.c ASoC: SOF: ipc3: Use str_enabled_disabled() helper function 2025-02-17 12:09:40 +00:00
ipc4-control.c ASoC: SOF: ipc4-control: Use SOF_CTRL_CMD_BINARY as numid for bytes_ext 2025-05-09 18:20:13 +09:00
ipc4-fw-reg.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-loader.c treewide: Remove redundant 2025-07-04 22:42:36 +01:00
ipc4-mtrace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-pcm.c ASoC: SOF: ipc4-pcm: fix start offset calculation for chain DMA 2025-10-15 12:04:16 +02:00
ipc4-priv.h ASoC: SOF: ipc4-pcm: Harmonize set pipeline state dbg 2025-06-20 11:33:05 +01:00
ipc4-telemetry.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-telemetry.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ipc4-topology.c ASoC: SOF: ipc4-topology: Account for different ChainDMA host buffer size 2025-10-19 16:37:08 +02:00
ipc4-topology.h ASoC: SOF: ipc4-topology: Account for different ChainDMA host buffer size 2025-10-19 16:37:08 +02:00
ipc4.c ASoC: SOF: ipc4-pcm: Harmonize set pipeline state dbg 2025-06-20 11:33:05 +01:00
Kconfig ASoC: sof: Standardize ASoC menu 2025-06-24 01:01:18 +01:00
loader.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
Makefile ASoC: SOF: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:30 +09:00
nocodec.c ASoC: sof: remove dpcm_xxx flags 2024-10-23 13:01:56 +01:00
ops.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
ops.h iopoll/regmap/phy/snd: Fix comment referencing outdated timer documentation 2024-10-16 00:36:47 +02:00
pcm.c treewide: Remove redundant 2025-07-04 22:42:36 +01:00
pm.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-acpi-dev.c ASoC: SOF: acpi: Convert to EXPORT_NS_DEV_PM_OPS() 2025-03-17 10:14:55 +00:00
sof-acpi-dev.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-audio.c ASoC: SOF: Relocate and rework functionality for PCM stream freeing 2025-02-06 11:25:41 +00:00
sof-audio.h ASoC: SOF: pcm: Add snd_sof_pcm specific wrappers for dev_dbg() and dev_err() 2025-02-06 11:25:43 +00:00
sof-client-ipc-flood-test.c ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-04 19:28:22 +01:00
sof-client-ipc-kernel-injector.c ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-04 19:28:22 +01:00
sof-client-ipc-msg-injector.c ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-04 19:28:22 +01:00
sof-client-probes-ipc3.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-client-probes-ipc4.c ASoC: SOF: sof-client-probes-ipc4: Set param_size extension bits 2024-11-07 15:35:52 +00:00
sof-client-probes.c ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls 2025-07-04 19:28:22 +01:00
sof-client-probes.h ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device 2022-10-31 13:20:22 +00:00
sof-client.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sof-client.h ASoC: SOF: Add IPC3 Kernel Injector 2023-06-09 10:44:40 +01:00
sof-of-dev.c ASoC: SOF: of: Convert to EXPORT_DEV_PM_OPS() 2025-03-17 10:14:57 +00:00
sof-of-dev.h ASoC: SOF: Move sof_of_machine_select() to core.c from sof-of-dev.c 2023-12-04 17:02:15 +00:00
sof-pci-dev.c ASoC: sof: Use pure devres PCI 2025-05-05 19:32:11 +09:00
sof-pci-dev.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
sof-priv.h ASoC: SOF: sof-priv: Remove unused SOF_DAI_STREAM() and SOF_FORMATS 2024-12-13 13:25:52 +00:00
sof-utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sof-utils.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
stream-ipc.c ASoC: SOF: stream-ipc: Check for cstream nullity in sof_ipc_msg_data() 2025-02-05 14:06:26 +00:00
topology.c ASoC: SOF: topology: Parse the dapm_widget_tokens in case of DSPless mode 2025-06-20 00:21:15 +01:00
trace.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00