This reverts commit 97addafa1025cdb3413f2c663bc0513a1ecf4cd5.
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 --- src/ipc/intel-ipc.c | 7 +++++++ src/platform/baytrail/platform.c | 4 ---- 2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/ipc/intel-ipc.c b/src/ipc/intel-ipc.c index 902e5a6..f6d88ef 100644 --- a/src/ipc/intel-ipc.c +++ b/src/ipc/intel-ipc.c @@ -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, ¶ms->buffer); if (err < 0) { diff --git a/src/platform/baytrail/platform.c b/src/platform/baytrail/platform.c index 61596bb..b701196 100644 --- a/src/platform/baytrail/platform.c +++ b/src/platform/baytrail/platform.c @@ -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);