From a2e59940dcdeb7ba120339a823c34f8d31cf322e Mon Sep 17 00:00:00 2001
From: Martin Braun <martin.braun@ettus.com>
Date: Tue, 6 Dec 2016 12:34:22 -0800
Subject: x300: Make PCIe muxing and connection multi-usrp capable

---
 host/lib/usrp/x300/x300_impl.hpp | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

(limited to 'host/lib/usrp/x300/x300_impl.hpp')

diff --git a/host/lib/usrp/x300/x300_impl.hpp b/host/lib/usrp/x300/x300_impl.hpp
index ff18b1a22..db5396008 100644
--- a/host/lib/usrp/x300/x300_impl.hpp
+++ b/host/lib/usrp/x300/x300_impl.hpp
@@ -191,6 +191,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 +237,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.
-- 
cgit v1.2.3