fpga: rfnoc: Add ability to disable output flow control

Per the RFNoC specification, if we set the frequency of flow
control updates to 0 then the input stream will not send flow control
status updates to the output stream handler.

This change makes it so that when the frequency of flow control status
updates is configured to be zero in the FPGA output stream handler
(i.e., cfg_fc_freq_bytes and cfg_fc_freq_pkts are both 0 in
chdr_stream_output) then the output stream handler will not use flow
control. That is, chdr_stream_output will not expect stream status
updates and will not restrict output packets.


Original-commit: 184999c54f0f30a7952d4e8560b393730c00e353
This commit is contained in:
Wade Fife
2021-04-14 07:24:49 -05:00
parent bababc79eb
commit 40c76b8d9a
2 changed files with 22 additions and 7 deletions
+9 -5
View File
@@ -218,11 +218,15 @@ module chdr_stream_endpoint #(
// - [1]: Flush control path
// * REG_OSTRM_CTRL_STATUS (Read-Write):
// Control and status register for the output stream
// - [0] : Configuration start (strobe)
// - [1] : Is this transport lossy?
// - [3:2]: Payload SW buff (0=u64, 1=u32, 2=u16, 3=u8)
// - [5:4]: Metadata SW buff (0=u64, 1=u32, 2=u16, 3=u8)
// - [6] : Swap endianness
// - [0] : Configuration start (strobe)
// - [1] : Is this transport lossy?
// - [3:2] : Payload SW buff (0=u64, 1=u32, 2=u16, 3=u8)
// - [5:4] : Metadata SW buff (0=u64, 1=u32, 2=u16, 3=u8)
// - [6] : Swap endianness
// - [28:7]: <Unused>
// - [29] : Configuration is pending (read-only)
// - [30] : Configuration has failed (read-only)
// - [31] : Is flow-control enabled? (read-only)
// * REG_OSTRM_DST_EPID (Write-Only):
// The endpoint ID of a downstream stream endpoint
// - [15:0]: Endpoint ID