aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2021-11-04 11:55:33 +0100
committerAaron Rossetto <aaron.rossetto@ni.com>2021-11-12 12:11:33 -0800
commit09839fa23229daf00cb9b857806d47d2cac50057 (patch)
tree09068ed6dbda6747b1a1730885746c120c6eb934 /host/lib
parentbccc2b49ab25551c6fc104a0b69f69121b76031d (diff)
downloaduhd-09839fa23229daf00cb9b857806d47d2cac50057.tar.gz
uhd-09839fa23229daf00cb9b857806d47d2cac50057.tar.bz2
uhd-09839fa23229daf00cb9b857806d47d2cac50057.zip
rfnoc: Add CHDR width to make args
This provides every block controller with a copy of its CHDR width. Note: mock blocks always get configured with a 64-bit CHDR width, to retain API compatibility.
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/rfnoc/mock_block.cpp2
-rw-r--r--host/lib/rfnoc/noc_block_base.cpp1
-rw-r--r--host/lib/rfnoc/rfnoc_graph.cpp1
3 files changed, 4 insertions, 0 deletions
diff --git a/host/lib/rfnoc/mock_block.cpp b/host/lib/rfnoc/mock_block.cpp
index 4332d078e..e867f06b4 100644
--- a/host/lib/rfnoc/mock_block.cpp
+++ b/host/lib/rfnoc/mock_block.cpp
@@ -6,6 +6,7 @@
#include <uhd/property_tree.hpp>
#include <uhd/rfnoc/defaults.hpp>
+#include <uhd/rfnoc/rfnoc_types.hpp>
#include <uhd/rfnoc/mock_block.hpp>
#include <uhd/types/device_addr.hpp>
#include <uhdlib/rfnoc/clock_iface.hpp>
@@ -36,6 +37,7 @@ uhd::rfnoc::mock_block_container uhd::rfnoc::get_mock_block(const noc_id_t noc_i
ret_val.make_args->num_input_ports = num_inputs;
ret_val.make_args->num_output_ports = num_outputs;
ret_val.make_args->mtu = mtu;
+ ret_val.make_args->chdr_w = CHDR_W_64;
ret_val.make_args->reg_iface = ret_val.reg_iface;
ret_val.make_args->tree = ret_val.tree;
ret_val.make_args->args = args;
diff --git a/host/lib/rfnoc/noc_block_base.cpp b/host/lib/rfnoc/noc_block_base.cpp
index dd9ac2455..c2db597cb 100644
--- a/host/lib/rfnoc/noc_block_base.cpp
+++ b/host/lib/rfnoc/noc_block_base.cpp
@@ -23,6 +23,7 @@ noc_block_base::noc_block_base(make_args_ptr make_args)
, _block_id(make_args->block_id)
, _num_input_ports(make_args->num_input_ports)
, _num_output_ports(make_args->num_output_ports)
+ , _chdr_w(make_args->chdr_w)
, _ctrlport_clock_iface(make_args->ctrlport_clk_iface)
, _tb_clock_iface(make_args->tb_clk_iface)
, _mb_controller(std::move(make_args->mb_control))
diff --git a/host/lib/rfnoc/rfnoc_graph.cpp b/host/lib/rfnoc/rfnoc_graph.cpp
index f6b07a36f..35a5cb28c 100644
--- a/host/lib/rfnoc/rfnoc_graph.cpp
+++ b/host/lib/rfnoc/rfnoc_graph.cpp
@@ -718,6 +718,7 @@ private:
make_args_uptr->num_output_ports = block_info.num_outputs;
make_args_uptr->mtu =
(1 << block_info.data_mtu) * chdr_w_to_bits(mb.get_chdr_w()) / 8;
+ make_args_uptr->chdr_w = mb.get_chdr_w();
make_args_uptr->reg_iface = block_reg_iface;
make_args_uptr->tb_clk_iface = tb_clk_iface;
make_args_uptr->ctrlport_clk_iface = ctrlport_clk_iface;