android_kernel_samsung_sm8650/sound/soc/sof
Daniel Baluta 7a6593b5d7 ASoC: SOF: pm: Tear down pipelines only if DSP was active
commit 0b186bb06198653d74a141902a7739e0bde20cf4 upstream.

With PCI if the device was suspended it is brought back to full
power and then suspended again.

This doesn't happen when device is described via DT.

We need to make sure that we tear down pipelines only if the device
was previously active (thus the pipelines were setup).

Otherwise, we can break the use_count:

[  219.009743] sof-audio-of-imx8m 3b6e8000.dsp:
sof_ipc3_tear_down_all_pipelines: widget PIPELINE.2.SAI3.IN is still in use: count -1

and after this everything stops working.

Fixes: d185e0689abc ("ASoC: SOF: pm: Always tear down pipelines before DSP suspend")
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://lore.kernel.org/r/20230405092655.19587-1-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-26 14:28:44 +02:00
..
amd ASoC: SOF: amd: Fix for handling spurious interrupts from DSP 2023-03-03 11:52:22 +01:00
imx ASoC: SOF: imx8ulp: add missing of_node_put() in imx8ulp_probe() 2022-08-24 12:21:28 +01:00
intel ASoC: SOF: Intel: pci-tng: revert invalid bar size setting 2023-04-06 12:10:38 +02:00
mediatek ASoC: SOF: mediatek: initialize panic_info to zero 2023-01-12 12:02:37 +01: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: Add copy function for capture case 2022-08-31 12:12:59 +01:00
control.c ASoC: SOF: control: use pm_runtime_resume_and_get() 2022-04-27 14:15:24 +01:00
core.c ASoC: SOF: Revert: "core: unregister clients and machine drivers in .shutdown" 2023-01-12 12:02:35 +01:00
debug.c ASoC: SOF: Add FW state to debugfs 2023-02-01 08:34:28 +01: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: ipc3: Remove the ipc3-ops.h header file 2022-05-04 15:31:18 +01: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: ipc3-loader: Print out the non matching ext_man magic number 2022-07-15 20:11:34 +01:00
ipc3-pcm.c ASoC: SOF: Adding amd HS functionality to the sof core 2022-09-20 19:38:03 +01: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: ipc3-topology: use old pipeline teardown flow with SOF2.1 and older 2022-11-01 18:28:07 +00:00
ipc3.c ASoC: SOF: ipc3: Check for upper size limit for the received message 2023-04-06 12:10:38 +02:00
ipc4-control.c ASoC: SOF: IPC4: update gain ipc msg definition to align with fw 2023-04-06 12:10:39 +02:00
ipc4-loader.c ASoC: SOF: replace ipc4-loader dev_vdbg with tracepoints 2022-09-19 15:44:08 +01:00
ipc4-mtrace.c ASoC: SOF: ipc4-mtrace: prevent underflow in sof_ipc4_priority_mask_dfs_write() 2023-02-09 11:28:01 +01:00
ipc4-pcm.c ASoC: SOF: ipc4-pcm: set pcm rate to dai setting 2022-07-15 20:11:31 +01:00
ipc4-priv.h ASoC: SOF: ipc4: Add support for mtrace log extraction 2022-09-09 18:48:48 +01:00
ipc4-topology.c ASoC: SOF: IPC4: update gain ipc msg definition to align with fw 2023-04-06 12:10:39 +02:00
ipc4-topology.h ASoC: SOF: IPC4: update gain ipc msg definition to align with fw 2023-04-06 12:10:39 +02:00
ipc4.c ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data() 2023-04-13 16:55:18 +02:00
ipc.c ASoC: SOF: Compile and runtime IPC version selection 2022-06-14 11:22:12 +01:00
Kconfig ASoC: SOF: Kconfig: Make IPC_MESSAGE_INJECTOR depend on SND_SOC_SOF 2022-08-23 13:49:56 +01:00
loader.c ASoC: SOF: loader: Call optional query_fw_configuration on first boot 2022-04-29 13:06:17 +01:00
Makefile ASoC: SOF: ipc4: Add support for mtrace log extraction 2022-09-09 18:48:48 +01:00
nocodec.c ASOC: SOF: use devm_kcalloc() instead of devm_kzalloc() 2022-09-19 17:52:36 +01:00
ops.c ASoC: SOF: Switch to IPC generic firmware tracing 2022-05-19 16:44:15 +01:00
ops.h ASoC: SOF: Add ops_free 2022-06-10 13:32:05 +01:00
pcm.c ASoC: SOF: replace dev_vdbg with tracepoints 2022-09-19 15:44:07 +01:00
pm.c ASoC: SOF: pm: Tear down pipelines only if DSP was active 2023-04-26 14:28:44 +02:00
sof-acpi-dev.c ASoC: SOF: add IPC-dependent file names 2022-04-19 12:03:34 +01:00
sof-acpi-dev.h ASoC: SOF: ACPI: avoid reverse module dependency 2021-03-02 15:31:40 +01:00
sof-audio.c ASoC: SOF: sof-audio: start with the right widget type 2023-02-22 12:59:40 +01:00
sof-audio.h ASoC: SOF: topology: add code to parse config params for ACPDMIC dai 2022-06-14 11:22:10 +01: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.c ASoC: SOF: Remove strsplit_u32() and tokenize_input() 2022-09-05 14:51:47 +01:00
sof-client-probes.h ASoC: SOF: probes: rename assign/free callbacks as startup/shutdown 2022-07-15 20:11:38 +01:00
sof-client.c ASoC: SOF: sof-client: remove use of __func__ in dev_dbg 2022-06-17 10:46:46 +01:00
sof-client.h ASoC: SOF: sof-client: Add API to get the ipc_type 2022-05-09 18:17:58 +01: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: pci: Change DMI match info to support all Chrome platforms 2022-09-19 17:52:44 +01:00
sof-pci-dev.h ASoC: SOF: pci: split PCI into different drivers 2021-03-02 15:32:00 +01:00
sof-priv.h ASoC: SOF: add quirk to override topology mclk_id 2022-09-19 18:11:45 +01: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: Remove ipc_pcm_params() ops 2022-03-11 13:41:09 +00:00
topology.c ASoC: SOF: topology: No need to assign core ID if token parsing failed 2022-11-07 13:58:02 +00:00
trace.c ASoC: SOF: Switch to IPC generic firmware tracing 2022-05-19 16:44:15 +01:00