diff options
author | Sugandha Gupta <sugandha.gupta@ettus.com> | 2019-01-25 17:36:26 -0800 |
---|---|---|
committer | michael-west <michael.west@ettus.com> | 2019-05-21 17:20:42 -0700 |
commit | 2960e559515348dce83bfdbdd6ef39e551235045 (patch) | |
tree | 1a603f4c28f23c5bccd298b9be57b92a5991defc /host/lib/rfnoc/sink_block_ctrl_base.cpp | |
parent | 41f732a4c8bb9df116a01958f0914708475097df (diff) | |
download | uhd-2960e559515348dce83bfdbdd6ef39e551235045.tar.gz uhd-2960e559515348dce83bfdbdd6ef39e551235045.tar.bz2 uhd-2960e559515348dce83bfdbdd6ef39e551235045.zip |
device3: Constraint send/recv_frame_size based on down/upstream MTU
We need to properly contraint the send/recv_frame_size based on the
minimum MTU of all the down/upstream blocks. This fixes the issue with
E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
Diffstat (limited to 'host/lib/rfnoc/sink_block_ctrl_base.cpp')
-rw-r--r-- | host/lib/rfnoc/sink_block_ctrl_base.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/host/lib/rfnoc/sink_block_ctrl_base.cpp b/host/lib/rfnoc/sink_block_ctrl_base.cpp index bb81706f9..f1d65350a 100644 --- a/host/lib/rfnoc/sink_block_ctrl_base.cpp +++ b/host/lib/rfnoc/sink_block_ctrl_base.cpp @@ -43,11 +43,19 @@ std::vector<size_t> sink_block_ctrl_base::get_input_ports() const **********************************************************************/ size_t sink_block_ctrl_base::get_fifo_size(size_t block_port) const { - if (_tree->exists( - _root_path / "input_buffer_size" / str(boost::format("%d") % block_port))) { + if (_tree->exists(_root_path / "input_buffer_size" / std::to_string(block_port))) { return _tree ->access<size_t>( - _root_path / "input_buffer_size" / str(boost::format("%d") % block_port)) + _root_path / "input_buffer_size" / std::to_string(block_port)) + .get(); + } + return 0; +} + +size_t sink_block_ctrl_base::get_mtu(size_t block_port) const +{ + if (_tree->exists(_root_path / "mtu" / std::to_string(block_port))) { + return _tree->access<size_t>(_root_path / "mtu" / std::to_string(block_port)) .get(); } return 0; |