diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DriverBinding.c b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DriverBinding.c
index bdf88545..f1a9771f 100755
--- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DriverBinding.c
+++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DriverBinding.c
@@ -1,6 +1,7 @@
/** @file
Copyright (c) 2011 - 2019, Intel Corporaton. All rights reserved.
+ Copyright (c) 2020, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -171,7 +172,7 @@ DriverStart (
}
//DMA mapping for receive buffer
- RxBufferAddr = (VOID *)Snp->MacDriver.RxBuffer + (Index * BufferSize);
+ RxBufferAddr = (UINTN*)((UINTN)Snp->MacDriver.RxBuffer + (Index * BufferSize));
Status = DmaMap (MapOperationBusMasterWrite, (VOID *) RxBufferAddr,
&BufferSize, &RxBufferAddrMap, &Snp->MacDriver.RxBufNum[Index].Mapping);
if (EFI_ERROR (Status)) {
diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c
index 09e67547..4cb3371d 100755
--- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c
+++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c
@@ -5,7 +5,7 @@
The original software modules are licensed as follows:
- Copyright (c) 2012 - 2014, ARM Limited. All rights reserved.
+ Copyright (c) 2012 - 2020, Arm Limited. All rights reserved.
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -1135,7 +1135,8 @@ SnpReceive (
Snp->MacDriver.RxCurrentDescriptorNum = Snp->MacDriver.RxNextDescriptorNum;
DescNum = Snp->MacDriver.RxCurrentDescriptorNum;
RxDescriptor = Snp->MacDriver.RxdescRing[DescNum];
- RxBufferAddr = (VOID *)Snp->MacDriver.RxBuffer + (DescNum * BufferSizeBuf);
+ RxBufferAddr = (UINTN*)((UINTN)Snp->MacDriver.RxBuffer +
+ (DescNum * BufferSizeBuf));
RxDescriptorMap = (VOID *)(UINTN)Snp->MacDriver.RxdescRingMap[DescNum].AddrMap;
RawData = (UINT8 *) Data;