aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include
diff options
context:
space:
mode:
authormattprost <matt.prost@ni.com>2021-03-31 11:33:33 -0500
committerAaron Rossetto <aaron.rossetto@ni.com>2021-04-29 14:35:26 -0500
commitd689df23fb4bf38e1abc23b06767fc26aa27c163 (patch)
treeb89a640a8e86ec572958d7602cc2c9d834f68fdf /host/lib/include
parent99e5230e4bf26166ee1accce1e57ff24b0629826 (diff)
downloaduhd-d689df23fb4bf38e1abc23b06767fc26aa27c163.tar.gz
uhd-d689df23fb4bf38e1abc23b06767fc26aa27c163.tar.bz2
uhd-d689df23fb4bf38e1abc23b06767fc26aa27c163.zip
rfnoc: Add option to disable flow control on rx streaming
Disabling this feature will allow the USRP to send a continuous stream of Rx data to a host machine without throttling due to lack of flow control credits. This is unnecessary overhead on lossless transports such as pcie or aurora. Usage: add 'enable_fc=false' to stream_args.args Signed-off-by: mattprost <matt.prost@ni.com>
Diffstat (limited to 'host/lib/include')
-rw-r--r--host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp10
-rw-r--r--host/lib/include/uhdlib/transport/links.hpp3
2 files changed, 10 insertions, 3 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp b/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
index afe438140..0e3e887f3 100644
--- a/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
+++ b/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
@@ -148,9 +148,13 @@ public:
//
// \param xport The host stream endpoint's CTRL transport (same EPID as RX stream)
// \param epid The endpoint ID of the data source
+ // \param timeout The max time to wait on stream validation
+ // \param fc_enabled Enable flow control in the FPGA
//
- virtual stream_buff_params_t config_local_rx_stream_commit(
- chdr_ctrl_xport& xport, const sep_id_t& epid, const double timeout = 0.2) = 0;
+ virtual stream_buff_params_t config_local_rx_stream_commit(chdr_ctrl_xport& xport,
+ const sep_id_t& epid,
+ const double timeout = 0.2,
+ const bool fc_enabled = true) = 0;
//! Configure a flow controlled transmit data stream from this SW mgmt portal to the
// endpoint with the specified ID.
@@ -177,6 +181,8 @@ public:
// \param mdata_buff_fmt Datatype of SW buffer that holds the data metadata
// \param fc_freq Flow control response frequency parameters
// \param fc_freq Flow control headroom parameters
+ // \param reset Reset source and destination stream endpoint states
+ // \param timeout The max time to wait on stream validation
//
virtual stream_buff_params_t config_remote_stream(chdr_ctrl_xport& xport,
const sep_id_t& dst_epid,
diff --git a/host/lib/include/uhdlib/transport/links.hpp b/host/lib/include/uhdlib/transport/links.hpp
index f9d08de11..89d5774ce 100644
--- a/host/lib/include/uhdlib/transport/links.hpp
+++ b/host/lib/include/uhdlib/transport/links.hpp
@@ -20,7 +20,8 @@ using both_links_t = std::tuple<uhd::transport::send_link_if::sptr,
uhd::transport::recv_link_if::sptr,
size_t, // num_recv_frames
bool, // lossy_xport
- bool>; // packet flow control
+ bool, // packet flow control
+ bool>; // enable flow control
/*!
* Parameters for link creation.