12 namespace uhd {
namespace rfnoc {
116 static const uint16_t MINOR_COMPAT;
117 static const uint16_t MAJOR_COMPAT;
119 static const uint32_t REPLAY_ADDR_W;
120 static const uint32_t REPLAY_BLOCK_OFFSET;
122 static const uint32_t REG_COMPAT_ADDR;
123 static const uint32_t REG_MEM_SIZE_ADDR;
124 static const uint32_t REG_REC_RESTART_ADDR;
125 static const uint32_t REG_REC_BASE_ADDR_LO_ADDR;
126 static const uint32_t REG_REC_BASE_ADDR_HI_ADDR;
127 static const uint32_t REG_REC_BUFFER_SIZE_LO_ADDR;
128 static const uint32_t REG_REC_BUFFER_SIZE_HI_ADDR;
129 static const uint32_t REG_REC_FULLNESS_LO_ADDR;
130 static const uint32_t REG_REC_FULLNESS_HI_ADDR;
131 static const uint32_t REG_PLAY_BASE_ADDR_LO_ADDR;
132 static const uint32_t REG_PLAY_BASE_ADDR_HI_ADDR;
133 static const uint32_t REG_PLAY_BUFFER_SIZE_LO_ADDR;
134 static const uint32_t REG_PLAY_BUFFER_SIZE_HI_ADDR;
135 static const uint32_t REG_PLAY_CMD_NUM_WORDS_LO_ADDR;
136 static const uint32_t REG_PLAY_CMD_NUM_WORDS_HI_ADDR;
137 static const uint32_t REG_PLAY_CMD_TIME_LO_ADDR;
138 static const uint32_t REG_PLAY_CMD_TIME_HI_ADDR;
139 static const uint32_t REG_PLAY_CMD_ADDR;
140 static const uint32_t REG_PLAY_WORDS_PER_PKT_ADDR;
141 static const uint32_t REG_PLAY_ITEM_SIZE_ADDR;
142 static const uint32_t REG_REC_POS_LO_ADDR;
143 static const uint32_t REG_REC_POS_HI_ADDR;
144 static const uint32_t REG_PLAY_POS_LO_ADDR;
145 static const uint32_t REG_PLAY_POS_HI_ADDR;
146 static const uint32_t REG_PLAY_CMD_FIFO_SPACE_ADDR;
148 static const uint32_t PLAY_CMD_STOP;
149 static const uint32_t PLAY_CMD_FINITE;
150 static const uint32_t PLAY_CMD_CONTINUOUS;
172 const uint64_t offset, const uint64_t size, const
size_t port = 0) = 0;
180 virtual
void record_restart(const
size_t port = 0) = 0;
222 virtual
void play(const uint64_t offset,
224 const
size_t port = 0,
226 const
bool repeat = false) = 0;
235 virtual
void stop(const
size_t port = 0) = 0;
244 virtual uint64_t get_mem_size() const = 0;
250 virtual uint64_t get_word_size() const = 0;
260 virtual uint64_t get_record_offset(const
size_t port = 0) const = 0;
267 virtual uint64_t get_record_size(const
size_t port = 0) const = 0;
277 virtual uint64_t get_record_fullness(const
size_t port = 0) = 0;
284 virtual uint64_t get_record_position(const
size_t port = 0) = 0;
291 virtual
io_type_t get_record_type(const
size_t port = 0) const = 0;
298 virtual
size_t get_record_item_size(const
size_t port = 0) const = 0;
313 virtual
bool get_record_async_metadata(
324 virtual uint64_t get_play_offset(const
size_t port = 0) const = 0;
331 virtual uint64_t get_play_size(const
size_t port = 0) const = 0;
338 virtual uint64_t get_play_position(const
size_t port = 0) = 0;
345 virtual uint32_t get_max_items_per_packet(const
size_t port = 0) const = 0;
354 virtual uint32_t get_max_packet_size(const
size_t port = 0) const = 0;
361 virtual
io_type_t get_play_type(const
size_t port = 0) const = 0;
368 virtual
size_t get_play_item_size(const
size_t port = 0) const = 0;
383 virtual
bool get_play_async_metadata(
396 virtual
void set_record_type(const
io_type_t type, const
size_t port = 0) = 0;
415 virtual
void config_play(
416 const uint64_t offset, const uint64_t size, const
size_t port = 0) = 0;
425 virtual
void set_play_type(const
io_type_t type, const
size_t port = 0) = 0;
436 virtual
void set_max_items_per_packet(const uint32_t ipp, const
size_t port = 0) = 0;
446 virtual
void set_max_packet_size(const uint32_t size, const
size_t port = 0) = 0;
464 virtual
void issue_stream_cmd(