aboutsummaryrefslogtreecommitdiffstats
path: root/host
diff options
context:
space:
mode:
Diffstat (limited to 'host')
-rw-r--r--host/include/uhd/rfnoc/CMakeLists.txt2
-rw-r--r--host/include/uhd/rfnoc/chdr_types.hpp (renamed from host/lib/include/uhdlib/rfnoc/chdr_types.hpp)44
-rw-r--r--host/include/uhd/rfnoc/constants.hpp2
-rw-r--r--host/include/uhd/rfnoc/rfnoc_types.hpp39
-rw-r--r--host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp2
-rw-r--r--host/lib/include/uhdlib/rfnoc/chdr_packet_writer.hpp3
-rw-r--r--host/lib/include/uhdlib/rfnoc/chdr_rx_data_xport.hpp2
-rw-r--r--host/lib/include/uhdlib/rfnoc/chdr_tx_data_xport.hpp2
-rw-r--r--host/lib/include/uhdlib/rfnoc/ctrlport_endpoint.hpp2
-rw-r--r--host/lib/include/uhdlib/rfnoc/epid_allocator.hpp1
-rw-r--r--host/lib/include/uhdlib/rfnoc/mb_iface.hpp1
-rw-r--r--host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp3
-rw-r--r--host/lib/include/uhdlib/rfnoc/rfnoc_common.hpp25
-rw-r--r--host/lib/rfnoc/chdr_ctrl_endpoint.cpp2
-rw-r--r--host/lib/rfnoc/chdr_ctrl_xport.cpp2
-rw-r--r--host/lib/rfnoc/chdr_rx_data_xport.cpp2
-rw-r--r--host/lib/rfnoc/chdr_tx_data_xport.cpp2
-rw-r--r--host/lib/rfnoc/chdr_types.cpp20
-rw-r--r--host/lib/rfnoc/ctrlport_endpoint.cpp2
-rw-r--r--host/lib/usrp/x300/x300_impl.hpp2
-rw-r--r--host/tests/rfnoc_chdr_test.cpp2
-rw-r--r--host/tests/streamer_benchmark.cpp2
22 files changed, 109 insertions, 55 deletions
diff --git a/host/include/uhd/rfnoc/CMakeLists.txt b/host/include/uhd/rfnoc/CMakeLists.txt
index 33d324a4d..805a59a4f 100644
--- a/host/include/uhd/rfnoc/CMakeLists.txt
+++ b/host/include/uhd/rfnoc/CMakeLists.txt
@@ -12,6 +12,7 @@ UHD_INSTALL(FILES
block_id.hpp
blockdef.hpp
constants.hpp
+ chdr_types.hpp
defaults.hpp
dirtifier.hpp
filter_node.hpp
@@ -28,6 +29,7 @@ UHD_INSTALL(FILES
register_iface_holder.hpp
registry.hpp
res_source_info.hpp
+ rfnoc_types.hpp
traffic_counter.hpp
# Block controllers
addsub_block_control.hpp
diff --git a/host/lib/include/uhdlib/rfnoc/chdr_types.hpp b/host/include/uhd/rfnoc/chdr_types.hpp
index 3eea40850..2f6c27c84 100644
--- a/host/lib/include/uhdlib/rfnoc/chdr_types.hpp
+++ b/host/include/uhd/rfnoc/chdr_types.hpp
@@ -6,9 +6,9 @@
#pragma once
+#include <uhd/rfnoc/rfnoc_types.hpp>
#include <uhd/types/endianness.hpp>
#include <uhd/utils/byteswap.hpp>
-#include <uhdlib/rfnoc/rfnoc_common.hpp>
#include <boost/optional.hpp>
#include <list>
#include <memory>
@@ -685,8 +685,8 @@ public:
}
private:
- const op_code_t _op_code;
- const payload_t _op_payload;
+ op_code_t _op_code;
+ payload_t _op_payload;
};
//! A class that represents a single management hop
@@ -755,10 +755,9 @@ public:
inline void set_header(sep_id_t src_epid, uint16_t protover, chdr_w_t chdr_w)
{
- _src_epid = src_epid;
- _chdr_w = chdr_w;
- _protover = protover;
- _padding_size = (chdr_w_to_bits(_chdr_w) / 64) - 1;
+ set_src_epid(src_epid);
+ set_chdr_w(chdr_w);
+ set_proto_ver(protover);
}
//! Add a management hop to this transaction
@@ -833,9 +832,40 @@ public:
return _src_epid;
}
+ //! Set the source EPID for this transaction
+ inline void set_src_epid(sep_id_t src_epid)
+ {
+ _src_epid = src_epid;
+ }
+
//! Comparison operator (==)
bool operator==(const mgmt_payload& rhs) const;
+ //! Return the CHDR_W for this transaction
+ inline chdr_w_t get_chdr_w() const
+ {
+ return _chdr_w;
+ }
+
+ //! Set the CHDR_W for this transaction
+ inline void set_chdr_w(chdr_w_t chdr_w)
+ {
+ _chdr_w = chdr_w;
+ _padding_size = (chdr_w_to_bits(_chdr_w) / 64) - 1;
+ }
+
+ //! Return the protocol version for this transaction
+ inline uint16_t get_proto_ver() const
+ {
+ return _protover;
+ }
+
+ //! Set the protocol version for this transaction
+ inline void set_proto_ver(uint16_t proto_ver)
+ {
+ _protover = proto_ver;
+ }
+
private:
sep_id_t _src_epid = 0;
uint16_t _protover = 0;
diff --git a/host/include/uhd/rfnoc/constants.hpp b/host/include/uhd/rfnoc/constants.hpp
index 5029206a0..c27911549 100644
--- a/host/include/uhd/rfnoc/constants.hpp
+++ b/host/include/uhd/rfnoc/constants.hpp
@@ -15,6 +15,8 @@
namespace uhd { namespace rfnoc {
+constexpr uint16_t RFNOC_PROTO_VER = 0x0100;
+
static const size_t NOC_SHELL_COMPAT_MAJOR = 5;
static const size_t NOC_SHELL_COMPAT_MINOR = 1;
diff --git a/host/include/uhd/rfnoc/rfnoc_types.hpp b/host/include/uhd/rfnoc/rfnoc_types.hpp
new file mode 100644
index 000000000..beb79324f
--- /dev/null
+++ b/host/include/uhd/rfnoc/rfnoc_types.hpp
@@ -0,0 +1,39 @@
+//
+// Copyright 2019 Ettus Research, a National Instruments Brand
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+
+#pragma once
+
+#include <memory>
+
+namespace uhd { namespace rfnoc {
+
+//----------------------------------------------
+// Types
+//----------------------------------------------
+
+//! Type that indicates the CHDR Width in bits
+enum chdr_w_t { CHDR_W_64 = 0, CHDR_W_128 = 1, CHDR_W_256 = 2, CHDR_W_512 = 3 };
+//! Conversion from chdr_w_t to a number of bits
+constexpr size_t chdr_w_to_bits(chdr_w_t chdr_w)
+{
+ switch (chdr_w) {
+ case CHDR_W_64:
+ return 64;
+ case CHDR_W_128:
+ return 128;
+ case CHDR_W_256:
+ return 256;
+ case CHDR_W_512:
+ return 512;
+ default:
+ return 0;
+ }
+}
+
+//! Stream Endpoint ID Type
+using sep_id_t = uint16_t;
+
+}} // namespace uhd::rfnoc
diff --git a/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp b/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp
index 471a7bc11..38acd7a34 100644
--- a/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp
+++ b/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp
@@ -6,8 +6,8 @@
#pragma once
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/chdr_packet_writer.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/transport/io_service.hpp>
#include <mutex>
diff --git a/host/lib/include/uhdlib/rfnoc/chdr_packet_writer.hpp b/host/lib/include/uhdlib/rfnoc/chdr_packet_writer.hpp
index 6f1c264dd..b8d0c9ef4 100644
--- a/host/lib/include/uhdlib/rfnoc/chdr_packet_writer.hpp
+++ b/host/lib/include/uhdlib/rfnoc/chdr_packet_writer.hpp
@@ -6,9 +6,10 @@
#pragma once
+#include <uhd/rfnoc/chdr_types.hpp>
+#include <uhd/rfnoc/constants.hpp>
#include <uhd/types/endianness.hpp>
#include <uhd/utils/byteswap.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <limits>
namespace uhd { namespace rfnoc { namespace chdr {
diff --git a/host/lib/include/uhdlib/rfnoc/chdr_rx_data_xport.hpp b/host/lib/include/uhdlib/rfnoc/chdr_rx_data_xport.hpp
index d041f37c6..d6a2e6628 100644
--- a/host/lib/include/uhdlib/rfnoc/chdr_rx_data_xport.hpp
+++ b/host/lib/include/uhdlib/rfnoc/chdr_rx_data_xport.hpp
@@ -8,8 +8,8 @@
#include <uhd/config.hpp>
#include <uhd/exception.hpp>
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/chdr_packet_writer.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/rfnoc_common.hpp>
#include <uhdlib/rfnoc/rx_flow_ctrl_state.hpp>
#include <uhdlib/transport/io_service.hpp>
diff --git a/host/lib/include/uhdlib/rfnoc/chdr_tx_data_xport.hpp b/host/lib/include/uhdlib/rfnoc/chdr_tx_data_xport.hpp
index 4394adaea..ed008c1db 100644
--- a/host/lib/include/uhdlib/rfnoc/chdr_tx_data_xport.hpp
+++ b/host/lib/include/uhdlib/rfnoc/chdr_tx_data_xport.hpp
@@ -7,10 +7,10 @@
#pragma once
#include <uhd/exception.hpp>
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/types/metadata.hpp>
#include <uhd/utils/log.hpp>
#include <uhdlib/rfnoc/chdr_packet_writer.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/rfnoc_common.hpp>
#include <uhdlib/rfnoc/tx_flow_ctrl_state.hpp>
#include <uhdlib/transport/io_service.hpp>
diff --git a/host/lib/include/uhdlib/rfnoc/ctrlport_endpoint.hpp b/host/lib/include/uhdlib/rfnoc/ctrlport_endpoint.hpp
index bf81ededd..ecedd09ca 100644
--- a/host/lib/include/uhdlib/rfnoc/ctrlport_endpoint.hpp
+++ b/host/lib/include/uhdlib/rfnoc/ctrlport_endpoint.hpp
@@ -6,8 +6,8 @@
#pragma once
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/rfnoc/register_iface.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/clock_iface.hpp>
#include <memory>
diff --git a/host/lib/include/uhdlib/rfnoc/epid_allocator.hpp b/host/lib/include/uhdlib/rfnoc/epid_allocator.hpp
index 40d761548..6c13157f4 100644
--- a/host/lib/include/uhdlib/rfnoc/epid_allocator.hpp
+++ b/host/lib/include/uhdlib/rfnoc/epid_allocator.hpp
@@ -6,6 +6,7 @@
#pragma once
+#include <uhd/rfnoc/rfnoc_types.hpp>
#include <uhdlib/rfnoc/mgmt_portal.hpp>
#include <uhdlib/rfnoc/rfnoc_common.hpp>
#include <map>
diff --git a/host/lib/include/uhdlib/rfnoc/mb_iface.hpp b/host/lib/include/uhdlib/rfnoc/mb_iface.hpp
index 40bbc7ee4..3752e8b87 100644
--- a/host/lib/include/uhdlib/rfnoc/mb_iface.hpp
+++ b/host/lib/include/uhdlib/rfnoc/mb_iface.hpp
@@ -7,6 +7,7 @@
#pragma once
#include <uhd/exception.hpp>
+#include <uhd/rfnoc/rfnoc_types.hpp>
#include <uhd/transport/adapter_id.hpp>
#include <uhd/types/endianness.hpp>
#include <uhdlib/rfnoc/chdr_ctrl_xport.hpp>
diff --git a/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp b/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
index 223783170..afe438140 100644
--- a/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
+++ b/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
@@ -6,9 +6,10 @@
#pragma once
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/chdr_ctrl_xport.hpp>
#include <uhdlib/rfnoc/chdr_packet_writer.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
+#include <uhdlib/rfnoc/rfnoc_common.hpp>
#include <memory>
#include <set>
diff --git a/host/lib/include/uhdlib/rfnoc/rfnoc_common.hpp b/host/lib/include/uhdlib/rfnoc/rfnoc_common.hpp
index 9c4944fe2..7b2900832 100644
--- a/host/lib/include/uhdlib/rfnoc/rfnoc_common.hpp
+++ b/host/lib/include/uhdlib/rfnoc/rfnoc_common.hpp
@@ -7,7 +7,7 @@
#pragma once
#include <uhd/rfnoc/defaults.hpp>
-#include <uhdlib/transport/link_if.hpp>
+#include <uhd/rfnoc/rfnoc_types.hpp>
#include <memory>
namespace uhd { namespace rfnoc {
@@ -16,25 +16,6 @@ namespace uhd { namespace rfnoc {
// Types
//----------------------------------------------
-//! Type that indicates the CHDR Width in bits
-enum chdr_w_t { CHDR_W_64 = 0, CHDR_W_128 = 1, CHDR_W_256 = 2, CHDR_W_512 = 3 };
-//! Conversion from chdr_w_t to a number of bits
-constexpr size_t chdr_w_to_bits(chdr_w_t chdr_w)
-{
- switch (chdr_w) {
- case CHDR_W_64:
- return 64;
- case CHDR_W_128:
- return 128;
- case CHDR_W_256:
- return 256;
- case CHDR_W_512:
- return 512;
- default:
- return 0;
- }
-}
-
//! Device ID Type
using device_id_t = uint16_t;
//! Stream Endpoint Instance Number Type
@@ -43,8 +24,6 @@ using sep_inst_t = uint16_t;
using sep_addr_t = std::pair<device_id_t, sep_inst_t>;
//! Stream Endpoint Physical Address Type (first = source, second = destination)
using sep_addr_pair_t = std::pair<sep_addr_t, sep_addr_t>;
-//! Stream Endpoint ID Type
-using sep_id_t = uint16_t;
//! Stream Endpoint pair Type (first = source, second = destination)
using sep_id_pair_t = std::pair<sep_id_t, sep_id_t>;
//! Stream Endpoint Virtual Channel Type
@@ -85,8 +64,6 @@ constexpr sw_buff_t bits_to_sw_buff(size_t bits)
// Constants
//----------------------------------------------
-constexpr uint16_t RFNOC_PROTO_VER = 0x0100;
-
constexpr uint64_t MAX_FC_CAPACITY_BYTES = (uint64_t(1) << 40) - 1;
constexpr uint32_t MAX_FC_CAPACITY_PKTS = (uint32_t(1) << 24) - 1;
constexpr uint64_t MAX_FC_FREQ_BYTES = (uint64_t(1) << 40) - 1;
diff --git a/host/lib/rfnoc/chdr_ctrl_endpoint.cpp b/host/lib/rfnoc/chdr_ctrl_endpoint.cpp
index 3b2865c73..8fe6a8856 100644
--- a/host/lib/rfnoc/chdr_ctrl_endpoint.cpp
+++ b/host/lib/rfnoc/chdr_ctrl_endpoint.cpp
@@ -5,12 +5,12 @@
//
#include <uhd/exception.hpp>
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/utils/log.hpp>
#include <uhd/utils/safe_call.hpp>
#include <uhd/utils/thread.hpp>
#include <uhdlib/rfnoc/chdr_ctrl_endpoint.hpp>
#include <uhdlib/rfnoc/chdr_packet_writer.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <boost/format.hpp>
#include <atomic>
#include <mutex>
diff --git a/host/lib/rfnoc/chdr_ctrl_xport.cpp b/host/lib/rfnoc/chdr_ctrl_xport.cpp
index a59d56b30..8946a3b08 100644
--- a/host/lib/rfnoc/chdr_ctrl_xport.cpp
+++ b/host/lib/rfnoc/chdr_ctrl_xport.cpp
@@ -4,9 +4,9 @@
// SPDX-License-Identifier: GPL-3.0-or-later
//
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/utils/log.hpp>
#include <uhdlib/rfnoc/chdr_ctrl_xport.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
using namespace uhd;
using namespace uhd::rfnoc;
diff --git a/host/lib/rfnoc/chdr_rx_data_xport.cpp b/host/lib/rfnoc/chdr_rx_data_xport.cpp
index ebfcda2b8..d4476d54f 100644
--- a/host/lib/rfnoc/chdr_rx_data_xport.cpp
+++ b/host/lib/rfnoc/chdr_rx_data_xport.cpp
@@ -4,8 +4,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
//
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/chdr_rx_data_xport.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/mgmt_portal.hpp>
#include <uhdlib/rfnoc/rfnoc_common.hpp>
#include <uhdlib/transport/io_service.hpp>
diff --git a/host/lib/rfnoc/chdr_tx_data_xport.cpp b/host/lib/rfnoc/chdr_tx_data_xport.cpp
index a51835a07..530da5a47 100644
--- a/host/lib/rfnoc/chdr_tx_data_xport.cpp
+++ b/host/lib/rfnoc/chdr_tx_data_xport.cpp
@@ -4,8 +4,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
//
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/chdr_tx_data_xport.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/mgmt_portal.hpp>
#include <uhdlib/rfnoc/rfnoc_common.hpp>
#include <uhdlib/transport/io_service.hpp>
diff --git a/host/lib/rfnoc/chdr_types.cpp b/host/lib/rfnoc/chdr_types.cpp
index cb4642f3a..3cb68ff9a 100644
--- a/host/lib/rfnoc/chdr_types.cpp
+++ b/host/lib/rfnoc/chdr_types.cpp
@@ -5,8 +5,8 @@
//
#include <uhd/exception.hpp>
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/types/endianness.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <boost/format.hpp>
#include <cassert>
@@ -53,16 +53,16 @@ size_t ctrl_payload::serialize(uint64_t* buff,
buff[ptr++] = conv_byte_order(
((static_cast<uint64_t>(dst_port) & mask_u64(DST_PORT_WIDTH)) << DST_PORT_OFFSET)
| ((static_cast<uint64_t>(src_port) & mask_u64(SRC_PORT_WIDTH))
- << SRC_PORT_OFFSET)
+ << SRC_PORT_OFFSET)
| ((static_cast<uint64_t>(data_vtr.size()) & mask_u64(NUM_DATA_WIDTH))
- << NUM_DATA_OFFSET)
+ << NUM_DATA_OFFSET)
| ((static_cast<uint64_t>(seq_num) & mask_u64(SEQ_NUM_WIDTH)) << SEQ_NUM_OFFSET)
| ((static_cast<uint64_t>(timestamp.is_initialized() ? 1 : 0)
& mask_u64(HAS_TIME_WIDTH))
- << HAS_TIME_OFFSET)
+ << HAS_TIME_OFFSET)
| ((static_cast<uint64_t>(is_ack) & mask_u64(IS_ACK_WIDTH)) << IS_ACK_OFFSET)
| ((static_cast<uint64_t>(src_epid) & mask_u64(SRC_EPID_WIDTH))
- << SRC_EPID_OFFSET));
+ << SRC_EPID_OFFSET));
// Populate optional timestamp
if (timestamp.is_initialized()) {
@@ -73,7 +73,7 @@ size_t ctrl_payload::serialize(uint64_t* buff,
buff[ptr++] = conv_byte_order(
((static_cast<uint64_t>(address) & mask_u64(ADDRESS_WIDTH)) << ADDRESS_OFFSET)
| ((static_cast<uint64_t>(byte_enable) & mask_u64(BYTE_ENABLE_WIDTH))
- << BYTE_ENABLE_OFFSET)
+ << BYTE_ENABLE_OFFSET)
| ((static_cast<uint64_t>(op_code) & mask_u64(OPCODE_WIDTH)) << OPCODE_OFFSET)
| ((static_cast<uint64_t>(status) & mask_u64(STATUS_WIDTH)) << STATUS_OFFSET)
| (static_cast<uint64_t>(data_vtr[0]) << HI_DATA_OFFSET));
@@ -189,14 +189,14 @@ size_t strs_payload::serialize(uint64_t* buff,
((static_cast<uint64_t>(src_epid) & mask_u64(SRC_EPID_WIDTH)) << SRC_EPID_OFFSET)
| ((static_cast<uint64_t>(status) & mask_u64(STATUS_WIDTH)) << STATUS_OFFSET)
| ((static_cast<uint64_t>(capacity_bytes) & mask_u64(CAPACITY_BYTES_WIDTH))
- << CAPACITY_BYTES_OFFSET));
+ << CAPACITY_BYTES_OFFSET));
// Populate second word
buff[1] = conv_byte_order(
((static_cast<uint64_t>(capacity_pkts) & mask_u64(CAPACITY_PKTS_WIDTH))
<< CAPACITY_PKTS_OFFSET)
| ((static_cast<uint64_t>(xfer_count_pkts) & mask_u64(XFER_COUNT_PKTS_WIDTH))
- << XFER_COUNT_PKTS_OFFSET));
+ << XFER_COUNT_PKTS_OFFSET));
// Populate third word
buff[2] = conv_byte_order(xfer_count_bytes);
@@ -206,7 +206,7 @@ size_t strs_payload::serialize(uint64_t* buff,
((static_cast<uint64_t>(buff_info) & mask_u64(BUFF_INFO_WIDTH))
<< BUFF_INFO_OFFSET)
| ((static_cast<uint64_t>(status_info) & mask_u64(STATUS_INFO_WIDTH))
- << STATUS_INFO_OFFSET));
+ << STATUS_INFO_OFFSET));
// Return bytes written
return (4 * sizeof(uint64_t));
@@ -285,7 +285,7 @@ size_t strc_payload::serialize(uint64_t* buff,
| ((static_cast<uint64_t>(op_code) & mask_u64(OP_CODE_WIDTH)) << OP_CODE_OFFSET)
| ((static_cast<uint64_t>(op_data) & mask_u64(OP_DATA_WIDTH)) << OP_DATA_OFFSET)
| ((static_cast<uint64_t>(num_pkts) & mask_u64(NUM_PKTS_WIDTH))
- << NUM_PKTS_OFFSET));
+ << NUM_PKTS_OFFSET));
// Populate second word
buff[1] = conv_byte_order(num_bytes);
diff --git a/host/lib/rfnoc/ctrlport_endpoint.cpp b/host/lib/rfnoc/ctrlport_endpoint.cpp
index 5afb3919e..e4f256d91 100644
--- a/host/lib/rfnoc/ctrlport_endpoint.cpp
+++ b/host/lib/rfnoc/ctrlport_endpoint.cpp
@@ -5,9 +5,9 @@
//
#include <uhd/exception.hpp>
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/utils/log.hpp>
#include <uhdlib/rfnoc/chdr_packet_writer.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/ctrlport_endpoint.hpp>
#include <condition_variable>
#include <boost/format.hpp>
diff --git a/host/lib/usrp/x300/x300_impl.hpp b/host/lib/usrp/x300/x300_impl.hpp
index a493d4e8c..c506fcf28 100644
--- a/host/lib/usrp/x300/x300_impl.hpp
+++ b/host/lib/usrp/x300/x300_impl.hpp
@@ -18,12 +18,12 @@
#include "x300_mboard_type.hpp"
#include "x300_regs.hpp"
#include <uhd/property_tree.hpp>
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/types/device_addr.hpp>
#include <uhd/types/sensors.hpp>
#include <uhd/types/wb_iface.hpp>
#include <uhd/usrp/subdev_spec.hpp>
#include <uhd/utils/tasks.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/rfnoc/clock_iface.hpp>
#include <uhdlib/rfnoc/mb_iface.hpp>
#include <uhdlib/rfnoc/mgmt_portal.hpp>
diff --git a/host/tests/rfnoc_chdr_test.cpp b/host/tests/rfnoc_chdr_test.cpp
index 31640325c..0d8d05612 100644
--- a/host/tests/rfnoc_chdr_test.cpp
+++ b/host/tests/rfnoc_chdr_test.cpp
@@ -4,10 +4,10 @@
// SPDX-License-Identifier: GPL-3.0-or-later
//
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/types/endianness.hpp>
#include <uhd/utils/byteswap.hpp>
#include <uhdlib/rfnoc/chdr_packet_writer.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <boost/format.hpp>
#include <boost/test/unit_test.hpp>
#include <iostream>
diff --git a/host/tests/streamer_benchmark.cpp b/host/tests/streamer_benchmark.cpp
index 9479d9be6..706ecee10 100644
--- a/host/tests/streamer_benchmark.cpp
+++ b/host/tests/streamer_benchmark.cpp
@@ -5,10 +5,10 @@
//
#include "../common/mock_link.hpp"
+#include <uhd/rfnoc/chdr_types.hpp>
#include <uhd/utils/safe_main.hpp>
#include <uhdlib/rfnoc/chdr_rx_data_xport.hpp>
#include <uhdlib/rfnoc/chdr_tx_data_xport.hpp>
-#include <uhdlib/rfnoc/chdr_types.hpp>
#include <uhdlib/transport/inline_io_service.hpp>
#include <uhdlib/transport/rx_streamer_impl.hpp>
#include <uhdlib/transport/tx_streamer_impl.hpp>