aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/x300/x300_impl.hpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2016-12-13 11:33:33 -0800
committerMartin Braun <martin.braun@ettus.com>2016-12-13 11:33:33 -0800
commitb0f01fd4dd9b2072b6e84137225ab52d2e13d8ca (patch)
treea93f9ae8aca500718e6c6ae8ba0e11f2cfa23fd5 /host/lib/usrp/x300/x300_impl.hpp
parentd29960ec1466dbe009dad649672c33ee44467e27 (diff)
parent582553984cfd70ae11f5c12da568e4a0a74888d2 (diff)
downloaduhd-b0f01fd4dd9b2072b6e84137225ab52d2e13d8ca.tar.gz
uhd-b0f01fd4dd9b2072b6e84137225ab52d2e13d8ca.tar.bz2
uhd-b0f01fd4dd9b2072b6e84137225ab52d2e13d8ca.zip
Merge branch 'maint'
Diffstat (limited to 'host/lib/usrp/x300/x300_impl.hpp')
-rw-r--r--host/lib/usrp/x300/x300_impl.hpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/host/lib/usrp/x300/x300_impl.hpp b/host/lib/usrp/x300/x300_impl.hpp
index 3ae37b54a..53ef012d4 100644
--- a/host/lib/usrp/x300/x300_impl.hpp
+++ b/host/lib/usrp/x300/x300_impl.hpp
@@ -67,6 +67,8 @@ static const size_t X300_PCIE_MAX_MUXED_XPORTS = 32;
static const size_t X300_10GE_DATA_FRAME_MAX_SIZE = 8000; // CHDR packet size in bytes
static const size_t X300_1GE_DATA_FRAME_MAX_SIZE = 1472; // CHDR packet size in bytes
static const size_t X300_ETH_MSG_FRAME_SIZE = uhd::transport::udp_simple::mtu; //bytes
+// MTU throttling for ethernet/TX (see above):
+static const size_t X300_ETH_DATA_FRAME_MAX_TX_SIZE = 2000;
static const double X300_THREAD_BUFFER_TIMEOUT = 0.1; // Time in seconds
@@ -191,6 +193,19 @@ private:
std::string current_refclk_src;
std::vector<uhd::rfnoc::x300_radio_ctrl_impl::sptr> radios;
+
+ // PCIe specific components:
+
+ //! Maps SID -> DMA channel
+ std::map<uint32_t, uint32_t> _dma_chan_pool;
+ //! Control transport for one PCIe connection
+ uhd::transport::muxed_zero_copy_if::sptr ctrl_dma_xport;
+
+ /*! Allocate or return a previously allocated PCIe channel pair
+ *
+ * Note the SID is always the transmit SID (i.e. from host to device).
+ */
+ uint32_t allocate_pcie_dma_chan(const uhd::sid_t &tx_sid, const xport_type_t xport_type);
};
std::vector<mboard_members_t> _mb;
@@ -224,15 +239,6 @@ private:
*/
frame_size_t determine_max_frame_size(const std::string &addr, const frame_size_t &user_mtu);
- std::map<uint32_t, uint32_t> _dma_chan_pool;
- uhd::transport::muxed_zero_copy_if::sptr _ctrl_dma_xport;
-
- /*! Allocate or return a previously allocated PCIe channel pair
- *
- * Note the SID is always the transmit SID (i.e. from host to device).
- */
- uint32_t allocate_pcie_dma_chan(const uhd::sid_t &tx_sid, const xport_type_t xport_type);
-
////////////////////////////////////////////////////////////////////
//
//Caching for transport interface re-use -- like sharing a DMA.