summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-07-05 12:40:34 -0600
committerGitHub <noreply@github.com>2020-07-05 12:40:34 -0600
commit8285c7c56d8ddaab4ddb687a13578bdce681e458 (patch)
treed3980d03815910680cf93baba8adc72d5dcde0e2 /libs
parent5b4d0ab9a70278ab3e696f70d68a4ad0e87ce711 (diff)
downloadbcm5719-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.c9
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
OpenPOWER on IntegriCloud