Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions sound/soc/sof/intel/hda-trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,17 @@ int hda_dsp_trace_init(struct snd_sof_dev *sdev, u32 *stream_tag)
return -ENODEV;
}

/*
* There is a HW limitation that requires the host and link DMA engines
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope. the hw recommended programming sequence is to couple the host and link DMA so set the format, as done in a previous commit. This change has nothing to do with reset.

* to be coupled whenever link DMA engine needs to be reset. This means
* that even in decoupled mode, we always need to reserve link and
* host DMA channels with the same ID. Trace utilizes only the host DMA.
* Therefore, to prevent the link DMA with the same ID as trace host DMA
* from being assigned to another stream, its link_locked attribute
* must be set.
*/
hda->dtrace_stream->link_locked = 1;

*stream_tag = hda->dtrace_stream->hstream.stream_tag;

/*
Expand Down Expand Up @@ -78,6 +89,7 @@ int hda_dsp_trace_release(struct snd_sof_dev *sdev)
hda_dsp_stream_put(sdev,
SNDRV_PCM_STREAM_CAPTURE,
hstream->stream_tag);
hda->dtrace_stream->link_locked = 0;
hda->dtrace_stream = NULL;
return 0;
}
Expand Down