aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
diff options
context:
space:
mode:
Diffstat (limited to 'mpm')
-rw-r--r--mpm/include/mpm/CMakeLists.txt1
-rw-r--r--mpm/include/mpm/xbar_iface.hpp60
-rw-r--r--mpm/lib/CMakeLists.txt1
-rw-r--r--mpm/lib/xbar_iface.cpp52
-rw-r--r--mpm/python/pyusrp_periphs/e31x/pyusrp_periphs.cpp2
-rw-r--r--mpm/python/pyusrp_periphs/e320/pyusrp_periphs.cpp2
-rw-r--r--mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp2
7 files changed, 0 insertions, 120 deletions
diff --git a/mpm/include/mpm/CMakeLists.txt b/mpm/include/mpm/CMakeLists.txt
index f3637c913..d4caff1c4 100644
--- a/mpm/include/mpm/CMakeLists.txt
+++ b/mpm/include/mpm/CMakeLists.txt
@@ -4,7 +4,6 @@
# SPDX-License-Identifier: GPL-3.0-or-later
#
install(FILES
- xbar_iface.hpp
exception.hpp
DESTINATION ${INCLUDE_DIR}/mpm
)
diff --git a/mpm/include/mpm/xbar_iface.hpp b/mpm/include/mpm/xbar_iface.hpp
deleted file mode 100644
index bf4399593..000000000
--- a/mpm/include/mpm/xbar_iface.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// Copyright 2017 Ettus Research, a National Instruments Company
-// Copyright 2019 Ettus Research, a National Instruments Brand
-//
-// SPDX-License-Identifier: GPL-3.0-or-later
-//
-#pragma once
-#include <boost/noncopyable.hpp>
-#include <cstdint>
-#include <memory>
-#include <mutex>
-
-namespace mpm {
-
-/*!
- * Crossbar route command
- */
-using rfnoc_crossbar_cmd = struct rfnoc_crossbar_cmd
-{
- /*! destination address */
- uint8_t dest_addr;
- /*! destination port */
- uint8_t dest_port;
-};
-
-#define RFNCBWROUTIOC _IOW('R', 1, struct rfnoc_crossbar_cmd)
-#define RFNCDELROUTIOC _IOW('D', 1, struct rfnoc_crossbar_cmd)
-
-/*!
- * Crossbar interface class holding a crossbar context
- */
-class xbar_iface : boost::noncopyable
-{
-public:
- // use static mutex! lock_guard
- using sptr = std::shared_ptr<xbar_iface>;
- static sptr make(const std::string& device);
- void set_route(uint8_t dst_addr, uint8_t dst_port);
- void del_route(uint8_t dst_addr, uint8_t dst_port);
- ~xbar_iface();
- xbar_iface(const std::string& device);
-
-private:
- static std::mutex _lock;
- int _fd;
-};
-} // namespace mpm
-
-
-#ifdef LIBMPM_PYTHON
-void export_xbar(py::module& top_module)
-{
- auto m = top_module.def_submodule("xbar");
-
- py::class_<mpm::xbar_iface, std::shared_ptr<mpm::xbar_iface>>(m, "xbar")
- .def(py::init(&mpm::xbar_iface::make))
- .def("set_route", &mpm::xbar_iface::set_route)
- .def("del_route", &mpm::xbar_iface::del_route);
-}
-#endif
diff --git a/mpm/lib/CMakeLists.txt b/mpm/lib/CMakeLists.txt
index 82a5d8e16..940a23138 100644
--- a/mpm/lib/CMakeLists.txt
+++ b/mpm/lib/CMakeLists.txt
@@ -20,7 +20,6 @@ endif(ENABLE_MYKONOS)
USRP_PERIPHS_ADD_OBJECT(periphs
exception.cpp
- xbar_iface.cpp
${UHD_HOST_ROOT}/lib/exception.cpp
)
diff --git a/mpm/lib/xbar_iface.cpp b/mpm/lib/xbar_iface.cpp
deleted file mode 100644
index 05d1e2053..000000000
--- a/mpm/lib/xbar_iface.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// Copyright 2017 Ettus Research, a National Instruments Company
-//
-// SPDX-License-Identifier: GPL-3.0-or-later
-//
-
-#include "mpm/xbar_iface.hpp"
-#include <fcntl.h>
-#include <mpm/exception.hpp>
-#include <sys/ioctl.h>
-#include <boost/format.hpp>
-
-using namespace mpm;
-
-std::mutex xbar_iface::_lock; // Initialize lock for all objects
-
-xbar_iface::xbar_iface(const std::string& device)
-{
- _fd = open(device.c_str(), O_RDWR);
-}
-
-xbar_iface::~xbar_iface()
-{
- close(_fd);
-}
-
-void xbar_iface::set_route(uint8_t dst_addr, uint8_t dst_port)
-{
- std::lock_guard<std::mutex> lock(_lock);
- rfnoc_crossbar_cmd cmd = {.dest_addr = dst_addr, .dest_port = dst_port};
- int err = ioctl(_fd, RFNCBWROUTIOC, &cmd);
- if (err < 0) {
- throw mpm::os_error(
- str(boost::format("setting crossbar route failed! Error: %d") % err));
- }
-}
-
-void xbar_iface::del_route(uint8_t dst_addr, uint8_t dst_port)
-{
- std::lock_guard<std::mutex> lock(_lock);
- rfnoc_crossbar_cmd cmd = {.dest_addr = dst_addr, .dest_port = dst_port};
- int err = ioctl(_fd, RFNCDELROUTIOC, &cmd);
- if (err < 0) {
- throw mpm::os_error(
- str(boost::format("deleting crossbar route failed! Error: %d") % err));
- }
-}
-
-xbar_iface::sptr xbar_iface::make(const std::string& device)
-{
- return std::make_shared<xbar_iface>(device);
-}
diff --git a/mpm/python/pyusrp_periphs/e31x/pyusrp_periphs.cpp b/mpm/python/pyusrp_periphs/e31x/pyusrp_periphs.cpp
index b7971407c..ffd32edbf 100644
--- a/mpm/python/pyusrp_periphs/e31x/pyusrp_periphs.cpp
+++ b/mpm/python/pyusrp_periphs/e31x/pyusrp_periphs.cpp
@@ -18,13 +18,11 @@ PYBIND11_DECLARE_HOLDER_TYPE(T, boost::shared_ptr<T>);
#include <mpm/dboards/e31x_db_manager.hpp>
#include <mpm/spi/spi_python.hpp>
#include <mpm/types/types_python.hpp>
-#include <mpm/xbar_iface.hpp>
PYBIND11_MODULE(libpyusrp_periphs, m)
{
export_types(m);
export_spi(m);
- export_xbar(m);
export_catalina(m);
export_e31x_db(m);
}
diff --git a/mpm/python/pyusrp_periphs/e320/pyusrp_periphs.cpp b/mpm/python/pyusrp_periphs/e320/pyusrp_periphs.cpp
index 74a3647db..2a3c01064 100644
--- a/mpm/python/pyusrp_periphs/e320/pyusrp_periphs.cpp
+++ b/mpm/python/pyusrp_periphs/e320/pyusrp_periphs.cpp
@@ -18,13 +18,11 @@ PYBIND11_DECLARE_HOLDER_TYPE(T, boost::shared_ptr<T>);
#include <mpm/dboards/neon_manager.hpp>
#include <mpm/spi/spi_python.hpp>
#include <mpm/types/types_python.hpp>
-#include <mpm/xbar_iface.hpp>
PYBIND11_MODULE(libpyusrp_periphs, m)
{
export_types(m);
export_spi(m);
- export_xbar(m);
export_catalina(m);
export_neon(m);
}
diff --git a/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp b/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp
index d4c430f72..4719f486e 100644
--- a/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp
+++ b/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp
@@ -19,7 +19,6 @@ PYBIND11_DECLARE_HOLDER_TYPE(T, boost::shared_ptr<T>);
#include <mpm/i2c/i2c_python.hpp>
#include <mpm/spi/spi_python.hpp>
#include <mpm/types/types_python.hpp>
-#include <mpm/xbar_iface.hpp>
PYBIND11_MODULE(libpyusrp_periphs, m)
{
@@ -27,6 +26,5 @@ PYBIND11_MODULE(libpyusrp_periphs, m)
export_spi(m);
export_i2c(m);
export_mykonos(m);
- export_xbar(m);
export_magnesium(m);
}