linux/sound/soc/sof
Chao Song 8cd3cb17fc
ASoC: SOF: sof-audio: add support for setting up loopback routes
During route setup, playback stream routes are setup by going through
sink path, capture stream routes are set up by going through source path.
This is not sufficient to handle loopback cases between pipelines
configured with different directions, e.g. a sidetone or an amplifier
feedback connected to a speaker protection module. So, add the logic to
handle such routes between widgets that aren't in the list of DAPM widgets
associated with the same PCM.

Link: https://github.com/thesofproject/linux/issues/4042

Suggested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Chao Song <chao.song@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230313101302.20950-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-03-13 14:08:43 +00:00
..
amd ASoC: SOF: amd: Enable cont_update_posn variable in pcm hw_params. 2023-03-08 15:05:44 +00:00
imx ASoC: SOF: imx8ulp: add missing of_node_put() in imx8ulp_probe() 2022-08-24 12:21:28 +01:00
intel ASoC: Merge up fixes as a dependency for future SOF work 2023-03-13 14:07:37 +00:00
mediatek ASoC: SOF: Prepare ipc_msg_data to be used with compress API 2023-01-17 13:37:51 +00:00
xtensa ASoC: SOF: dsp_arch_ops: add kernel log level parameter for oops and stack 2021-12-23 13:38:25 +00:00
compress.c ASoC: SOF: compress: Set compress data offset 2023-01-17 13:37:54 +00:00
control.c ASoC: SOF: control: Extend the optionality of IPC ops to IPC as well 2022-12-25 23:32:33 +00:00
core.c ASoC: SOF: Introduce struct snd_sof_pipeline 2023-01-27 12:14:08 +00:00
debug.c ASoC: SOF: Add FW state to debugfs 2022-12-21 12:11:51 +00:00
iomem-utils.c ASoC: SOF: Split up utils.c into sof-utils and iomem-utils 2022-02-10 15:19:04 +00:00
ipc3-control.c ASoC: SOF: Protect swidget->use_count with mutex for kcontrol access race 2023-01-27 12:14:12 +00:00
ipc3-dtrace.c ASoC: SOF: ipc3-dtrace: remove use of __func__ in dev_dbg 2022-06-17 10:46:41 +01:00
ipc3-loader.c ASoC: SOF: Introduce container struct for SOF firmware 2022-10-21 13:04:54 +01:00
ipc3-pcm.c ASoC: SOF: Prepare set_stream_data_offset for compress API 2023-01-17 13:37:52 +00:00
ipc3-priv.h ASoC: SOF: Modify the host trace_init parameter list to include dmab 2022-05-19 16:44:17 +01:00
ipc3-topology.c ASoC: SOF: sof-audio: Fix broken early bclk feature for SSP 2023-03-07 13:58:00 +00:00
ipc3.c ASoC: SOF: ipc3: Check for upper size limit for the received message 2023-03-07 13:57:55 +00:00
ipc4-control.c ASoC: SOF: IPC4: update gain ipc msg definition to align with fw 2023-03-07 13:58:04 +00:00
ipc4-fw-reg.h ASoC: SOF: add ipc4_fw_reg header file 2023-02-03 12:03:48 +00:00
ipc4-loader.c ASoC: SOF: ipc4-loader: get max pipeline number 2022-11-09 13:44:18 +00:00
ipc4-mtrace.c ASoC: SOF: ipc4-mtrace: process pending logs upon FW crash 2023-03-07 13:58:20 +00:00
ipc4-pcm.c ASoC: SOF: ipc4-pcm: add delay function support 2023-02-03 12:03:55 +00:00
ipc4-priv.h ASoC: SOF: add time info structure for ipc4 path 2023-02-03 12:03:49 +00:00
ipc4-topology.c ASoC: Merge up fixes as a dependency for future SOF work 2023-03-13 14:07:37 +00:00
ipc4-topology.h ASoC: Merge up fixes as a dependency for future SOF work 2023-03-13 14:07:37 +00:00
ipc4.c ASoC: SOF: ipc4: Wake up dsp core before sending ipc msg 2023-02-14 13:25:13 +00:00
ipc.c ASoC: SOF: client: Add sof_client_ipc_set_get_data() 2022-10-31 13:20:20 +00:00
Kconfig ASoC: SOF: Drop obsolete dependency on COMPILE_TEST 2022-11-28 13:04:35 +00:00
loader.c ASoC: SOF: loader: Remove log prefixes for snd_sof_run_firmware 2023-03-07 13:58:16 +00:00
Makefile ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device 2022-10-31 13:20:22 +00:00
nocodec.c ASoC: SOF: nocodec: Drop empty platform remove function 2022-12-25 23:32:55 +00:00
ops.c ASoC: SOF: Switch to IPC generic firmware tracing 2022-05-19 16:44:15 +01:00
ops.h Merge branch 'for-linus' into for-next 2023-02-16 15:06:18 +01:00
pcm.c ASoC: SOF: add delay function support in sof framework 2023-02-03 12:03:52 +00:00
pm.c ASoC: Merge up 6.2 fixes 2023-01-18 15:33:51 +00:00
sof-acpi-dev.c ASoC: SOF: add IPC-dependent file names 2022-04-19 12:03:34 +01:00
sof-acpi-dev.h
sof-audio.c ASoC: SOF: sof-audio: add support for setting up loopback routes 2023-03-13 14:08:43 +00:00
sof-audio.h ASoC: SOF: Intel: hda-dai: Introduce DAI widget ops 2023-03-07 17:06:22 +00:00
sof-client-ipc-flood-test.c ASoC: SOF: sof-client-ipc-flood-test: use pm_runtime_resume_and_get() 2022-05-19 16:44:29 +01:00
sof-client-ipc-msg-injector.c ASoC: SOF: ipc-msg-injector: fix copy in sof_msg_inject_ipc4_dfs_write() 2022-07-14 13:26:37 +01:00
sof-client-probes-ipc3.c ASoC: SOF: probes: Separate IPC3 operations to a separate file 2022-10-31 13:20:18 +00:00
sof-client-probes-ipc4.c ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device 2022-10-31 13:20:22 +00:00
sof-client-probes.c ASoC: SOF: probes: Check ops before memory allocation 2022-11-17 13:58:43 +00: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 ASoC: SOF: client: Add sof_client_ipc4_find_module() function 2022-10-31 13:20:21 +00:00
sof-client.h ASoC: SOF: client: Add sof_client_ipc4_find_module() function 2022-10-31 13:20:21 +00:00
sof-of-dev.c ASoC: SOF: add IPC-dependent file names 2022-04-19 12:03:34 +01:00
sof-of-dev.h ASoC: SOF: Introduce function sof_of_machine_select 2022-08-23 18:22:29 +01:00
sof-pci-dev.c ASoC: SOF: Add path definition for external firmware libraries 2022-10-21 13:05:03 +01:00
sof-pci-dev.h
sof-priv.h ASoC: SOF: Introduce a new set_pm_gate() IPC PM op 2023-02-14 13:25:11 +00:00
sof-utils.c ASoC: SOF: remove unneeded dev_vdbg 2022-09-19 15:44:06 +01:00
sof-utils.h ASoC: SOF: Split up utils.c into sof-utils and iomem-utils 2022-02-10 15:19:04 +00:00
stream-ipc.c ASoC: SOF: Add support for compress API for stream data/offset 2023-01-17 13:37:53 +00:00
topology.c ASoC: SOF: topology: Fix error handling in sof_widget_ready() 2023-03-07 13:57:58 +00:00
trace.c ASoC: SOF: trace: No need to check for op pointer in sof_fw_trace_free() 2022-12-25 23:32:39 +00:00