From 3a73923309f66b05f05528534ab82e02150482ca Mon Sep 17 00:00:00 2001 From: Wade Fife Date: Wed, 16 Dec 2020 15:48:13 -0600 Subject: rfnoc: Fix remote stream buffer format When configuring remote streams, we were setting the format at the source stream endpoint, but not at the destination stream endpoint. Therefore, the destination used the default or whatever it was set to during a previous run. This change sets the format at the destination stream to match the format of the source stream. --- host/lib/rfnoc/mgmt_portal.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'host/lib') 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); -- cgit v1.2.3