diff options
author | Michael West <michael.west@ettus.com> | 2019-02-13 16:29:18 -0800 |
---|---|---|
committer | Brent Stapleton <brent.stapleton@ettus.com> | 2019-02-18 11:04:13 -0800 |
commit | c24901bdcb66d1224e0822ba88c762def193d2fe (patch) | |
tree | f6e85235fc253524f1254c383c2e606e34ef24e9 /host/include | |
parent | 4e4dde96a137b00d59e711e79dbefa707bda74d6 (diff) | |
download | uhd-c24901bdcb66d1224e0822ba88c762def193d2fe.tar.gz uhd-c24901bdcb66d1224e0822ba88c762def193d2fe.tar.bz2 uhd-c24901bdcb66d1224e0822ba88c762def193d2fe.zip |
RFNoC: Disable FC ACK packets for lossless links
FC ACK packets are unnecessary on lossless links and degrade overall
performance. This change disables those packets on all lossless links.
Signed-off-by: Michael West <michael.west@ettus.com>
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/rfnoc/constants.hpp | 2 | ||||
-rw-r--r-- | host/include/uhd/rfnoc/source_block_ctrl_base.hpp | 14 |
2 files changed, 9 insertions, 7 deletions
diff --git a/host/include/uhd/rfnoc/constants.hpp b/host/include/uhd/rfnoc/constants.hpp index 3e67a3cae..2bef70a75 100644 --- a/host/include/uhd/rfnoc/constants.hpp +++ b/host/include/uhd/rfnoc/constants.hpp @@ -25,7 +25,7 @@ static const std::string XML_PATH_ENV = "UHD_RFNOC_DIR"; static const std::string DEFAULT_BLOCK_NAME = "Block"; static const uint64_t DEFAULT_NOC_ID = 0xFFFFFFFFFFFFFFFF; static const size_t NOC_SHELL_COMPAT_MAJOR = 5; -static const size_t NOC_SHELL_COMPAT_MINOR = 0; +static const size_t NOC_SHELL_COMPAT_MINOR = 1; static const size_t MAX_PACKET_SIZE = 8000; // bytes static const size_t DEFAULT_PACKET_SIZE = 1456; // bytes diff --git a/host/include/uhd/rfnoc/source_block_ctrl_base.hpp b/host/include/uhd/rfnoc/source_block_ctrl_base.hpp index c0a8494c1..a22a19da9 100644 --- a/host/include/uhd/rfnoc/source_block_ctrl_base.hpp +++ b/host/include/uhd/rfnoc/source_block_ctrl_base.hpp @@ -102,15 +102,17 @@ public: * disables byte based flow control. If both byte based flow control and the packet * limit are set to zero, the block will then produce data as fast as it can. \b * Warning: This can cause head-of-line blocking, and potentially lock up your device! - * \param pkt_limit Limit the maximum number of packets in flight. Setting this to - * zero disables packet limiting. Usually kept disabled except for special case - * connections (such as DMA) that support only a finite number of packets in flight. - * \param block_port Specify on which outgoing port this setting is valid. - * \param sid The SID for which this is valid. This is meant for cases where the - * outgoing block port is not sufficient to set the flow control, and as such is + * \param lossless_link The link for the connection is lossless. Periodic sync + * packets will be disabled. \param pkt_limit Limit the maximum number of packets in + * flight. Setting this to zero disables packet limiting. Usually kept disabled except + * for special case connections (such as DMA) that support only a finite number of + * packets in flight. \param block_port Specify on which outgoing port this setting is + * valid. \param sid The SID for which this is valid. This is meant for cases where + * the outgoing block port is not sufficient to set the flow control, and as such is * rarely used. */ virtual void configure_flow_control_out(const bool enable_output, + const bool lossless_link, const size_t buf_size_bytes, const size_t pkt_limit = 0, const size_t block_port = 0, |