Revert "Move DMA tracing intialization calling."

This reverts commit 97addafa10.

git bisect tells me this is the source of IPC timeouts, 100% reproducible

[  162.496099] sof-audio sof-audio: error: ipc timed out for 0x90010000 size 0x18
[  162.496590] sof-audio sof-audio: error: cant set params for DMA for Trace-110
[  162.496636] sof-audio sof-audio: error: failed to initialize trace -110
[  162.808132] sof-audio sof-audio: error: ipc timed out for 0x30010000 size 0x3c

The same errors were also reported by Sven Schwermer on the mailing list
on a Tangier device, revert until we figure out what's wrong.

Cc: Sven Schwermer <sven@svenschwermer.de>
Cc: Yan Wang <yan.wang@linux.intel.com>
Cc: Liam Girdwood <liam.r.girdwood@linux.intel.com>

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This commit is contained in:
Pierre-Louis Bossart 2017-11-02 13:26:30 -05:00 committed by Liam Girdwood
parent 2dac794a89
commit 8b299ceb59
2 changed files with 7 additions and 4 deletions

View File

@ -583,6 +583,13 @@ static int ipc_dma_trace_config(uint32_t header)
trace_ipc_error("DA1");
/* Initialize DMA for Trace*/
err = dma_trace_init(&_ipc->dmat);
if (err < 0) {
trace_ipc_error("eIP");
goto error;
}
/* use DMA to read in compressed page table ringbuffer from host */
err = get_page_descriptors(iipc, &params->buffer);
if (err < 0) {

View File

@ -46,7 +46,6 @@
#include <reef/clock.h>
#include <reef/ipc.h>
#include <reef/trace.h>
#include <reef/dma-trace.h>
#include <reef/audio/component.h>
#include <config.h>
#include <string.h>
@ -297,9 +296,6 @@ int platform_init(struct reef *reef)
trace_point(TRACE_BOOT_PLATFORM_IPC);
ipc_init(reef);
/* Initialize DMA for Trace*/
dma_trace_init(&reef->ipc->dmat);
/* init DMACs */
trace_point(TRACE_BOOT_PLATFORM_DMA);
dmac0 = dma_get(DMA_ID_DMAC0);