diff options
Diffstat (limited to 'host/lib/rfnoc/legacy_compat.cpp')
| -rw-r--r-- | host/lib/rfnoc/legacy_compat.cpp | 15 | 
1 files changed, 12 insertions, 3 deletions
| diff --git a/host/lib/rfnoc/legacy_compat.cpp b/host/lib/rfnoc/legacy_compat.cpp index 70fe067f8..7b80bf175 100644 --- a/host/lib/rfnoc/legacy_compat.cpp +++ b/host/lib/rfnoc/legacy_compat.cpp @@ -520,7 +520,10 @@ private: // methods      ) {          if (dir == uhd::TX_DIRECTION) {              if (_has_sramfifo) { -                return block_id_t(mboard_idx, SFIFO_BLOCK_NAME, radio_index).to_string(); +                const size_t sfifo_idx = +                    radio_index * _num_tx_chans_per_radio + port_index; +                port_index = 0; +                return block_id_t(mboard_idx, SFIFO_BLOCK_NAME, sfifo_idx).to_string();              } else if (_has_dmafifo) {                  port_index = radio_index;                  return block_id_t(mboard_idx, DFIFO_BLOCK_NAME, 0).to_string(); @@ -738,8 +741,11 @@ private: // methods                          // Prioritize SRAM over DRAM for performance                          if (_has_sramfifo) {                              // We have SRAM FIFO *and* DUCs +                            // SRAM FIFOs have only 1 channel per block +                            const size_t sfifo_idx = +                                _num_tx_chans_per_radio * radio + chan;                              _graph->connect( -                                block_id_t(mboard, SFIFO_BLOCK_NAME, radio), chan, +                                block_id_t(mboard, SFIFO_BLOCK_NAME, sfifo_idx), chan,                                  block_id_t(mboard, DUC_BLOCK_NAME, radio), chan,                                  tx_bpp                              ); @@ -753,8 +759,11 @@ private: // methods                          }                      } else if (_has_sramfifo) {                              // We have SRAM FIFO, *no* DUCs +                            // SRAM FIFOs have only 1 channel per block +                            const size_t sfifo_idx = +                                _num_tx_chans_per_radio * radio + chan;                              _graph->connect( -                                block_id_t(mboard, SFIFO_BLOCK_NAME, radio), radio, +                                block_id_t(mboard, SFIFO_BLOCK_NAME, sfifo_idx), 0,                                  block_id_t(mboard, RADIO_BLOCK_NAME, radio), chan,                                  tx_bpp                              ); | 
