aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc/source_block_ctrl_base.cpp
diff options
context:
space:
mode:
authorMichael West <michael.west@ettus.com>2019-02-13 16:29:18 -0800
committerBrent Stapleton <brent.stapleton@ettus.com>2019-02-18 11:04:13 -0800
commitc24901bdcb66d1224e0822ba88c762def193d2fe (patch)
treef6e85235fc253524f1254c383c2e606e34ef24e9 /host/lib/rfnoc/source_block_ctrl_base.cpp
parent4e4dde96a137b00d59e711e79dbefa707bda74d6 (diff)
downloaduhd-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/lib/rfnoc/source_block_ctrl_base.cpp')
-rw-r--r--host/lib/rfnoc/source_block_ctrl_base.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/host/lib/rfnoc/source_block_ctrl_base.cpp b/host/lib/rfnoc/source_block_ctrl_base.cpp
index 6c41fae14..656ab26af 100644
--- a/host/lib/rfnoc/source_block_ctrl_base.cpp
+++ b/host/lib/rfnoc/source_block_ctrl_base.cpp
@@ -86,6 +86,7 @@ void source_block_ctrl_base::set_destination(
}
void source_block_ctrl_base::configure_flow_control_out(const bool enable_fc_output,
+ const bool lossless_link,
const size_t buf_size_bytes,
const size_t pkt_limit,
const size_t block_port,
@@ -124,8 +125,9 @@ void source_block_ctrl_base::configure_flow_control_out(const bool enable_fc_out
// count based flow control
const bool enable_byte_fc = (buf_size_bytes != 0);
const bool enable_pkt_cnt_fc = (pkt_limit != 0);
- const uint32_t config = (enable_fc_output ? 1 : 0) | (enable_byte_fc << 1)
- | (enable_pkt_cnt_fc << 2);
+ const uint32_t config = (enable_fc_output ? 1 : 0) | ((enable_byte_fc ? 1 : 0) << 1)
+ | ((enable_pkt_cnt_fc ? 1 : 0) << 2)
+ | ((lossless_link ? 1 : 0) << 3);
// Resize the FC window.
// Precondition: No data can be buffered upstream.