aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc/noc_block_base.cpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2019-06-07 21:37:15 -0700
committerMartin Braun <martin.braun@ettus.com>2019-11-26 11:49:27 -0800
commit6bd43946a71173cbf0f1d318843ba34d6849dc30 (patch)
tree35e0b46fc8e399718d6adafcda0929c86e0035ad /host/lib/rfnoc/noc_block_base.cpp
parent491a74269e7d7d7589119c22f229c994d8a2c3f8 (diff)
downloaduhd-6bd43946a71173cbf0f1d318843ba34d6849dc30.tar.gz
uhd-6bd43946a71173cbf0f1d318843ba34d6849dc30.tar.bz2
uhd-6bd43946a71173cbf0f1d318843ba34d6849dc30.zip
rfnoc: Add shutdown feature to blocks
On destruction, the rfnoc_graph will call shutdown() on all blocks. This allows a safe de-initialization of blocks independent of the lifetime of the noc_block_base::sptr. Also adds the shutdown feature to null_block_control.
Diffstat (limited to 'host/lib/rfnoc/noc_block_base.cpp')
-rw-r--r--host/lib/rfnoc/noc_block_base.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/host/lib/rfnoc/noc_block_base.cpp b/host/lib/rfnoc/noc_block_base.cpp
index 6e72decfe..c0d8cf2a9 100644
--- a/host/lib/rfnoc/noc_block_base.cpp
+++ b/host/lib/rfnoc/noc_block_base.cpp
@@ -113,7 +113,20 @@ void noc_block_base::_set_tick_rate(const double tick_rate)
_tick_rate = tick_rate;
}
+void noc_block_base::shutdown()
+{
+ RFNOC_LOG_TRACE("Calling deinit()");
+ deinit();
+ RFNOC_LOG_DEBUG("Invalidating register interface");
+ update_reg_iface();
+}
+
std::shared_ptr<mb_controller> noc_block_base::get_mb_controller()
{
return _mb_controller;
}
+
+void noc_block_base::deinit()
+{
+ RFNOC_LOG_DEBUG("deinit() called, but not implemented.");
+}