From 16e35e61e4dfae2f947e78969bd620a1c6e389dc Mon Sep 17 00:00:00 2001 From: Tomasz Lauda Date: Mon, 13 Jan 2020 15:28:57 +0100 Subject: [PATCH] trace: use platform_shared_commit() Uses new platform_shared_commit() function to commit shared trace data. Signed-off-by: Tomasz Lauda --- src/trace/trace.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/trace/trace.c b/src/trace/trace.c index 273310527..af3401a90 100644 --- a/src/trace/trace.c +++ b/src/trace/trace.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -77,6 +78,8 @@ static void mtrace_event(const char *data, uint32_t length) dcache_writeback_region((void *)t, i); trace->pos = i; } + + platform_shared_commit(trace, sizeof(*trace)); } #define _TRACE_EVENT_NTH_IMPL_PAYLOAD_STEP(i, _) \ @@ -101,8 +104,10 @@ META_IF_ELSE(is_atomic)(_atomic)() \ META_IF_ELSE(is_atomic)()(unsigned long flags;) \ )() \ \ - if (!trace->enable) \ + if (!trace->enable) { \ + platform_shared_commit(trace, sizeof(*trace)); \ return; \ + } \ \ put_header(dt, id_0, id_1, log_entry, \ platform_timer_get(timer_get())); \ @@ -204,6 +209,8 @@ void trace_flush(void) /* flush dma trace messages */ dma_trace_flush((void *)t); + platform_shared_commit(trace, sizeof(*trace)); + spin_unlock_irq(trace->lock, flags); } @@ -217,6 +224,8 @@ void trace_on(void) trace->enable = 1; dma_trace_on(); + platform_shared_commit(trace, sizeof(*trace)); + spin_unlock_irq(trace->lock, flags); } @@ -230,6 +239,8 @@ void trace_off(void) trace->enable = 0; dma_trace_off(); + platform_shared_commit(trace, sizeof(*trace)); + spin_unlock_irq(trace->lock, flags); } @@ -243,6 +254,8 @@ void trace_init(struct sof *sof) sof->trace->pos = 0; spinlock_init(&sof->trace->lock); + platform_shared_commit(sof->trace, sizeof(*sof->trace)); + bzero((void *)MAILBOX_TRACE_BASE, MAILBOX_TRACE_SIZE); dcache_writeback_invalidate_region((void *)MAILBOX_TRACE_BASE, MAILBOX_TRACE_SIZE);