linux/sound/soc/sof
Daniel Baluta 858f7a5c45
ASoC: SOF: Introduce fragment elapsed notification API
This patch prepares the introduction of the compress API with SOF.

After each fragment is accepted by the DSP we need to inform
the userspace applications that they can send the next fragment.
This is done via snd_compr_fragment_elapsed.

Similar with the PCM case, in order to avoid sending an IPC before
the previous IPC is handled we need to schedule a delayed work to
call snd_compr_fragment_elapsed().

See snd_sof_pcm_period_elapsed.

To sum up this patch offers the following API to SOF code:
	* snd_sof_compr_init_elapsed_work
	* snd_sof_compr_fragment_elapsed

Note that implementation for compressed function is in a new file
selected via CONFIG_SND_SOC_SOF_COMPRESS invisible config option.
This option is automatically selected for platforms that support
the compress interface. For now only i.MX8 platforms support this.

For symmetry we introduce snd_sof_pcm_init_elapsed_work to setup
the work struct for PCM case.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Bud Liviu-Alexandru <budliviu@gmail.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20211004152147.1268978-5-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-07 16:57:57 +01:00
..
imx ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
intel ASoC: SOF: Make Intel IPC stream ops generic 2021-10-07 16:57:54 +01:00
xtensa ASoC: SOF: Rename sof_arch_ops to dsp_arch_ops 2021-09-17 13:17:47 +01:00
compress.c ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
control.c ASoC: SOF: Handle control change notification from firmware 2021-09-13 01:59:18 +01:00
core.c Merge series "ASoC: SOF: Clean up the probe support" from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: 2021-09-16 16:06:45 +01:00
debug.c ASoC: SOF: probe: Merge and clean up the probe and compress files 2021-09-16 14:04:13 +01:00
ipc.c ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
Kconfig ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
loader.c ASoC: SOF: loader: Use the generic ops for region debugfs handling 2021-09-15 16:25:08 +01:00
Makefile ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
nocodec.c ASOC: SOF: simplify nocodec mode 2021-04-12 17:05:55 +01:00
ops.c ASoC: SOF: modify the SOF_DBG flags 2020-12-11 13:22:57 +00:00
ops.h ASoC: SOF: Introduce snd_sof_mailbox_read / snd_sof_mailbox_write callbacks 2021-10-07 16:57:53 +01:00
pcm.c ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
pm.c ASoC: SOF: topology: Add kernel parameter for topology verification 2021-10-01 20:48:31 +01:00
sof-acpi-dev.c ASoC: SOF: Check desc->ops directly in acpi/pci/of probe functions 2021-05-21 13:13:35 +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: Intel: hda: add new flags for DAI_CONFIG 2021-10-05 13:08:12 +01:00
sof-audio.h ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
sof-of-dev.c ASoC: SOF: OF: Add fw_path and tplg_path parameters 2021-10-05 13:09:59 +01:00
sof-pci-dev.c ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant 2021-08-03 18:26:10 +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: Make Intel IPC stream ops generic 2021-10-07 16:57:54 +01:00
sof-probes.c ASoC: SOF: sof-probes: Correct the function names used for snd_soc_cdai_ops 2021-09-16 14:04:15 +01:00
sof-probes.h ASoC: SOF: probe: Merge and clean up the probe and compress files 2021-09-16 14:04:13 +01:00
stream-ipc.c ASoC: SOF: Make Intel IPC stream ops generic 2021-10-07 16:57:54 +01:00
topology.c ASoC: SOF: Introduce fragment elapsed notification API 2021-10-07 16:57:57 +01:00
trace.c ASoC: SOF: prefix some terse and cryptic dev_dbg() with __func__ 2021-09-28 13:16:27 +01:00
utils.c ASoC: SOF: core: Do not use 'bar' as parameter for block_read/write 2021-09-15 16:25:04 +01:00