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: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
6 * Artur Kloniecki <arturx.kloniecki@linux.intel.com>
7 */
8
15#ifndef __IPC_PROBE_H__
16#define __IPC_PROBE_H__
17
18#include <ipc/header.h>
19#include <rtos/bit.h>
20#include <stdint.h>
21
23#define PROBE_LOGGING_BUFFER_ID 0
24
29#define PROBE_PURPOSE_EXTRACTION 0x1
30#define PROBE_PURPOSE_INJECTION 0x2
31#define PROBE_PURPOSE_LOGGING 0x3
32#define PROBE_PURPOSE_TRACING 0x4
39struct probe_dma {
40 uint32_t stream_tag;
41 uint32_t dma_buffer_size;
42} __attribute__((packed, aligned(4)));
43
48typedef struct probe_point_id {
49 uint32_t full_id;
50} __attribute__((packed, aligned(4))) probe_point_id_t;
51
58 uint32_t purpose;
59 uint32_t stream_tag;
60} __attribute__((packed, aligned(4)));
61
68 uint32_t num_elems;
70} __attribute__((packed, aligned(4)));
71
78 uint32_t num_elems;
79 union {
80 struct probe_dma probe_dma[0];
82 };
83} __attribute__((packed, aligned(4)));
84
91 uint32_t num_elems;
92 uint32_t stream_tag[];
93} __attribute__((packed, aligned(4)));
94
101 uint32_t num_elems;
103} __attribute__((packed, aligned(4)));
104
111 uint32_t num_elems;
112 uint32_t buffer_id[];
113} __attribute__((packed, aligned(4)));
114
115#endif /* __IPC_PROBE_H__ */
IPC command header.
Host DMA channel descriptor allocated for audio probes.
Definition probe.h:39
uint32_t stream_tag
Stream tag associated with this DMA channel.
Definition probe.h:40
uint32_t dma_buffer_size
Size of host DMA buffer in bytes.
Definition probe.h:41
Packed identifier identifying target audio buffer for probe attachment.
Definition probe.h:48
uint32_t full_id
Packed buffer identifier.
Definition probe.h:49
Probe tap point descriptor binding a pipeline buffer to a probe purpose.
Definition probe.h:56
uint32_t stream_tag
Stream tag of DMA for injection; ignored on extraction request and populated on reply.
Definition probe.h:59
uint32_t purpose
Probe role (PROBE_PURPOSE_*)
Definition probe.h:58
probe_point_id_t buffer_id
ID of pipeline buffer to which probe is attached.
Definition probe.h:57
Command Header - Header for all IPC commands.
Definition header.h:357
DMA ADD for probes payload (SOF_IPC_PROBE_INIT, SOF_IPC_PROBE_DMA_ADD).
Definition probe.h:66
struct sof_ipc_cmd_hdr hdr
Header.
Definition probe.h:67
uint32_t num_elems
Count of DMAs specified in array.
Definition probe.h:68
Probe DMA remove payload (SOF_IPC_PROBE_DMA_REMOVE).
Definition probe.h:89
uint32_t stream_tag[]
Array of stream tags associated with DMAs to remove.
Definition probe.h:92
struct sof_ipc_cmd_hdr hdr
Header.
Definition probe.h:90
uint32_t num_elems
Count of stream tags specified in array.
Definition probe.h:91
Reply to INFO queries (SOF_IPC_PROBE_DMA_INFO, SOF_IPC_PROBE_POINT_INFO).
Definition probe.h:76
struct sof_ipc_reply rhdr
Header.
Definition probe.h:77
uint32_t num_elems
Count of elements in array.
Definition probe.h:78
Add probe points payload (SOF_IPC_PROBE_POINT_ADD).
Definition probe.h:99
uint32_t num_elems
Count of Probe Points specified in array.
Definition probe.h:101
struct sof_ipc_cmd_hdr hdr
Header.
Definition probe.h:100
Remove probe points payload (SOF_IPC_PROBE_POINT_REMOVE).
Definition probe.h:109
uint32_t num_elems
Count of buffer IDs specified in array.
Definition probe.h:111
struct sof_ipc_cmd_hdr hdr
Header.
Definition probe.h:110
uint32_t buffer_id[]
Array of buffer IDs from which Probe Points should be removed.
Definition probe.h:112
Generic reply message.
Definition header.h:366