linux/include/sound
Jai Luthra e8343410dd
ALSA: dmaengine: Synchronize dma channel after drop()
Sometimes the stream may be stopped due to XRUN events, in which case
the userspace can call snd_pcm_drop() and snd_pcm_prepare() to stop and
start the stream again.

In these cases, we must wait for the DMA channel to synchronize before
marking the stream as prepared for playback, as the DMA channel gets
stopped by drop() without any synchronization. Make sure the ALSA core
synchronizes the DMA channel by adding a sync_stop() hook.

Reviewed-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
Link: https://lore.kernel.org/r/20240611-asoc_next-v3-1-fcfd84b12164@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-06-11 17:13:31 +01:00
..
ac97 ALSA: ac97: make remove callback of ac97 driver void returned 2023-01-25 09:34:20 +01:00
sof ALSA/ASoC: include: clarify Copyright information 2024-05-09 20:26:34 +02:00
ac97_codec.h ALSA: mark all struct bus_type as const 2023-12-30 10:10:41 +01:00
aci.h
acp63_chip_offset_byte.h ASoC: amd: update ps platform acp header file 2023-02-03 12:04:02 +00:00
ad1816a.h
ad1843.h
adau1373.h
ak4xxx-adda.h
ak4113.h
ak4114.h
ak4117.h
ak4531_codec.h ALSA: ens137x: Replace with DEFINE_SIMPLE_DEV_PM_OPS() 2024-02-12 11:50:24 +01:00
ak4641.h
alc5623.h
asequencer.h ALSA: seq: Add UMP support 2023-05-23 12:11:21 +02:00
asound.h
asoundef.h
compress_driver.h ALSA: compress: Don't embed device 2023-08-17 09:24:15 +02:00
control.h ALSA: control: Introduce snd_ctl_find_id_mixer_locked() 2024-04-02 15:54:47 +01:00
core.h ALSA: core: Drop snd_device_initialize() 2023-08-17 09:24:33 +02:00
cs-amp-lib.h ASoC: cs-amp-lib: Add KUnit test for calibration helpers 2024-03-04 20:27:35 +00:00
cs35l33.h
cs35l34.h
cs35l35.h
cs35l36.h
cs35l41.h ALSA: hda: cs35l41: Set the max PCM Gain using tuning setting 2024-04-18 08:43:18 +02:00
cs35l56.h ASoC: cs35l56: Prevent overwriting firmware ASP config 2024-04-08 14:10:01 +01:00
cs42l42.h ASoC: cs42l42: Remove redundant delays in suspend(). 2024-02-19 17:02:18 +00:00
cs42l43.h ASoC: cs42l43: Add support for the cs42l43 2023-08-18 23:41:54 +01:00
cs42l52.h
cs42l56.h
cs42l73.h
cs4231-regs.h
cs4271.h ASoC: cs4271: Convert to GPIO descriptors 2023-12-01 16:59:21 +00:00
cs8403.h
cs8427.h
da7213.h
da7218.h
da7219-aad.h ASoC: da7219: Add Jack insertion detection polarity 2023-05-23 18:49:36 +01:00
da7219.h
da9055.h
designware_i2s.h ASoC: dwc: i2s: Add StarFive JH7110 SoC support 2023-08-23 13:56:40 +01:00
dmaengine_pcm.h ALSA: dmaengine: Synchronize dma channel after drop() 2024-06-11 17:13:31 +01:00
emu10k1_synth.h
emu10k1.h Merge branch 'topic/emu10k1-fix' into for-next 2024-04-28 12:00:57 +02:00
emu8000_reg.h
emu8000.h
emux_legacy.h
emux_synth.h ALSA: synth: Save a few bytes of memory when registering a 'snd_emux' 2024-01-22 13:04:22 +01:00
es1688.h
graph_card.h ASoC: simple_card_utils.h: convert not to use asoc_xxx() 2023-09-25 14:16:14 +02:00
gus.h
hda_chmap.h
hda_codec.h ALSA: hda: codec: Reduce CONFIG_PM dependencies 2024-05-08 18:05:08 +02:00
hda_component.h
hda_hwdep.h
hda_i915.h ALSA: hda: i915: Remove extra argument from snd_hdac_i915_init 2023-10-19 14:56:25 +02:00
hda_register.h ASoC: Intel: avs: ICCMAX recommendations for ICL+ platforms 2024-02-20 13:20:00 +00:00
hda_regmap.h
hda_verbs.h ALSA: cleanup double word in comment 2022-02-11 15:18:56 +01:00
hda-mlink.h ALSA/ASoC: include: clarify Copyright information 2024-05-09 20:26:34 +02:00
hdaudio_ext.h ALSA: hda: Add pplcllpl/u members to hdac_ext_stream 2024-03-25 16:36:05 +00:00
hdaudio.h ALSA: hda: Add Intel BMG PCI ID and HDMI codec vid 2024-05-08 18:15:19 +02:00
hdmi-codec.h ASoC: hdmi-codec: drop drm/drm_edid.h include 2024-01-16 16:07:28 +02:00
hwdep.h ALSA: hwdep: Don't embed device 2023-08-17 09:24:01 +02:00
i2c.h
info.h ALSA: info: Remove unused function declarations 2023-08-08 14:45:45 +02:00
initval.h
intel-dsp-config.h ASoC: Intel: avs: PCI driver implementation 2022-05-17 11:58:04 +01:00
intel-nhlt.h ALSA: hda: intel-nhlt: add intel_nhlt_ssp_device_type() function 2024-03-22 12:40:46 +01:00
jack.h ALSA: jack: Access input_dev under mutex 2022-04-12 12:19:05 +02:00
madera-pdata.h ASoC: madera: Replace kernel.h with the necessary inclusions 2022-07-05 13:00:49 +01:00
max9768.h ASoC: max9768: Convert to use GPIO descriptors 2023-09-11 12:50:05 +01:00
max98088.h
max98090.h
max98095.h
memalloc.h ALSA: memalloc: Drop special handling of GFP for CONTINUOUS allocation 2022-08-24 08:00:26 +02:00
minors.h
mixer_oss.h
mpu401.h
omap-hdmi-audio.h
opl3.h ALSA: opl3: Replace with __packed attribute 2023-10-26 09:43:15 +02:00
opl4.h
pcm_drm_eld.h
pcm_iec958.h
pcm_oss.h
pcm_params.h ALSA: hda: Upgrade stream-format infrastructure 2023-11-27 17:27:41 +01:00
pcm-indirect.h ALSA: pcm: Improved XRUN handling for indirect PCM helpers 2023-03-24 14:52:58 +01:00
pcm.h ALSA: pcm: fix typo in comment 2024-05-29 10:40:36 +02:00
pt2258.h
pxa2xx-lib.h Input: touchscreen: use wrapper for pxa2xx ac97 registers 2022-05-07 22:55:48 +02:00
rawmidi.h ALSA: rawmidi: Don't embed device 2023-08-17 09:24:08 +02:00
rt286.h
rt298.h
rt1015.h
rt5514.h
rt5659.h
rt5660.h
rt5663.h
rt5665.h ASoC: rt5665: Convert to use GPIO descriptors 2023-08-17 15:10:11 +01:00
rt5668.h ASoC: rt5668: Convert to use GPIO descriptors 2023-08-17 15:10:12 +01:00
rt5682.h ASoC: rt5682: Convert to use GPIO descriptors 2023-08-17 15:10:13 +01:00
rt5682s.h ASoC: rt5682s: Add LDO output selection for dacref 2023-11-14 17:39:27 +00:00
sb.h ALSA: als4000: Replace with DEFINE_SIMPLE_DEV_PM_OPS() 2024-02-12 11:50:24 +01:00
sb16_csp.h
sdw.h sound: sdw: Add hw_params to SoundWire config helper function 2022-11-28 13:04:24 +00:00
seq_device.h ALSA: seq: Bind UMP device 2023-05-23 12:11:33 +02:00
seq_kernel.h ALSA: seq: Add UMP support 2023-05-23 12:11:21 +02:00
seq_midi_emul.h
seq_midi_event.h
seq_oss_legacy.h
seq_oss.h
seq_virmidi.h
sh_dac_audio.h
sh_fsi.h
simple_card_utils.h ASoC: audio-graph-card2: Introduce playback-only/capture-only DAI link flags 2023-12-14 10:56:47 +00:00
simple_card.h ASoC: remove asoc_xxx() compatible macro 2023-09-26 17:18:45 +02:00
snd_wavefront.h
soc-acpi-intel-match.h ALSA/ASoC: include: clarify Copyright information 2024-05-09 20:26:34 +02:00
soc-acpi-intel-ssp-common.h ASoC: Intel: ssp-common: get codec tplg suffix function 2024-03-28 13:58:14 +00:00
soc-acpi.h ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
soc-card.h ASoC: soc-card: Fix missing locking in snd_soc_card_get_kcontrol() 2024-02-23 13:40:06 +00:00
soc-component.h ASoC: Name iov_iter argument as iterator instead of buffer 2023-09-01 15:38:49 +02:00
soc-dai.h ASoC: soc-dai: add flag to mute and unmute stream during trigger 2023-10-27 17:44:04 +01:00
soc-dapm.h ASoC: Merge fixes for consistent cs42l43 schema 2023-10-10 17:07:17 +01:00
soc-dpcm.h ASoC: soc-pcm: test if a BE can be prepared 2023-05-19 02:31:14 +09:00
soc-jack.h ASoC: soc-jack: Get rid of legacy GPIO support 2024-03-26 17:13:45 +00:00
soc-link.h
soc-topology.h ASoC: topology: Use unload() op directly 2023-01-30 16:56:41 +00:00
soc.h ASoC: Use inline function for type safety in snd_soc_substream_to_rtd() 2024-05-02 12:57:25 +09:00
sof.h ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
soundfont.h ALSA: emux: prune unused parameter from snd_soundfont_load_guspatch() 2024-04-07 08:35:45 +02:00
spear_dma.h
spear_spdif.h
sta32x.h
sta350.h
tas2552-plat.h
tas2781-dsp.h ASoC: tas2781: Fix wrong loading calibrated data sequence 2024-05-20 16:01:24 +01:00
tas2781-tlv.h ASoC: tas2781: mark dvc_tlv with __maybe_unused 2024-03-29 08:34:38 +01:00
tas2781.h ASoC: Intel: avs: Fixes and new platforms support 2024-02-21 00:52:26 +00:00
tas5086.h
tea6330t.h
timer.h
tlv.h
tlv320aic32x4.h
tlv320dac33-plat.h
tpa6130a2-plat.h
uda1380.h
ump_convert.h ALSA: ump: Export MIDI1 / UMP conversion helpers 2023-06-23 09:56:11 +02:00
ump_msg.h ALSA: ump: Support UMP Endpoint and Function Block parsing 2023-06-12 18:22:26 +02:00
ump.h ALSA: ump: Don't create unused substreams for static blocks 2023-08-24 10:03:17 +02:00
util_mem.h
vx_core.h
wavefront.h ALSA: wavefront: Drop obsoleted comments and definitions 2023-10-26 09:43:24 +02:00
wm0010.h ASoC: wm0010: Convert to GPIO descriptors 2023-12-08 14:31:57 +00:00
wm2000.h
wm2200.h ASoC: wm2200: Convert to GPIO descriptors 2023-12-08 14:31:59 +00:00
wm5100.h ASoC: wm5100: Convert to GPIO descriptors 2023-12-08 14:31:59 +00:00
wm8903.h
wm8904.h
wm8955.h
wm8960.h
wm8962.h
wm8993.h
wm8996.h ASoC: wm8996: Convert to GPIO descriptors 2023-12-08 14:32:00 +00:00
wm9081.h
wm9090.h
wss.h