diff options
author | mattprost <matt.prost@ni.com> | 2021-03-31 11:33:33 -0500 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2021-04-29 14:35:26 -0500 |
commit | d689df23fb4bf38e1abc23b06767fc26aa27c163 (patch) | |
tree | b89a640a8e86ec572958d7602cc2c9d834f68fdf /host/lib/include | |
parent | 99e5230e4bf26166ee1accce1e57ff24b0629826 (diff) | |
download | uhd-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.hpp | 10 | ||||
-rw-r--r-- | host/lib/include/uhdlib/transport/links.hpp | 3 |
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. |