aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrent Stapleton <brent.stapleton@ettus.com>2018-03-27 13:17:39 -0700
committerMartin Braun <martin.braun@ettus.com>2018-03-29 15:05:06 -0700
commitdef3b6b2b8e2cb4f63b6d897b7bc2fa9225d5c05 (patch)
tree977328afe1ad75cb19f8bbff61a2f2e306bb1dfb
parent01d92699ebaada6fd6a8dd6bb9fbd05fa2f842fc (diff)
downloaduhd-def3b6b2b8e2cb4f63b6d897b7bc2fa9225d5c05.tar.gz
uhd-def3b6b2b8e2cb4f63b6d897b7bc2fa9225d5c05.tar.bz2
uhd-def3b6b2b8e2cb4f63b6d897b7bc2fa9225d5c05.zip
rfnoc radio: get_rx_stream resets sequence num
Reset the RX sequence number whenever an RX streamer is created. Reviewed-by: Martin Braun <martin.braun@ettus.com>
-rw-r--r--host/lib/usrp/device3/device3_io_impl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/host/lib/usrp/device3/device3_io_impl.cpp b/host/lib/usrp/device3/device3_io_impl.cpp
index fed273ae2..236269ceb 100644
--- a/host/lib/usrp/device3/device3_io_impl.cpp
+++ b/host/lib/usrp/device3/device3_io_impl.cpp
@@ -552,6 +552,11 @@ rx_streamer::sptr device3_impl::get_rx_stream(const stream_args_t &args_)
UHD_RX_STREAMER_LOG() << std::hex << "data_sid = " << xport.send_sid << std::dec << " actual recv_buff_size = " << xport.recv_buff_size ;
// Configure the block
+ // Note: We need to set_destination() after writing to SR_CLEAR_TX_FC.
+ // See noc_shell.v, in the section called Stream Source for details.
+ // Setting SR_CLEAR_TX_FC will actually also clear the destination and
+ // other settings.
+ blk_ctrl->sr_write(uhd::rfnoc::SR_CLEAR_TX_FC, 0xc1ea12, block_port);
blk_ctrl->set_destination(xport.send_sid.get_src(), block_port);
blk_ctrl->sr_write(uhd::rfnoc::SR_RESP_OUT_DST_SID, xport.send_sid.get_src(), block_port);