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
}\r
\r
// Initiate a PHY reset\r
}\r
\r
// Initiate a PHY reset\r
- Status = PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp);\r
+ Status = PhySoftReset (PHY_RESET_PMT, Snp);\r
if (EFI_ERROR (Status)) {\r
Snp->Mode->State = EfiSimpleNetworkStopped;\r
DEBUG ((EFI_D_WARN, "Warning: Link not ready after TimeOut. Check ethernet cable\n"));\r
if (EFI_ERROR (Status)) {\r
Snp->Mode->State = EfiSimpleNetworkStopped;\r
DEBUG ((EFI_D_WARN, "Warning: Link not ready after TimeOut. Check ethernet cable\n"));\r
}\r
\r
// Initiate a PHY reset\r
}\r
\r
// Initiate a PHY reset\r
- Status = PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp);\r
+ Status = PhySoftReset (PHY_RESET_PMT, Snp);\r
if (EFI_ERROR (Status)) {\r
Snp->Mode->State = EfiSimpleNetworkStopped;\r
return EFI_NOT_STARTED;\r
if (EFI_ERROR (Status)) {\r
Snp->Mode->State = EfiSimpleNetworkStopped;\r
return EFI_NOT_STARTED;\r
)\r
{\r
UINT32 PmtCtrl = 0;\r
)\r
{\r
UINT32 PmtCtrl = 0;\r
\r
// PMT PHY reset takes precedence over BCR\r
if (Flags & PHY_RESET_PMT) {\r
\r
// PMT PHY reset takes precedence over BCR\r
if (Flags & PHY_RESET_PMT) {\r
- // Check the link status\r
- if (Flags & PHY_RESET_CHECK_LINK) {\r
- LinkTo = 100000; // 2 second (could be 50% more)\r
- while (EFI_ERROR (CheckLinkStatus (0, Snp)) && (LinkTo > 0)) {\r
- gBS->Stall (LAN9118_STALL);\r
- LinkTo--;\r
- }\r
-\r
- // Timed out\r
- if (LinkTo <= 0) {\r
- return EFI_TIMEOUT;\r
- }\r
- }\r
-\r
// Clear and acknowledge all interrupts\r
if (Flags & PHY_SOFT_RESET_CLEAR_INT) {\r
MmioWrite32 (LAN9118_INT_EN, 0);\r
// Clear and acknowledge all interrupts\r
if (Flags & PHY_SOFT_RESET_CLEAR_INT) {\r
MmioWrite32 (LAN9118_INT_EN, 0);\r
// Flags for PHY reset\r
#define PHY_RESET_PMT BIT0\r
#define PHY_RESET_BCR BIT1\r
// Flags for PHY reset\r
#define PHY_RESET_PMT BIT0\r
#define PHY_RESET_BCR BIT1\r
-#define PHY_RESET_CHECK_LINK BIT2\r
-#define PHY_SOFT_RESET_CLEAR_INT BIT3\r
+#define PHY_SOFT_RESET_CLEAR_INT BIT2\r
\r
// Perform PHY software reset\r
EFI_STATUS\r
\r
// Perform PHY software reset\r
EFI_STATUS\r