diff options
Diffstat (limited to 'host/lib')
| -rw-r--r-- | host/lib/usrp/x300/x300_io_impl.cpp | 52 | 
1 files changed, 9 insertions, 43 deletions
diff --git a/host/lib/usrp/x300/x300_io_impl.cpp b/host/lib/usrp/x300/x300_io_impl.cpp index 334ae8168..e3515af0c 100644 --- a/host/lib/usrp/x300/x300_io_impl.cpp +++ b/host/lib/usrp/x300/x300_io_impl.cpp @@ -23,6 +23,7 @@  #include <uhd/transport/nirio_zero_copy.hpp>  #include "async_packet_handler.hpp"  #include <uhd/transport/bounded_buffer.hpp> +#include <uhd/transport/chdr.hpp>  #include <boost/bind.hpp>  #include <uhd/utils/tasks.hpp>  #include <uhd/utils/log.hpp> @@ -124,41 +125,6 @@ void x300_impl::update_subdev_spec(const std::string &tx_rx, const size_t mb_i,  /*********************************************************************** - * VITA stuff - **********************************************************************/ -static void x300_if_hdr_unpack_be( -    const boost::uint32_t *packet_buff, -    vrt::if_packet_info_t &if_packet_info -){ -    if_packet_info.link_type = vrt::if_packet_info_t::LINK_TYPE_CHDR; -    return vrt::if_hdr_unpack_be(packet_buff, if_packet_info); -} - -static void x300_if_hdr_pack_be( -    boost::uint32_t *packet_buff, -    vrt::if_packet_info_t &if_packet_info -){ -    if_packet_info.link_type = vrt::if_packet_info_t::LINK_TYPE_CHDR; -    return vrt::if_hdr_pack_be(packet_buff, if_packet_info); -} - -static void x300_if_hdr_unpack_le( -    const boost::uint32_t *packet_buff, -    vrt::if_packet_info_t &if_packet_info -){ -    if_packet_info.link_type = vrt::if_packet_info_t::LINK_TYPE_CHDR; -    return vrt::if_hdr_unpack_le(packet_buff, if_packet_info); -} - -static void x300_if_hdr_pack_le( -    boost::uint32_t *packet_buff, -    vrt::if_packet_info_t &if_packet_info -){ -    if_packet_info.link_type = vrt::if_packet_info_t::LINK_TYPE_CHDR; -    return vrt::if_hdr_pack_le(packet_buff, if_packet_info); -} - -/***********************************************************************   * RX flow control handler   **********************************************************************/  static size_t get_rx_flow_control_window(size_t frame_size, size_t sw_buff_size, const device_addr_t& rx_args) @@ -209,9 +175,9 @@ static void handle_rx_flowctrl(const boost::uint32_t sid, zero_copy_if::sptr xpo      //load header      if (big_endian) -        x300_if_hdr_pack_be(pkt, packet_info); +        vrt::chdr::if_hdr_pack_be(pkt, packet_info);      else -        x300_if_hdr_pack_le(pkt, packet_info); +        vrt::chdr::if_hdr_pack_le(pkt, packet_info);      //load payload      pkt[packet_info.num_header_words32+0] = uhd::htonx<boost::uint32_t>(0); @@ -276,12 +242,12 @@ static void handle_tx_async_msgs(boost::shared_ptr<x300_tx_fc_guts_t> guts, zero      {          if (big_endian)          { -            x300_if_hdr_unpack_be(packet_buff, if_packet_info); +            vrt::chdr::if_hdr_unpack_be(packet_buff, if_packet_info);              endian_conv = uhd::ntohx;          }          else          { -            x300_if_hdr_unpack_le(packet_buff, if_packet_info); +            vrt::chdr::if_hdr_unpack_le(packet_buff, if_packet_info);              endian_conv = uhd::wtohx;          }      } @@ -430,10 +396,10 @@ rx_streamer::sptr x300_impl::get_rx_stream(const uhd::stream_args_t &args_)          //init some streamer stuff          std::string conv_endianness;          if (mb.if_pkt_is_big_endian) { -            my_streamer->set_vrt_unpacker(&x300_if_hdr_unpack_be); +            my_streamer->set_vrt_unpacker(&vrt::chdr::if_hdr_unpack_be);              conv_endianness = "be";          } else { -            my_streamer->set_vrt_unpacker(&x300_if_hdr_unpack_le); +            my_streamer->set_vrt_unpacker(&vrt::chdr::if_hdr_unpack_le);              conv_endianness = "le";          } @@ -594,10 +560,10 @@ tx_streamer::sptr x300_impl::get_tx_stream(const uhd::stream_args_t &args_)          std::string conv_endianness;          if (mb.if_pkt_is_big_endian) { -            my_streamer->set_vrt_packer(&x300_if_hdr_pack_be); +            my_streamer->set_vrt_packer(&vrt::chdr::if_hdr_pack_be);              conv_endianness = "be";          } else { -            my_streamer->set_vrt_packer(&x300_if_hdr_pack_le); +            my_streamer->set_vrt_packer(&vrt::chdr::if_hdr_pack_le);              conv_endianness = "le";          }  | 
