]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/SnpDxe/Reset.c
Roll back the DEBUG mask change which cause SerialIo read_conf test item failure.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / SnpDxe / Reset.c
index cd396bbb096eb5a49998430d3b4a042c532f8e2e..5b8bc0d675688fad0ccad5940f9e1450015c8eed 100644 (file)
@@ -1,64 +1,58 @@
 /** @file\r
-Copyright (c) 2004 - 2007, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
+    Implementation of resetting a network adapter.\r
\r
+Copyright (c) 2004 - 2007, Intel Corporation.<BR> All rights reserved. This \r
+program and the accompanying materials are licensed and made available under the \r
+terms and conditions of the BSD License which accompanies this distribution. The \r
+full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module name:\r
-  reset.c\r
-\r
-Abstract:\r
-\r
-Revision history:\r
-  2000-Feb-09 M(f)J   Genesis.\r
-\r
 **/\r
 \r
 #include "Snp.h"\r
 \r
 \r
 /**\r
-  This routine calls undi to reset the nic.\r
+  Call UNDI to reset the NIC.\r
 \r
-  @param  snp                   pointer to the snp driver structure\r
+  @param  Snp                 Pointer to the snp driver structure.\r
 \r
-  @return EFI_SUCCESSFUL for a successful completion\r
-  @return other for failed calls\r
+  @return EFI_SUCCESSFUL      The NIC was reset.\r
+  @retval EFI_DEVICE_ERROR    The NIC cannot be reset.\r
 \r
 **/\r
 EFI_STATUS\r
-pxe_reset (\r
-  SNP_DRIVER *snp\r
+PxeReset (\r
+  SNP_DRIVER *Snp\r
   )\r
 {\r
-  snp->cdb.OpCode     = PXE_OPCODE_RESET;\r
-  snp->cdb.OpFlags    = PXE_OPFLAGS_NOT_USED;\r
-  snp->cdb.CPBsize    = PXE_CPBSIZE_NOT_USED;\r
-  snp->cdb.DBsize     = PXE_DBSIZE_NOT_USED;\r
-  snp->cdb.CPBaddr    = PXE_CPBADDR_NOT_USED;\r
-  snp->cdb.DBaddr     = PXE_DBADDR_NOT_USED;\r
-  snp->cdb.StatCode   = PXE_STATCODE_INITIALIZE;\r
-  snp->cdb.StatFlags  = PXE_STATFLAGS_INITIALIZE;\r
-  snp->cdb.IFnum      = snp->if_num;\r
-  snp->cdb.Control    = PXE_CONTROL_LAST_CDB_IN_LIST;\r
+  Snp->Cdb.OpCode     = PXE_OPCODE_RESET;\r
+  Snp->Cdb.OpFlags    = PXE_OPFLAGS_NOT_USED;\r
+  Snp->Cdb.CPBsize    = PXE_CPBSIZE_NOT_USED;\r
+  Snp->Cdb.DBsize     = PXE_DBSIZE_NOT_USED;\r
+  Snp->Cdb.CPBaddr    = PXE_CPBADDR_NOT_USED;\r
+  Snp->Cdb.DBaddr     = PXE_DBADDR_NOT_USED;\r
+  Snp->Cdb.StatCode   = PXE_STATCODE_INITIALIZE;\r
+  Snp->Cdb.StatFlags  = PXE_STATFLAGS_INITIALIZE;\r
+  Snp->Cdb.IFnum      = Snp->IfNum;\r
+  Snp->Cdb.Control    = PXE_CONTROL_LAST_CDB_IN_LIST;\r
 \r
   //\r
   // Issue UNDI command and check result.\r
   //\r
   DEBUG ((EFI_D_NET, "\nsnp->undi.reset()  "));\r
 \r
-  (*snp->issue_undi32_command) ((UINT64)(UINTN) &snp->cdb);\r
+  (*Snp->IssueUndi32Command) ((UINT64)(UINTN) &Snp->Cdb);\r
 \r
-  if (snp->cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
+  if (Snp->Cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
     DEBUG (\r
       (EFI_D_WARN,\r
       "\nsnp->undi32.reset()  %xh:%xh\n",\r
-      snp->cdb.StatFlags,\r
-      snp->cdb.StatCode)\r
+      Snp->Cdb.StatFlags,\r
+      Snp->Cdb.StatCode)\r
       );\r
 \r
     //\r
@@ -72,23 +66,37 @@ pxe_reset (
 \r
 \r
 /**\r
-  This is the SNP interface routine for resetting the NIC\r
-  This routine basically retrieves snp structure, checks the SNP state and\r
-  calls the pxe_reset routine to actually do the reset!\r
-\r
-  @param  this                  context pointer\r
-  @param  ExtendedVerification  not implemented\r
-\r
+  Resets a network adapter and reinitializes it with the parameters that were\r
+  provided in the previous call to Initialize().\r
+\r
+  This function resets a network adapter and reinitializes it with the parameters\r
+  that were provided in the previous call to Initialize(). The transmit and \r
+  receive queues are emptied and all pending interrupts are cleared.\r
+  Receive filters, the station address, the statistics, and the multicast-IP-to-HW \r
+  MAC addresses are not reset by this call. If the network interface was \r
+  successfully reset, then EFI_SUCCESS will be returned. If the driver has not \r
+  been initialized, EFI_DEVICE_ERROR will be returned.\r
+\r
+  @param This                 A pointer to the EFI_SIMPLE_NETWORK_PROTOCOL instance.\r
+  @param ExtendedVerification Indicates that the driver may perform a more \r
+                              exhaustive verification operation of the device \r
+                              during reset.\r
+\r
+  @retval EFI_SUCCESS           The network interface was reset.\r
+  @retval EFI_NOT_STARTED       The network interface has not been started.\r
+  @retval EFI_INVALID_PARAMETER One or more of the parameters has an unsupported value.\r
+  @retval EFI_DEVICE_ERROR      The command could not be sent to the network interface.\r
+  @retval EFI_UNSUPPORTED       This function is not supported by the network interface.\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
-snp_undi32_reset (\r
-  IN EFI_SIMPLE_NETWORK_PROTOCOL *this,\r
+SnpUndi32Reset (\r
+  IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
   IN BOOLEAN                     ExtendedVerification\r
   )\r
 {\r
-  SNP_DRIVER  *snp;\r
+  SNP_DRIVER  *Snp;\r
   EFI_TPL     OldTpl;\r
   EFI_STATUS  Status;\r
 \r
@@ -98,15 +106,15 @@ snp_undi32_reset (
   ExtendedVerification = 0;\r
   DEBUG ((EFI_D_WARN, "ExtendedVerification = %d is not implemented!\n", ExtendedVerification));\r
 \r
-  if (this == NULL) {\r
+  if (This == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  snp = EFI_SIMPLE_NETWORK_DEV_FROM_THIS (this);\r
+  Snp = EFI_SIMPLE_NETWORK_DEV_FROM_THIS (This);\r
 \r
   OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
 \r
-  switch (snp->mode.State) {\r
+  switch (Snp->Mode.State) {\r
   case EfiSimpleNetworkInitialized:\r
     break;\r
 \r
@@ -119,7 +127,7 @@ snp_undi32_reset (
     goto ON_EXIT;\r
   }\r
 \r
-  Status = pxe_reset (snp);\r
+  Status = PxeReset (Snp);\r
 \r
 ON_EXIT:\r
   gBS->RestoreTPL (OldTpl);\r