diff options
Diffstat (limited to 'host/lib')
-rw-r--r-- | host/lib/rfnoc/mgmt_portal.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/host/lib/rfnoc/mgmt_portal.cpp b/host/lib/rfnoc/mgmt_portal.cpp index a54efaaf7..7b09c540b 100644 --- a/host/lib/rfnoc/mgmt_portal.cpp +++ b/host/lib/rfnoc/mgmt_portal.cpp @@ -617,6 +617,24 @@ public: _send_recv_mgmt_transaction(xport, cfg_xact); } + // Build a management transaction to configure the destination node + { + mgmt_payload cfg_xact; + cfg_xact.set_header(my_epid, _protover, _chdr_w); + _traverse_to_node(cfg_xact, dst_node_addr); + mgmt_hop_t cfg_hop; + // Configure buffer types + cfg_hop.add_op(mgmt_op_t(mgmt_op_t::MGMT_OP_CFG_WR_REQ, + mgmt_op_t::cfg_payload(REG_ISTRM_CTRL_STATUS, + BUILD_CTRL_STATUS_WORD(false, false, BUFF_U64, BUFF_U64, false)))); + // Return the packet back to us + cfg_hop.add_op(mgmt_op_t(mgmt_op_t::MGMT_OP_RETURN)); + // Send the transaction and receive a response. + // We don't care about the contents of the response. + cfg_xact.add_hop(cfg_hop); + _send_recv_mgmt_transaction(xport, cfg_xact); + } + // Wait for stream configuration to finish on the HW side _validate_stream_setup(xport, src_node_addr, timeout); |