aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/mpmd
diff options
context:
space:
mode:
authorSugandha Gupta <sugandha.gupta@ettus.com>2019-01-25 17:36:26 -0800
committerBrent Stapleton <brent.stapleton@ettus.com>2019-05-01 15:17:23 -0700
commitfe3fa1dd31b6da9c90cf181d64d6829313804cdd (patch)
tree2e81322cfe66e3e5cc1cb0ec58b29c7d3199e609 /host/lib/usrp/mpmd
parent178b35569b1a25180a80a23b945b10b04c9f10f5 (diff)
downloaduhd-fe3fa1dd31b6da9c90cf181d64d6829313804cdd.tar.gz
uhd-fe3fa1dd31b6da9c90cf181d64d6829313804cdd.tar.bz2
uhd-fe3fa1dd31b6da9c90cf181d64d6829313804cdd.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/usrp/mpmd')
-rw-r--r--host/lib/usrp/mpmd/mpmd_impl.cpp4
-rw-r--r--host/lib/usrp/mpmd/mpmd_impl.hpp3
2 files changed, 7 insertions, 0 deletions
diff --git a/host/lib/usrp/mpmd/mpmd_impl.cpp b/host/lib/usrp/mpmd/mpmd_impl.cpp
index b8ce6cabd..2f3584498 100644
--- a/host/lib/usrp/mpmd/mpmd_impl.cpp
+++ b/host/lib/usrp/mpmd/mpmd_impl.cpp
@@ -348,6 +348,10 @@ void mpmd_impl::setup_rpc_blocks(
}
}
+size_t mpmd_impl::get_mtu(const size_t mb_index, const uhd::direction_t dir) {
+ return _mb[mb_index]->get_mtu(dir);
+}
+
/*****************************************************************************
* Factory & Registry
****************************************************************************/
diff --git a/host/lib/usrp/mpmd/mpmd_impl.hpp b/host/lib/usrp/mpmd/mpmd_impl.hpp
index f74627afa..bdb6bd691 100644
--- a/host/lib/usrp/mpmd/mpmd_impl.hpp
+++ b/host/lib/usrp/mpmd/mpmd_impl.hpp
@@ -246,6 +246,9 @@ public:
uhd::usrp::device3_impl::xport_type_t,
const uhd::device_addr_t&);
+ //! get mtu
+ size_t get_mtu(const size_t, const uhd::direction_t);
+
private:
uhd::device_addr_t get_rx_hints(size_t mb_index);
uhd::device_addr_t get_tx_hints(size_t mb_index);