aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Ott <alan@softiron.co.uk>2016-08-30 12:04:24 -0400
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-08-30 17:11:48 +0100
commit68f2976a59b0eed83498cf5a755b1f67cceca9ae (patch)
tree4931a71a63f3a8165438542d692ec62d865dee26
parent972bf6b5263edf81fce2369b37c2bb75c43d6349 (diff)
Drivers/Net/MarvellYukon: Use system memory buffer struct for receive queue
The Receive Queue uses system memory for each packet, not DMA memory, so use the MSK_LINKED_SYSTEM_BUF items for this queue instead of MSK_DMA_BUF items. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Alan Ott <alan@softiron.co.uk> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-rw-r--r--Drivers/Net/MarvellYukonDxe/if_msk.c39
1 files changed, 19 insertions, 20 deletions
diff --git a/Drivers/Net/MarvellYukonDxe/if_msk.c b/Drivers/Net/MarvellYukonDxe/if_msk.c
index 2b505c3..292fa23 100644
--- a/Drivers/Net/MarvellYukonDxe/if_msk.c
+++ b/Drivers/Net/MarvellYukonDxe/if_msk.c
@@ -1804,7 +1804,7 @@ mskc_receive (
OUT VOID *Buffer
)
{
- MSK_LINKED_DMA_BUF *mBuf;
+ MSK_LINKED_SYSTEM_BUF *mBuf;
msk_intr (); // check the interrupt lines
@@ -1813,17 +1813,17 @@ mskc_receive (
return EFI_NOT_READY;
}
- mBuf = CR (GetFirstNode (&mSoftc->ReceiveQueueHead), MSK_LINKED_DMA_BUF, Link, RX_MBUF_SIGNATURE);
- if (mBuf->DmaBuf.Length > *BufferSize) {
- *BufferSize = mBuf->DmaBuf.Length;
+ mBuf = CR (GetFirstNode (&mSoftc->ReceiveQueueHead), MSK_LINKED_SYSTEM_BUF, Link, RX_MBUF_SIGNATURE);
+ if (mBuf->SystemBuf.Length > *BufferSize) {
+ *BufferSize = mBuf->SystemBuf.Length;
DEBUG ((EFI_D_NET, "Marvell Yukon: Receive buffer is too small: Provided = %d, Received = %d\n",
- *BufferSize, mBuf->DmaBuf.Length));
+ *BufferSize, mBuf->SystemBuf.Length));
return EFI_BUFFER_TOO_SMALL;
}
- *BufferSize = mBuf->DmaBuf.Length;
+ *BufferSize = mBuf->SystemBuf.Length;
RemoveEntryList (&mBuf->Link);
- gBS->CopyMem (Buffer, mBuf->DmaBuf.Buf, *BufferSize);
- gBS->FreePool(mBuf->DmaBuf.Buf);
+ gBS->CopyMem (Buffer, mBuf->SystemBuf.Buf, *BufferSize);
+ gBS->FreePool(mBuf->SystemBuf.Buf);
gBS->FreePool (mBuf);
return EFI_SUCCESS;
}
@@ -1836,12 +1836,12 @@ msk_rxeof (
INTN len
)
{
- EFI_STATUS Status;
- MSK_LINKED_DMA_BUF *m_link;
- struct msk_rxdesc *rxd;
- INTN cons;
- INTN rxlen;
- MSK_DMA_BUF m;
+ EFI_STATUS Status;
+ MSK_LINKED_SYSTEM_BUF *m_link;
+ struct msk_rxdesc *rxd;
+ INTN cons;
+ INTN rxlen;
+ MSK_DMA_BUF m;
DEBUG ((EFI_D_NET, "Marvell Yukon: rxeof\n"));
@@ -1888,18 +1888,17 @@ msk_rxeof (
}
Status = gBS->AllocatePool (EfiBootServicesData,
- sizeof (MSK_LINKED_DMA_BUF),
+ sizeof (MSK_LINKED_SYSTEM_BUF),
(VOID**) &m_link);
if (!EFI_ERROR (Status)) {
- gBS->SetMem (m_link, sizeof (MSK_LINKED_DMA_BUF), 0);
+ gBS->SetMem (m_link, sizeof (MSK_LINKED_SYSTEM_BUF), 0);
m_link->Signature = RX_MBUF_SIGNATURE;
Status = gBS->AllocatePool (EfiBootServicesData,
len,
- (VOID**) &m_link->DmaBuf.Buf);
+ (VOID**) &m_link->SystemBuf.Buf);
if(!EFI_ERROR (Status)) {
- gBS->CopyMem (m_link->DmaBuf.Buf, m.Buf, len);
- m_link->DmaBuf.Length = len;
- m_link->DmaBuf.DmaMapping = NULL;
+ gBS->CopyMem (m_link->SystemBuf.Buf, m.Buf, len);
+ m_link->SystemBuf.Length = len;
InsertTailList (&mSoftc->ReceiveQueueHead, &m_link->Link);
} else {