ASoC: Intel: haswell: Mark FE DAIs as nonatomic
authorCezary Rojewski <cezary.rojewski@intel.com>
Sun, 4 Oct 2020 09:06:09 +0000 (11:06 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 5 Oct 2020 17:18:44 +0000 (18:18 +0100)
PCM operations for DAI links connected with DSP platform component
involve communication with DSP firmware by IPCs. As IPC protocol may
cause thread to sleep while waiting for a response from DSP, propagate
that information to ALSA core by marking all FE DAIs as nonatomic.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20201004090609.29066-4-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/haswell.c

index c268405..c55d123 100644 (file)
@@ -103,6 +103,7 @@ static struct snd_soc_dai_link haswell_rt5640_dais[] = {
        {
                .name = "System",
                .stream_name = "System Playback/Capture",
+               .nonatomic = 1,
                .dynamic = 1,
                .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
                .dpcm_playback = 1,
@@ -112,6 +113,7 @@ static struct snd_soc_dai_link haswell_rt5640_dais[] = {
        {
                .name = "Offload0",
                .stream_name = "Offload0 Playback",
+               .nonatomic = 1,
                .dynamic = 1,
                .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
                .dpcm_playback = 1,
@@ -120,6 +122,7 @@ static struct snd_soc_dai_link haswell_rt5640_dais[] = {
        {
                .name = "Offload1",
                .stream_name = "Offload1 Playback",
+               .nonatomic = 1,
                .dynamic = 1,
                .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
                .dpcm_playback = 1,
@@ -128,6 +131,7 @@ static struct snd_soc_dai_link haswell_rt5640_dais[] = {
        {
                .name = "Loopback",
                .stream_name = "Loopback",
+               .nonatomic = 1,
                .dynamic = 1,
                .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
                .dpcm_capture = 1,