Sound Open Firmware
Loading...
Searching...
No Matches
probe.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2019 Intel Corporation. All rights reserved.
4 *
5 * Author: Artur Kloniecki <arturx.kloniecki@linux.intel.com>
6 */
7
14#ifndef __SOF_PROBE_PROBE_H__
15#define __SOF_PROBE_PROBE_H__
16
17#include <ipc/probe.h>
18#include <sys/types.h>
19
27typedef ssize_t(*probe_logging_hook_t)(uint8_t *buffer, size_t length);
28
29#if CONFIG_LOG_BACKEND_SOF_PROBE
30const struct log_backend *log_backend_probe_get(void);
31bool probe_is_backend_configured(void);
32#endif
33
40
48int probe_init(const struct probe_dma *extraction_probe_dma);
49
55int probe_deinit(void);
56
64int probe_dma_add(uint32_t count, const struct probe_dma *probe_dma);
65
73int probe_dma_info(struct sof_ipc_probe_info_params *data, uint32_t max_size);
74
82int probe_dma_remove(uint32_t count, const uint32_t *stream_tag);
83
91int probe_point_add(uint32_t count, const struct probe_point *probe);
92
100int probe_point_info(struct sof_ipc_probe_info_params *data, uint32_t max_size);
101
109int probe_point_remove(uint32_t count, const uint32_t *buffer_id);
110
116static inline struct probe_pdata *probe_get(void)
117{
118 return sof_get()->probe;
119}
120
121#endif /* __SOF_PROBE_PROBE_H__ */
int probe_dma_info(struct sof_ipc_probe_info_params *data, uint32_t max_size)
Query configuration information for active injection DMAs.
void probe_logging_init(probe_logging_hook_t hook)
Initialize the probe logging backend.
int probe_deinit(void)
Deinitialize the probes subsystem and detach extraction DMA.
int probe_dma_add(uint32_t count, const struct probe_dma *probe_dma)
Configure injection DMA channels for inserting audio streams into pipelines.
int probe_dma_remove(uint32_t count, const uint32_t *stream_tag)
Disconnect and remove active injection DMA channels.
int probe_point_info(struct sof_ipc_probe_info_params *data, uint32_t max_size)
Query configuration of currently active probe points.
ssize_t(* probe_logging_hook_t)(uint8_t *buffer, size_t length)
Callback hook invoked when a chunk of probe logging data is ready.
Definition probe.h:27
int probe_init(const struct probe_dma *extraction_probe_dma)
Initialize the audio probes subsystem.
int probe_point_remove(uint32_t count, const uint32_t *buffer_id)
Detach and remove probe points from pipeline buffers.
int probe_point_add(uint32_t count, const struct probe_point *probe)
Attach probe points to audio pipeline buffers for stream tap/injection.
static struct probe_pdata * probe_get(void)
Retrieve global probes private data context from SOF runtime.
Definition probe.h:116
uint8_t data[0]
Binary byte payload for raw controls.
Definition header.h:5
struct sof * sof_get(void)
Get the global Sound Open Firmware runtime instance pointer.
Host DMA channel descriptor allocated for audio probes.
Definition probe.h:39
Probe tap point descriptor binding a pipeline buffer to a probe purpose.
Definition probe.h:56
Reply to INFO queries (SOF_IPC_PROBE_DMA_INFO, SOF_IPC_PROBE_POINT_INFO).
Definition probe.h:76
struct probe_pdata * probe
Definition sof.h:112