X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EmbeddedPkg%2FDrivers%2FLan9118Dxe%2FLan9118DxeUtil.c;h=9531b0ba2a463f6c9896a211b104f4d531ec004c;hp=99c3ff0cec518207020fceec054162df052b235b;hb=6382e5df4e320b8b7db40bccbeccbd89d368d52f;hpb=46f2c53b544438c735708abba5dc66f83fd2dc4f diff --git a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c index 99c3ff0cec..9531b0ba2a 100644 --- a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c +++ b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c @@ -14,7 +14,7 @@ #include "Lan9118Dxe.h" -STATIC EFI_MAC_ADDRESS mZeroMac = { 0 }; +STATIC EFI_MAC_ADDRESS mZeroMac = { { 0 } }; /** This internal function reverses bits for 32bit data. @@ -320,8 +320,6 @@ Lan9118SetMacAddress ( (UINT32)(Mac->Addr[4] & 0xFF) | ((Mac->Addr[5] & 0xFF) << 8) ); - - CopyMem (&Snp->Mode->CurrentAddress, &Mac, NET_ETHER_ADDR_LEN); } VOID @@ -398,6 +396,7 @@ Lan9118Initialize ( DEBUG ((EFI_D_WARN, "Warning: using driver-default MAC address\n")); DefaultMacAddress = FixedPcdGet64 (PcdLan9118DefaultMacAddress); Lan9118SetMacAddress((EFI_MAC_ADDRESS *) &DefaultMacAddress, Snp); + CopyMem (&Snp->Mode->CurrentAddress, &DefaultMacAddress, NET_ETHER_ADDR_LEN); } } else { // Store the MAC address that was loaded from EEPROM @@ -485,14 +484,13 @@ SoftReset ( // Perform PHY software reset -INT32 +EFI_STATUS PhySoftReset ( UINT32 Flags, EFI_SIMPLE_NETWORK_PROTOCOL *Snp ) { UINT32 PmtCtrl = 0; - UINT32 LinkTo = 0; // PMT PHY reset takes precedence over BCR if (Flags & PHY_RESET_PMT) { @@ -505,7 +503,7 @@ PhySoftReset ( gBS->Stall (LAN9118_STALL); } // PHY Basic Control Register reset - } else if (Flags & PHY_RESET_PMT) { + } else if (Flags & PHY_RESET_BCR) { IndirectPHYWrite32 (PHY_INDEX_BASIC_CTRL, PHYCR_RESET); // Wait for completion @@ -514,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 -1; - } - } - // Clear and acknowledge all interrupts if (Flags & PHY_SOFT_RESET_CLEAR_INT) { MmioWrite32 (LAN9118_INT_EN, 0); @@ -535,7 +519,7 @@ PhySoftReset ( MmioWrite32 (LAN9118_INT_STS, 0xFFFFFFFF); } - return 0; + return EFI_SUCCESS; }