summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald Cron <ronald.cron@arm.com>2014-11-11 00:49:50 +0000
committeroliviermartin <oliviermartin@Edk2>2014-11-11 00:49:50 +0000
commit6382e5df4e320b8b7db40bccbeccbd89d368d52f (patch)
tree6ccc1305cea4ec9da22e0846a2f3209d1a226ae8
parentbb5420bb2b5fa146de1ddf2da5932b214e5743a9 (diff)
downloadedk2-platforms-6382e5df4e320b8b7db40bccbeccbd89d368d52f.tar.xz
EmbeddedPkg/Lan9118Dxe: Remove link check in SNP initialization
The UEFI specification does not require the initialisation and reset interface to check if an Ethernet cable is connected or not, and provides the GetStatus() interface to do this. Furthermore, the 'Managed Network Protocol' take care of the cable connection check in edk2 network stack. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <ronald.cron@arm.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16326 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.c4
-rw-r--r--EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c15
-rw-r--r--EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h3
3 files changed, 3 insertions, 19 deletions
diff --git a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.c b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.c
index 60b8c96dda..0503dbce1e 100644
--- a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.c
+++ b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.c
@@ -283,7 +283,7 @@ SnpInitialize (
}
// Initiate a PHY reset
- Status = PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp);
+ Status = PhySoftReset (PHY_RESET_PMT, Snp);
if (EFI_ERROR (Status)) {
Snp->Mode->State = EfiSimpleNetworkStopped;
DEBUG ((EFI_D_WARN, "Warning: Link not ready after TimeOut. Check ethernet cable\n"));
@@ -403,7 +403,7 @@ SnpReset (
}
// Initiate a PHY reset
- Status = PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp);
+ Status = PhySoftReset (PHY_RESET_PMT, Snp);
if (EFI_ERROR (Status)) {
Snp->Mode->State = EfiSimpleNetworkStopped;
return EFI_NOT_STARTED;
diff --git a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c
index 301c42ff18..9531b0ba2a 100644
--- a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c
+++ b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c
@@ -491,7 +491,6 @@ PhySoftReset (
)
{
UINT32 PmtCtrl = 0;
- UINT32 LinkTo = 0;
// PMT PHY reset takes precedence over BCR
if (Flags & PHY_RESET_PMT) {
@@ -513,20 +512,6 @@ PhySoftReset (
}
}
- // Check the link status
- if (Flags & PHY_RESET_CHECK_LINK) {
- LinkTo = 100000; // 2 second (could be 50% more)
- while (EFI_ERROR (CheckLinkStatus (0, Snp)) && (LinkTo > 0)) {
- gBS->Stall (LAN9118_STALL);
- LinkTo--;
- }
-
- // Timed out
- if (LinkTo <= 0) {
- return EFI_TIMEOUT;
- }
- }
-
// Clear and acknowledge all interrupts
if (Flags & PHY_SOFT_RESET_CLEAR_INT) {
MmioWrite32 (LAN9118_INT_EN, 0);
diff --git a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h
index 5bc4501c1a..424bdc5a85 100644
--- a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h
+++ b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h
@@ -115,8 +115,7 @@ SoftReset (
// Flags for PHY reset
#define PHY_RESET_PMT BIT0
#define PHY_RESET_BCR BIT1
-#define PHY_RESET_CHECK_LINK BIT2
-#define PHY_SOFT_RESET_CLEAR_INT BIT3
+#define PHY_SOFT_RESET_CLEAR_INT BIT2
// Perform PHY software reset
EFI_STATUS