Sound Open Firmware
Loading...
Searching...
No Matches

Direct Memory Access (DMA) trace buffer management and host streaming. More...

Include dependency graph for dma-trace.h:

Go to the source code of this file.

Data Structures

struct  dma_trace_buf
 Internal ring buffer descriptor for DSP trace packets. More...
 
struct  dma_trace_data
 Main DMA trace context and state machine descriptor. More...
 

Functions

int dma_trace_init_early (struct sof *sof)
 Early initialization of the DMA trace subsystem during bootstrap.
 
int dma_trace_init_complete (struct dma_trace_data *d)
 Complete initialization of DMA trace once host channel is negotiated.
 
int dma_trace_host_buffer (struct dma_trace_data *d, struct dma_sg_elem_array *elem_array, uint32_t host_size)
 Configure the host-side destination scatter-gather buffer for DMA trace.
 
int dma_trace_enable (struct dma_trace_data *d)
 Enable DMA trace streaming to the host.
 
void dma_trace_disable (struct dma_trace_data *d)
 Disable DMA trace streaming and cancel pending periodic tasks.
 
void dma_trace_flush (void *destination)
 Flush residual trace data from local DSP buffer to destination memory or mailbox.
 
void dma_trace_on (void)
 Globally unpause and resume trace event logging.
 
void dma_trace_off (void)
 Globally pause trace event logging.
 
void dtrace_event (const char *e, uint32_t size)
 Append a binary trace event to the circular buffer.
 
void dtrace_event_atomic (const char *e, uint32_t length)
 Append a binary trace event to the buffer from atomic or interrupt context.
 
static bool dma_trace_initialized (const struct dma_trace_data *d)
 Check whether DMA trace subsystem has been initialized.
 
static struct dma_trace_data * dma_trace_data_get (void)
 Retrieve global DMA trace data context from system runtime.
 
static uint32_t dtrace_calc_buf_margin (struct dma_trace_buf *buffer)
 Calculate contiguous bytes remaining until the end of the circular buffer.
 

Detailed Description

Direct Memory Access (DMA) trace buffer management and host streaming.