mirror-linux/sound/soc/sof
Daniel Baluta 7a6593b5d7 ASoC: SOF: pm: Tear down pipelines only if DSP was active
commit 0b186bb061 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: d185e0689a ("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
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
Kconfig
Makefile
compress.c
control.c
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
ipc.c
ipc3-control.c
ipc3-dtrace.c
ipc3-loader.c
ipc3-pcm.c
ipc3-priv.h
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
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
ipc4-priv.h
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
loader.c
nocodec.c
ops.c
ops.h
pcm.c
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
sof-acpi-dev.h
sof-audio.c ASoC: SOF: sof-audio: start with the right widget type 2023-02-22 12:59:40 +01:00
sof-audio.h
sof-client-ipc-flood-test.c
sof-client-ipc-msg-injector.c
sof-client-probes.c
sof-client-probes.h
sof-client.c
sof-client.h
sof-of-dev.c
sof-of-dev.h
sof-pci-dev.c
sof-pci-dev.h
sof-priv.h
sof-utils.c
sof-utils.h
stream-ipc.c
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