diff options
Diffstat (limited to 'mpm/lib')
-rw-r--r-- | mpm/lib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | mpm/lib/xbar_iface.cpp | 52 |
2 files changed, 0 insertions, 53 deletions
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); -} |