[Sound-open-firmware] [PATCH] Revert "Move DMA tracing intialization calling."
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Thu Nov 2 19:26:30 CET 2017
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 at svenschwermer.de>
Cc: Yan Wang <yan.wang at linux.intel.com>
Cc: Liam Girdwood <liam.r.girdwood at linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at 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);
--
2.11.0
More information about the Sound-open-firmware
mailing list