aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/utils
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/utils')
-rw-r--r--host/lib/utils/graph_utils.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/host/lib/utils/graph_utils.cpp b/host/lib/utils/graph_utils.cpp
index 89df30e15..aeb71b091 100644
--- a/host/lib/utils/graph_utils.cpp
+++ b/host/lib/utils/graph_utils.cpp
@@ -87,7 +87,8 @@ std::vector<graph_edge_t> connect_through_blocks(rfnoc_graph::sptr graph,
const block_id_t src_blk,
const size_t src_port,
const block_id_t dst_blk,
- const size_t dst_port)
+ const size_t dst_port,
+ const bool skip_property_propagation)
{
// First, create a chain from the source block to a stream endpoint
auto block_chain = get_block_chain(graph, src_blk, src_port, true);
@@ -136,6 +137,7 @@ std::vector<graph_edge_t> connect_through_blocks(rfnoc_graph::sptr graph,
std::string sep_to_dst_id;
size_t sep_to_dst_port = 0;
bool has_sep_to_dst_connection = false;
+ bool skip_pp = skip_property_propagation;
for (auto edge : block_chain) {
if (uhd::rfnoc::block_id_t(edge.dst_blockid).match(uhd::rfnoc::NODE_ID_SEP)) {
@@ -149,11 +151,13 @@ std::vector<graph_edge_t> connect_through_blocks(rfnoc_graph::sptr graph,
sep_to_dst_port = edge.dst_port;
} else {
graph->connect(
- edge.src_blockid, edge.src_port, edge.dst_blockid, edge.dst_port);
+ edge.src_blockid, edge.src_port, edge.dst_blockid, edge.dst_port, skip_pp);
+ skip_pp = false;
}
}
if (has_src_to_sep_connection && has_sep_to_dst_connection) {
- graph->connect(src_to_sep_id, src_to_sep_port, sep_to_dst_id, sep_to_dst_port);
+ graph->connect(
+ src_to_sep_id, src_to_sep_port, sep_to_dst_id, sep_to_dst_port, skip_pp);
} else if (has_src_to_sep_connection != has_sep_to_dst_connection) {
const std::string err_msg = "Incomplete path. Only one SEP edge found.";
UHD_LOG_TRACE("GRAPH_UTILS", err_msg);