diff options
author | Evan Lojewski <github@meklort.com> | 2020-07-05 12:40:34 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-05 12:40:34 -0600 |
commit | 8285c7c56d8ddaab4ddb687a13578bdce681e458 (patch) | |
tree | d3980d03815910680cf93baba8adc72d5dcde0e2 /libs | |
parent | 5b4d0ab9a70278ab3e696f70d68a4ad0e87ce711 (diff) | |
download | bcm5719-ortega-8285c7c56d8ddaab4ddb687a13578bdce681e458.tar.gz bcm5719-ortega-8285c7c56d8ddaab4ddb687a13578bdce681e458.zip |
network: Only check for free FIFO space once to improve transmission speeds. (#84)
Diffstat (limited to 'libs')
-rw-r--r-- | libs/Network/rx.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/libs/Network/rx.c b/libs/Network/rx.c index 149294f..f1710d2 100644 --- a/libs/Network/rx.c +++ b/libs/Network/rx.c @@ -179,12 +179,13 @@ bool Network_PassthroughRxPatcket(NetworkPort_t *port) words--; } + while (APE_PERI.BmcToNcTxStatus.bits.InFifo < words) + ; + if (control.bits.not_last) { for (i = 0; i < words; i++) { - while (0 == APE_PERI.BmcToNcTxStatus.bits.InFifo) - ; APE_PERI.BmcToNcTxBuffer.r32 = block[i + offset].r32; } } @@ -197,14 +198,10 @@ bool Network_PassthroughRxPatcket(NetworkPort_t *port) for (i = 0; i < words - 1; i++) { - while (0 == APE_PERI.BmcToNcTxStatus.bits.InFifo) - ; APE_PERI.BmcToNcTxBuffer.r32 = block[i + offset].r32; } // Last word to send. - while (0 == APE_PERI.BmcToNcTxStatus.bits.InFifo) - ; if (0 == control.bits.payload_length % sizeof(uint32_t)) { // Last word |