Commit 274a3e6f authored by Mark Brown's avatar Mark Brown

ASoC: SOF: Intel: hda-dai: No need to decouple host/link DMA twice

Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:

There is no need to decouple a decoupled stream twice.
Keep the decoupling in hda_link_stream_assign() only as it is going to be
executed in all cases.

Drop the outdated comment from hda_link_dma_hw_params() as well since the code
has changed around it.
parents d5bd47f3 fbabebfb
...@@ -126,12 +126,8 @@ hda_link_stream_assign(struct hdac_bus *bus, ...@@ -126,12 +126,8 @@ hda_link_stream_assign(struct hdac_bus *bus,
} }
if (res) { if (res) {
/* /* Make sure that host and link DMA is decoupled. */
* Decouple host and link DMA. The decoupled flag snd_hdac_ext_stream_decouple_locked(bus, res, true);
* is updated in snd_hdac_ext_stream_decouple().
*/
if (!res->decoupled)
snd_hdac_ext_stream_decouple_locked(bus, res, true);
res->link_locked = 1; res->link_locked = 1;
res->link_substream = substream; res->link_substream = substream;
...@@ -184,7 +180,6 @@ static int hda_link_dma_params(struct hdac_ext_stream *hext_stream, ...@@ -184,7 +180,6 @@ static int hda_link_dma_params(struct hdac_ext_stream *hext_stream,
struct hdac_ext_link *link; struct hdac_ext_link *link;
unsigned int format_val; unsigned int format_val;
snd_hdac_ext_stream_decouple(bus, hext_stream, true);
snd_hdac_ext_link_stream_reset(hext_stream); snd_hdac_ext_link_stream_reset(hext_stream);
format_val = snd_hdac_calc_stream_format(params->s_freq, params->ch, format_val = snd_hdac_calc_stream_format(params->s_freq, params->ch,
...@@ -221,7 +216,6 @@ static int hda_link_dma_hw_params(struct snd_pcm_substream *substream, ...@@ -221,7 +216,6 @@ static int hda_link_dma_hw_params(struct snd_pcm_substream *substream,
struct hdac_bus *bus = hstream->bus; struct hdac_bus *bus = hstream->bus;
struct hdac_ext_link *link; struct hdac_ext_link *link;
/* get stored dma data if resuming from system suspend */
hext_stream = snd_soc_dai_get_dma_data(cpu_dai, substream); hext_stream = snd_soc_dai_get_dma_data(cpu_dai, substream);
if (!hext_stream) { if (!hext_stream) {
hext_stream = hda_link_stream_assign(bus, substream); hext_stream = hda_link_stream_assign(bus, substream);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment