]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/PciSioSerialDxe/SerialIo.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / PciSioSerialDxe / SerialIo.c
index f8b9a0e3eeb5223e855f665666329946d71d49d4..8a85a6c3b886589a8b4275c6b7bbd9d65169b635 100644 (file)
@@ -20,27 +20,31 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 **/\r
 UART_DEVICE_PATH *\r
 SkipControllerDevicePathNode (\r
-  EFI_DEVICE_PATH_PROTOCOL          *DevicePath,\r
-  BOOLEAN                           *ContainsControllerNode,\r
-  UINT32                            *ControllerNumber\r
+  EFI_DEVICE_PATH_PROTOCOL  *DevicePath,\r
+  BOOLEAN                   *ContainsControllerNode,\r
+  UINT32                    *ControllerNumber\r
   )\r
 {\r
   if ((DevicePathType (DevicePath) == HARDWARE_DEVICE_PATH) &&\r
       (DevicePathSubType (DevicePath) == HW_CONTROLLER_DP)\r
-      ) {\r
+      )\r
+  {\r
     if (ContainsControllerNode != NULL) {\r
       *ContainsControllerNode = TRUE;\r
     }\r
+\r
     if (ControllerNumber != NULL) {\r
-      *ControllerNumber = ((CONTROLLER_DEVICE_PATH *) DevicePath)->ControllerNumber;\r
+      *ControllerNumber = ((CONTROLLER_DEVICE_PATH *)DevicePath)->ControllerNumber;\r
     }\r
+\r
     DevicePath = NextDevicePathNode (DevicePath);\r
   } else {\r
     if (ContainsControllerNode != NULL) {\r
       *ContainsControllerNode = FALSE;\r
     }\r
   }\r
-  return (UART_DEVICE_PATH *) DevicePath;\r
+\r
+  return (UART_DEVICE_PATH *)DevicePath;\r
 }\r
 \r
 /**\r
@@ -65,26 +69,27 @@ SkipControllerDevicePathNode (
 **/\r
 BOOLEAN\r
 VerifyUartParameters (\r
-  IN     UINT32                  ClockRate,\r
-  IN     UINT64                  BaudRate,\r
-  IN     UINT8                   DataBits,\r
-  IN     EFI_PARITY_TYPE         Parity,\r
-  IN     EFI_STOP_BITS_TYPE      StopBits,\r
-     OUT UINT64                  *Divisor,\r
-     OUT UINT64                  *ActualBaudRate\r
+  IN     UINT32              ClockRate,\r
+  IN     UINT64              BaudRate,\r
+  IN     UINT8               DataBits,\r
+  IN     EFI_PARITY_TYPE     Parity,\r
+  IN     EFI_STOP_BITS_TYPE  StopBits,\r
+  OUT UINT64                 *Divisor,\r
+  OUT UINT64                 *ActualBaudRate\r
   )\r
 {\r
-  UINT64                     Remainder;\r
-  UINT32                     ComputedBaudRate;\r
-  UINT64                     ComputedDivisor;\r
-  UINT64                     Percent;\r
+  UINT64  Remainder;\r
+  UINT32  ComputedBaudRate;\r
+  UINT64  ComputedDivisor;\r
+  UINT64  Percent;\r
 \r
   if ((DataBits < 5) || (DataBits > 8) ||\r
       (Parity < NoParity) || (Parity > SpaceParity) ||\r
       (StopBits < OneStopBit) || (StopBits > TwoStopBits) ||\r
       ((DataBits == 5) && (StopBits == TwoStopBits)) ||\r
       ((DataBits >= 6) && (DataBits <= 8) && (StopBits == OneFiveStopBits))\r
-      ) {\r
+      )\r
+  {\r
     return FALSE;\r
   }\r
 \r
@@ -108,6 +113,7 @@ VerifyUartParameters (
   if (Remainder >= LShiftU64 (BaudRate, 3)) {\r
     ComputedDivisor++;\r
   }\r
+\r
   //\r
   // If the computed divisor is larger than the maximum value that can be programmed\r
   // into the UART, then the requested baud rate can not be supported.\r
@@ -128,13 +134,13 @@ VerifyUartParameters (
   // Actual baud rate that the serial port will be programmed for\r
   // should be with in 4% of requested one.\r
   //\r
-  ComputedBaudRate = ClockRate / ((UINT16) ComputedDivisor << 4);\r
+  ComputedBaudRate = ClockRate / ((UINT16)ComputedDivisor << 4);\r
   if (ComputedBaudRate == 0) {\r
     return FALSE;\r
   }\r
 \r
   Percent = DivU64x32 (MultU64x32 (BaudRate, 100), ComputedBaudRate);\r
-  DEBUG ((DEBUG_INFO, "ClockRate = %d\n",  ClockRate));\r
+  DEBUG ((DEBUG_INFO, "ClockRate = %d\n", ClockRate));\r
   DEBUG ((DEBUG_INFO, "Divisor   = %ld\n", ComputedDivisor));\r
   DEBUG ((DEBUG_INFO, "BaudRate/Actual (%ld/%d) = %d%%\n", BaudRate, ComputedBaudRate, Percent));\r
 \r
@@ -147,18 +153,23 @@ VerifyUartParameters (
     if (ActualBaudRate != NULL) {\r
       *ActualBaudRate = BaudRate;\r
     }\r
+\r
     if (Divisor != NULL) {\r
       *Divisor = ComputedDivisor;\r
     }\r
+\r
     return TRUE;\r
   }\r
+\r
   if (ComputedBaudRate < BaudRate) {\r
     if (ActualBaudRate != NULL) {\r
       *ActualBaudRate = ComputedBaudRate;\r
     }\r
+\r
     if (Divisor != NULL) {\r
       *Divisor = ComputedDivisor;\r
     }\r
+\r
     return TRUE;\r
   }\r
 \r
@@ -170,22 +181,25 @@ VerifyUartParameters (
   if (ComputedDivisor == MAX_UINT16) {\r
     return FALSE;\r
   }\r
+\r
   ComputedDivisor++;\r
-  ComputedBaudRate = ClockRate / ((UINT16) ComputedDivisor << 4);\r
+  ComputedBaudRate = ClockRate / ((UINT16)ComputedDivisor << 4);\r
   if (ComputedBaudRate == 0) {\r
     return FALSE;\r
   }\r
 \r
-  DEBUG ((DEBUG_INFO, "ClockRate = %d\n",  ClockRate));\r
+  DEBUG ((DEBUG_INFO, "ClockRate = %d\n", ClockRate));\r
   DEBUG ((DEBUG_INFO, "Divisor   = %ld\n", ComputedDivisor));\r
   DEBUG ((DEBUG_INFO, "BaudRate/Actual (%ld/%d) = %d%%\n", BaudRate, ComputedBaudRate, Percent));\r
 \r
   if (ActualBaudRate != NULL) {\r
     *ActualBaudRate = ComputedBaudRate;\r
   }\r
+\r
   if (Divisor != NULL) {\r
     *Divisor = ComputedDivisor;\r
   }\r
+\r
   return TRUE;\r
 }\r
 \r
@@ -198,10 +212,10 @@ VerifyUartParameters (
 **/\r
 BOOLEAN\r
 SerialFifoFull (\r
-  IN SERIAL_DEV_FIFO *Fifo\r
+  IN SERIAL_DEV_FIFO  *Fifo\r
   )\r
 {\r
-  return (BOOLEAN) (((Fifo->Tail + 1) % SERIAL_MAX_FIFO_SIZE) == Fifo->Head);\r
+  return (BOOLEAN)(((Fifo->Tail + 1) % SERIAL_MAX_FIFO_SIZE) == Fifo->Head);\r
 }\r
 \r
 /**\r
@@ -213,11 +227,11 @@ SerialFifoFull (
 **/\r
 BOOLEAN\r
 SerialFifoEmpty (\r
-  IN SERIAL_DEV_FIFO *Fifo\r
+  IN SERIAL_DEV_FIFO  *Fifo\r
   )\r
 \r
 {\r
-  return (BOOLEAN) (Fifo->Head == Fifo->Tail);\r
+  return (BOOLEAN)(Fifo->Head == Fifo->Tail);\r
 }\r
 \r
 /**\r
@@ -231,8 +245,8 @@ SerialFifoEmpty (
 **/\r
 EFI_STATUS\r
 SerialFifoAdd (\r
-  IN OUT SERIAL_DEV_FIFO *Fifo,\r
-  IN     UINT8           Data\r
+  IN OUT SERIAL_DEV_FIFO  *Fifo,\r
+  IN     UINT8            Data\r
   )\r
 {\r
   //\r
@@ -241,11 +255,12 @@ SerialFifoAdd (
   if (SerialFifoFull (Fifo)) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   //\r
   // FIFO is not full can add data\r
   //\r
   Fifo->Data[Fifo->Tail] = Data;\r
-  Fifo->Tail = (Fifo->Tail + 1) % SERIAL_MAX_FIFO_SIZE;\r
+  Fifo->Tail             = (Fifo->Tail + 1) % SERIAL_MAX_FIFO_SIZE;\r
   return EFI_SUCCESS;\r
 }\r
 \r
@@ -261,8 +276,8 @@ SerialFifoAdd (
 **/\r
 EFI_STATUS\r
 SerialFifoRemove (\r
-  IN OUT SERIAL_DEV_FIFO *Fifo,\r
-  OUT    UINT8           *Data\r
+  IN OUT SERIAL_DEV_FIFO  *Fifo,\r
+  OUT    UINT8            *Data\r
   )\r
 {\r
   //\r
@@ -271,10 +286,11 @@ SerialFifoRemove (
   if (SerialFifoEmpty (Fifo)) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   //\r
   // FIFO is not empty, can remove data\r
   //\r
-  *Data = Fifo->Data[Fifo->Head];\r
+  *Data      = Fifo->Data[Fifo->Head];\r
   Fifo->Head = (Fifo->Head + 1) % SERIAL_MAX_FIFO_SIZE;\r
   return EFI_SUCCESS;\r
 }\r
@@ -291,16 +307,16 @@ SerialFifoRemove (
 **/\r
 EFI_STATUS\r
 SerialReceiveTransmit (\r
-  IN SERIAL_DEV *SerialDevice\r
+  IN SERIAL_DEV  *SerialDevice\r
   )\r
 \r
 {\r
-  SERIAL_PORT_LSR Lsr;\r
-  UINT8           Data;\r
-  BOOLEAN         ReceiveFifoFull;\r
-  SERIAL_PORT_MSR Msr;\r
-  SERIAL_PORT_MCR Mcr;\r
-  UINTN           TimeOut;\r
+  SERIAL_PORT_LSR  Lsr;\r
+  UINT8            Data;\r
+  BOOLEAN          ReceiveFifoFull;\r
+  SERIAL_PORT_MSR  Msr;\r
+  SERIAL_PORT_MCR  Mcr;\r
+  UINTN            TimeOut;\r
 \r
   Data = 0;\r
 \r
@@ -326,13 +342,15 @@ SerialReceiveTransmit (
     // if receive buffer is available.\r
     //\r
     if (SerialDevice->HardwareFlowControl &&\r
-        !FeaturePcdGet(PcdSerialUseHalfHandshake)&&\r
+        !FeaturePcdGet (PcdSerialUseHalfHandshake) &&\r
         !ReceiveFifoFull\r
-        ) {\r
+        )\r
+    {\r
       Mcr.Data     = READ_MCR (SerialDevice);\r
       Mcr.Bits.Rts = 1;\r
       WRITE_MCR (SerialDevice, Mcr.Data);\r
     }\r
+\r
     do {\r
       Lsr.Data = READ_LSR (SerialDevice);\r
 \r
@@ -342,13 +360,13 @@ SerialReceiveTransmit (
       if ((Lsr.Bits.Dr == 1) && !ReceiveFifoFull) {\r
         ReceiveFifoFull = SerialFifoFull (&SerialDevice->Receive);\r
         if (!ReceiveFifoFull) {\r
-          if (Lsr.Bits.FIFOe == 1 || Lsr.Bits.Oe == 1 || Lsr.Bits.Pe == 1 || Lsr.Bits.Fe == 1 || Lsr.Bits.Bi == 1) {\r
+          if ((Lsr.Bits.FIFOe == 1) || (Lsr.Bits.Oe == 1) || (Lsr.Bits.Pe == 1) || (Lsr.Bits.Fe == 1) || (Lsr.Bits.Bi == 1)) {\r
             REPORT_STATUS_CODE_WITH_DEVICE_PATH (\r
               EFI_ERROR_CODE,\r
               EFI_P_EC_INPUT_ERROR | EFI_PERIPHERAL_SERIAL_PORT,\r
               SerialDevice->DevicePath\r
               );\r
-            if (Lsr.Bits.FIFOe == 1 || Lsr.Bits.Pe == 1|| Lsr.Bits.Fe == 1 || Lsr.Bits.Bi == 1) {\r
+            if ((Lsr.Bits.FIFOe == 1) || (Lsr.Bits.Pe == 1) || (Lsr.Bits.Fe == 1) || (Lsr.Bits.Bi == 1)) {\r
               Data = READ_RBR (SerialDevice);\r
               continue;\r
             }\r
@@ -363,15 +381,15 @@ SerialReceiveTransmit (
           // tell the peer to stop sending data.\r
           //\r
           if (SerialDevice->HardwareFlowControl &&\r
-              !FeaturePcdGet(PcdSerialUseHalfHandshake)   &&\r
+              !FeaturePcdGet (PcdSerialUseHalfHandshake)   &&\r
               SerialFifoFull (&SerialDevice->Receive)\r
-              ) {\r
+              )\r
+          {\r
             Mcr.Data     = READ_MCR (SerialDevice);\r
             Mcr.Bits.Rts = 0;\r
             WRITE_MCR (SerialDevice, Mcr.Data);\r
           }\r
 \r
-\r
           continue;\r
         } else {\r
           REPORT_STATUS_CODE_WITH_DEVICE_PATH (\r
@@ -381,10 +399,11 @@ SerialReceiveTransmit (
             );\r
         }\r
       }\r
+\r
       //\r
       // Do the write\r
       //\r
-      if (Lsr.Bits.Thre == 1 && !SerialFifoEmpty (&SerialDevice->Transmit)) {\r
+      if ((Lsr.Bits.Thre == 1) && !SerialFifoEmpty (&SerialDevice->Transmit)) {\r
         //\r
         // Make sure the transmit data will not be missed\r
         //\r
@@ -392,17 +411,18 @@ SerialReceiveTransmit (
           //\r
           // For half handshake flow control assert RTS before sending.\r
           //\r
-          if (FeaturePcdGet(PcdSerialUseHalfHandshake)) {\r
+          if (FeaturePcdGet (PcdSerialUseHalfHandshake)) {\r
             Mcr.Data     = READ_MCR (SerialDevice);\r
-            Mcr.Bits.Rts= 0;\r
+            Mcr.Bits.Rts = 0;\r
             WRITE_MCR (SerialDevice, Mcr.Data);\r
           }\r
+\r
           //\r
           // Wait for CTS\r
           //\r
-          TimeOut   = 0;\r
-          Msr.Data  = READ_MSR (SerialDevice);\r
-          while ((Msr.Bits.Dcd == 1) && ((Msr.Bits.Cts == 0) ^ FeaturePcdGet(PcdSerialUseHalfHandshake))) {\r
+          TimeOut  = 0;\r
+          Msr.Data = READ_MSR (SerialDevice);\r
+          while ((Msr.Bits.Dcd == 1) && ((Msr.Bits.Cts == 0) ^ FeaturePcdGet (PcdSerialUseHalfHandshake))) {\r
             gBS->Stall (TIMEOUT_STALL_INTERVAL);\r
             TimeOut++;\r
             if (TimeOut > 5) {\r
@@ -412,7 +432,7 @@ SerialReceiveTransmit (
             Msr.Data = READ_MSR (SerialDevice);\r
           }\r
 \r
-          if ((Msr.Bits.Dcd == 0) || ((Msr.Bits.Cts == 1) ^ FeaturePcdGet(PcdSerialUseHalfHandshake))) {\r
+          if ((Msr.Bits.Dcd == 0) || ((Msr.Bits.Cts == 1) ^ FeaturePcdGet (PcdSerialUseHalfHandshake))) {\r
             SerialFifoRemove (&SerialDevice->Transmit, &Data);\r
             WRITE_THR (SerialDevice, Data);\r
           }\r
@@ -420,8 +440,8 @@ SerialReceiveTransmit (
           //\r
           // For half handshake flow control, tell DCE we are done.\r
           //\r
-          if (FeaturePcdGet(PcdSerialUseHalfHandshake)) {\r
-            Mcr.Data = READ_MCR (SerialDevice);\r
+          if (FeaturePcdGet (PcdSerialUseHalfHandshake)) {\r
+            Mcr.Data     = READ_MCR (SerialDevice);\r
             Mcr.Bits.Rts = 1;\r
             WRITE_MCR (SerialDevice, Mcr.Data);\r
           }\r
@@ -484,12 +504,13 @@ SerialFlushTransmitFifo (
   // in the rest of this function that may send additional characters to this\r
   // UART device invalidating the flush operation.\r
   //\r
-  Elapsed = 0;\r
+  Elapsed  = 0;\r
   Lsr.Data = READ_LSR (SerialDevice);\r
   while (Lsr.Bits.Temt == 0 || Lsr.Bits.Thre == 0) {\r
     if (Elapsed >= Timeout) {\r
       return EFI_TIMEOUT;\r
     }\r
+\r
     gBS->Stall (TIMEOUT_STALL_INTERVAL);\r
     Elapsed += TIMEOUT_STALL_INTERVAL;\r
     Lsr.Data = READ_LSR (SerialDevice);\r
@@ -501,6 +522,7 @@ SerialFlushTransmitFifo (
 //\r
 // Interface Functions\r
 //\r
+\r
 /**\r
   Reset serial device.\r
 \r
@@ -516,14 +538,14 @@ SerialReset (
   IN EFI_SERIAL_IO_PROTOCOL  *This\r
   )\r
 {\r
-  EFI_STATUS      Status;\r
-  SERIAL_DEV      *SerialDevice;\r
-  SERIAL_PORT_LCR Lcr;\r
-  SERIAL_PORT_IER Ier;\r
-  SERIAL_PORT_MCR Mcr;\r
-  SERIAL_PORT_FCR Fcr;\r
-  EFI_TPL         Tpl;\r
-  UINT32          Control;\r
+  EFI_STATUS       Status;\r
+  SERIAL_DEV       *SerialDevice;\r
+  SERIAL_PORT_LCR  Lcr;\r
+  SERIAL_PORT_IER  Ier;\r
+  SERIAL_PORT_MCR  Mcr;\r
+  SERIAL_PORT_FCR  Fcr;\r
+  EFI_TPL          Tpl;\r
+  UINT32           Control;\r
 \r
   SerialDevice = SERIAL_DEV_FROM_THIS (This);\r
 \r
@@ -557,17 +579,17 @@ SerialReset (
   //\r
   // Turn off all interrupts\r
   //\r
-  Ier.Data        = READ_IER (SerialDevice);\r
-  Ier.Bits.Ravie  = 0;\r
-  Ier.Bits.Theie  = 0;\r
-  Ier.Bits.Rie    = 0;\r
-  Ier.Bits.Mie    = 0;\r
+  Ier.Data       = READ_IER (SerialDevice);\r
+  Ier.Bits.Ravie = 0;\r
+  Ier.Bits.Theie = 0;\r
+  Ier.Bits.Rie   = 0;\r
+  Ier.Bits.Mie   = 0;\r
   WRITE_IER (SerialDevice, Ier.Data);\r
 \r
   //\r
   // Reset the FIFO\r
   //\r
-  Fcr.Data = 0;\r
+  Fcr.Data         = 0;\r
   Fcr.Bits.TrFIFOE = 0;\r
   WRITE_FCR (SerialDevice, Fcr.Data);\r
 \r
@@ -588,12 +610,13 @@ SerialReset (
   //\r
   // Enable FIFO\r
   //\r
-  Fcr.Bits.TrFIFOE  = 1;\r
+  Fcr.Bits.TrFIFOE = 1;\r
   if (SerialDevice->ReceiveFifoDepth > 16) {\r
     Fcr.Bits.TrFIFO64 = 1;\r
   }\r
-  Fcr.Bits.ResetRF  = 1;\r
-  Fcr.Bits.ResetTF  = 1;\r
+\r
+  Fcr.Bits.ResetRF = 1;\r
+  Fcr.Bits.ResetTF = 1;\r
   WRITE_FCR (SerialDevice, Fcr.Data);\r
 \r
   //\r
@@ -604,15 +627,16 @@ SerialReset (
                    This->Mode->BaudRate,\r
                    This->Mode->ReceiveFifoDepth,\r
                    This->Mode->Timeout,\r
-                   (EFI_PARITY_TYPE) This->Mode->Parity,\r
-                   (UINT8) This->Mode->DataBits,\r
-                   (EFI_STOP_BITS_TYPE) This->Mode->StopBits\r
+                   (EFI_PARITY_TYPE)This->Mode->Parity,\r
+                   (UINT8)This->Mode->DataBits,\r
+                   (EFI_STOP_BITS_TYPE)This->Mode->StopBits\r
                    );\r
 \r
   if (EFI_ERROR (Status)) {\r
     gBS->RestoreTPL (Tpl);\r
     return EFI_DEVICE_ERROR;\r
   }\r
+\r
   //\r
   // Go set the current control bits\r
   //\r
@@ -620,9 +644,11 @@ SerialReset (
   if (SerialDevice->HardwareFlowControl) {\r
     Control |= EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE;\r
   }\r
+\r
   if (SerialDevice->SoftwareLoopbackEnable) {\r
     Control |= EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE;\r
   }\r
+\r
   Status = This->SetControl (\r
                    This,\r
                    Control\r
@@ -636,7 +662,7 @@ SerialReset (
   //\r
   // Reset the software FIFO\r
   //\r
-  SerialDevice->Receive.Head = SerialDevice->Receive.Tail = 0;\r
+  SerialDevice->Receive.Head  = SerialDevice->Receive.Tail = 0;\r
   SerialDevice->Transmit.Head = SerialDevice->Transmit.Tail = 0;\r
   gBS->RestoreTPL (Tpl);\r
 \r
@@ -675,12 +701,12 @@ SerialSetAttributes (
   IN EFI_STOP_BITS_TYPE      StopBits\r
   )\r
 {\r
-  EFI_STATUS                Status;\r
-  SERIAL_DEV                *SerialDevice;\r
-  UINT64                    Divisor;\r
-  SERIAL_PORT_LCR           Lcr;\r
-  UART_DEVICE_PATH          *Uart;\r
-  EFI_TPL                   Tpl;\r
+  EFI_STATUS        Status;\r
+  SERIAL_DEV        *SerialDevice;\r
+  UINT64            Divisor;\r
+  SERIAL_PORT_LCR   Lcr;\r
+  UART_DEVICE_PATH  *Uart;\r
+  EFI_TPL           Tpl;\r
 \r
   SerialDevice = SERIAL_DEV_FROM_THIS (This);\r
 \r
@@ -700,7 +726,7 @@ SerialSetAttributes (
   }\r
 \r
   if (Parity == DefaultParity) {\r
-    Parity = (EFI_PARITY_TYPE) PcdGet8 (PcdUartDefaultParity);\r
+    Parity = (EFI_PARITY_TYPE)PcdGet8 (PcdUartDefaultParity);\r
   }\r
 \r
   if (DataBits == 0) {\r
@@ -708,7 +734,7 @@ SerialSetAttributes (
   }\r
 \r
   if (StopBits == DefaultStopBits) {\r
-    StopBits = (EFI_STOP_BITS_TYPE) PcdGet8 (PcdUartDefaultStopBits);\r
+    StopBits = (EFI_STOP_BITS_TYPE)PcdGet8 (PcdUartDefaultStopBits);\r
   }\r
 \r
   if (!VerifyUartParameters (SerialDevice->ClockRate, BaudRate, DataBits, Parity, StopBits, &Divisor, &BaudRate)) {\r
@@ -744,8 +770,8 @@ SerialSetAttributes (
   //\r
   // Write the divisor to the serial port\r
   //\r
-  WRITE_DLL (SerialDevice, (UINT8) Divisor);\r
-  WRITE_DLM (SerialDevice, (UINT8) ((UINT16) Divisor >> 8));\r
+  WRITE_DLL (SerialDevice, (UINT8)Divisor);\r
+  WRITE_DLM (SerialDevice, (UINT8)((UINT16)Divisor >> 8));\r
 \r
   //\r
   // Put serial port back in normal mode and set remaining attributes.\r
@@ -753,98 +779,100 @@ SerialSetAttributes (
   Lcr.Bits.DLab = 0;\r
 \r
   switch (Parity) {\r
-  case NoParity:\r
-    Lcr.Bits.ParEn    = 0;\r
-    Lcr.Bits.EvenPar  = 0;\r
-    Lcr.Bits.SticPar  = 0;\r
-    break;\r
-\r
-  case EvenParity:\r
-    Lcr.Bits.ParEn    = 1;\r
-    Lcr.Bits.EvenPar  = 1;\r
-    Lcr.Bits.SticPar  = 0;\r
-    break;\r
-\r
-  case OddParity:\r
-    Lcr.Bits.ParEn    = 1;\r
-    Lcr.Bits.EvenPar  = 0;\r
-    Lcr.Bits.SticPar  = 0;\r
-    break;\r
-\r
-  case SpaceParity:\r
-    Lcr.Bits.ParEn    = 1;\r
-    Lcr.Bits.EvenPar  = 1;\r
-    Lcr.Bits.SticPar  = 1;\r
-    break;\r
-\r
-  case MarkParity:\r
-    Lcr.Bits.ParEn    = 1;\r
-    Lcr.Bits.EvenPar  = 0;\r
-    Lcr.Bits.SticPar  = 1;\r
-    break;\r
-\r
-  default:\r
-    break;\r
+    case NoParity:\r
+      Lcr.Bits.ParEn   = 0;\r
+      Lcr.Bits.EvenPar = 0;\r
+      Lcr.Bits.SticPar = 0;\r
+      break;\r
+\r
+    case EvenParity:\r
+      Lcr.Bits.ParEn   = 1;\r
+      Lcr.Bits.EvenPar = 1;\r
+      Lcr.Bits.SticPar = 0;\r
+      break;\r
+\r
+    case OddParity:\r
+      Lcr.Bits.ParEn   = 1;\r
+      Lcr.Bits.EvenPar = 0;\r
+      Lcr.Bits.SticPar = 0;\r
+      break;\r
+\r
+    case SpaceParity:\r
+      Lcr.Bits.ParEn   = 1;\r
+      Lcr.Bits.EvenPar = 1;\r
+      Lcr.Bits.SticPar = 1;\r
+      break;\r
+\r
+    case MarkParity:\r
+      Lcr.Bits.ParEn   = 1;\r
+      Lcr.Bits.EvenPar = 0;\r
+      Lcr.Bits.SticPar = 1;\r
+      break;\r
+\r
+    default:\r
+      break;\r
   }\r
 \r
   switch (StopBits) {\r
-  case OneStopBit:\r
-    Lcr.Bits.StopB = 0;\r
-    break;\r
+    case OneStopBit:\r
+      Lcr.Bits.StopB = 0;\r
+      break;\r
 \r
-  case OneFiveStopBits:\r
-  case TwoStopBits:\r
-    Lcr.Bits.StopB = 1;\r
-    break;\r
+    case OneFiveStopBits:\r
+    case TwoStopBits:\r
+      Lcr.Bits.StopB = 1;\r
+      break;\r
 \r
-  default:\r
-    break;\r
+    default:\r
+      break;\r
   }\r
+\r
   //\r
   // DataBits\r
   //\r
-  Lcr.Bits.SerialDB = (UINT8) ((DataBits - 5) & 0x03);\r
+  Lcr.Bits.SerialDB = (UINT8)((DataBits - 5) & 0x03);\r
   WRITE_LCR (SerialDevice, Lcr.Data);\r
 \r
   //\r
   // Set the Serial I/O mode\r
   //\r
-  This->Mode->BaudRate          = BaudRate;\r
-  This->Mode->ReceiveFifoDepth  = ReceiveFifoDepth;\r
-  This->Mode->Timeout           = Timeout;\r
-  This->Mode->Parity            = Parity;\r
-  This->Mode->DataBits          = DataBits;\r
-  This->Mode->StopBits          = StopBits;\r
+  This->Mode->BaudRate         = BaudRate;\r
+  This->Mode->ReceiveFifoDepth = ReceiveFifoDepth;\r
+  This->Mode->Timeout          = Timeout;\r
+  This->Mode->Parity           = Parity;\r
+  This->Mode->DataBits         = DataBits;\r
+  This->Mode->StopBits         = StopBits;\r
 \r
   //\r
   // See if Device Path Node has actually changed\r
   //\r
-  if (SerialDevice->UartDevicePath.BaudRate == BaudRate &&\r
-      SerialDevice->UartDevicePath.DataBits == DataBits &&\r
-      SerialDevice->UartDevicePath.Parity == Parity &&\r
-      SerialDevice->UartDevicePath.StopBits == StopBits\r
-      ) {\r
+  if ((SerialDevice->UartDevicePath.BaudRate == BaudRate) &&\r
+      (SerialDevice->UartDevicePath.DataBits == DataBits) &&\r
+      (SerialDevice->UartDevicePath.Parity == Parity) &&\r
+      (SerialDevice->UartDevicePath.StopBits == StopBits)\r
+      )\r
+  {\r
     gBS->RestoreTPL (Tpl);\r
     return EFI_SUCCESS;\r
   }\r
+\r
   //\r
   // Update the device path\r
   //\r
   SerialDevice->UartDevicePath.BaudRate = BaudRate;\r
   SerialDevice->UartDevicePath.DataBits = DataBits;\r
-  SerialDevice->UartDevicePath.Parity   = (UINT8) Parity;\r
-  SerialDevice->UartDevicePath.StopBits = (UINT8) StopBits;\r
+  SerialDevice->UartDevicePath.Parity   = (UINT8)Parity;\r
+  SerialDevice->UartDevicePath.StopBits = (UINT8)StopBits;\r
 \r
   Status = EFI_SUCCESS;\r
   if (SerialDevice->Handle != NULL) {\r
-\r
     //\r
     // Skip the optional Controller device path node\r
     //\r
     Uart = SkipControllerDevicePathNode (\r
-             (EFI_DEVICE_PATH_PROTOCOL *) (\r
-               (UINT8 *) SerialDevice->DevicePath + GetDevicePathSize (SerialDevice->ParentDevicePath) - END_DEVICE_PATH_LENGTH\r
-               ),\r
+             (EFI_DEVICE_PATH_PROTOCOL *)(\r
+                                          (UINT8 *)SerialDevice->DevicePath + GetDevicePathSize (SerialDevice->ParentDevicePath) - END_DEVICE_PATH_LENGTH\r
+                                          ),\r
              NULL,\r
              NULL\r
              );\r
@@ -879,11 +907,11 @@ SerialSetControl (
   IN UINT32                  Control\r
   )\r
 {\r
-  SERIAL_DEV                    *SerialDevice;\r
-  SERIAL_PORT_MCR               Mcr;\r
-  EFI_TPL                       Tpl;\r
-  UART_FLOW_CONTROL_DEVICE_PATH *FlowControl;\r
-  EFI_STATUS                    Status;\r
+  SERIAL_DEV                     *SerialDevice;\r
+  SERIAL_PORT_MCR                Mcr;\r
+  EFI_TPL                        Tpl;\r
+  UART_FLOW_CONTROL_DEVICE_PATH  *FlowControl;\r
+  EFI_STATUS                     Status;\r
 \r
   //\r
   // The control bits that can be set are :\r
@@ -900,7 +928,8 @@ SerialSetControl (
   //\r
   if ((Control & (~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY |\r
                     EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE |\r
-                    EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) != 0) {\r
+                    EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) != 0)\r
+  {\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
@@ -915,12 +944,12 @@ SerialSetControl (
   //\r
   SerialFlushTransmitFifo (SerialDevice);\r
 \r
-  Mcr.Data = READ_MCR (SerialDevice);\r
-  Mcr.Bits.DtrC = 0;\r
-  Mcr.Bits.Rts = 0;\r
-  Mcr.Bits.Lme = 0;\r
+  Mcr.Data                             = READ_MCR (SerialDevice);\r
+  Mcr.Bits.DtrC                        = 0;\r
+  Mcr.Bits.Rts                         = 0;\r
+  Mcr.Bits.Lme                         = 0;\r
   SerialDevice->SoftwareLoopbackEnable = FALSE;\r
-  SerialDevice->HardwareFlowControl = FALSE;\r
+  SerialDevice->HardwareFlowControl    = FALSE;\r
 \r
   if ((Control & EFI_SERIAL_DATA_TERMINAL_READY) == EFI_SERIAL_DATA_TERMINAL_READY) {\r
     Mcr.Bits.DtrC = 1;\r
@@ -946,14 +975,15 @@ SerialSetControl (
 \r
   Status = EFI_SUCCESS;\r
   if (SerialDevice->Handle != NULL) {\r
-    FlowControl = (UART_FLOW_CONTROL_DEVICE_PATH *) (\r
-                    (UINTN) SerialDevice->DevicePath\r
-                    + GetDevicePathSize (SerialDevice->ParentDevicePath)\r
-                    - END_DEVICE_PATH_LENGTH\r
-                    + sizeof (UART_DEVICE_PATH)\r
-                    );\r
+    FlowControl = (UART_FLOW_CONTROL_DEVICE_PATH *)(\r
+                                                    (UINTN)SerialDevice->DevicePath\r
+                                                    + GetDevicePathSize (SerialDevice->ParentDevicePath)\r
+                                                    - END_DEVICE_PATH_LENGTH\r
+                                                    + sizeof (UART_DEVICE_PATH)\r
+                                                    );\r
     if (IsUartFlowControlDevicePathNode (FlowControl) &&\r
-        ((BOOLEAN) (ReadUnaligned32 (&FlowControl->FlowControlMap) == UART_FLOW_CONTROL_HARDWARE) != SerialDevice->HardwareFlowControl)) {\r
+        ((BOOLEAN)(ReadUnaligned32 (&FlowControl->FlowControlMap) == UART_FLOW_CONTROL_HARDWARE) != SerialDevice->HardwareFlowControl))\r
+    {\r
       //\r
       // Flow Control setting is changed, need to reinstall device path protocol\r
       //\r
@@ -988,16 +1018,16 @@ SerialGetControl (
   OUT UINT32                 *Control\r
   )\r
 {\r
-  SERIAL_DEV      *SerialDevice;\r
-  SERIAL_PORT_MSR Msr;\r
-  SERIAL_PORT_MCR Mcr;\r
-  EFI_TPL         Tpl;\r
+  SERIAL_DEV       *SerialDevice;\r
+  SERIAL_PORT_MSR  Msr;\r
+  SERIAL_PORT_MCR  Mcr;\r
+  EFI_TPL          Tpl;\r
 \r
-  Tpl           = gBS->RaiseTPL (TPL_NOTIFY);\r
+  Tpl = gBS->RaiseTPL (TPL_NOTIFY);\r
 \r
-  SerialDevice  = SERIAL_DEV_FROM_THIS (This);\r
+  SerialDevice = SERIAL_DEV_FROM_THIS (This);\r
 \r
-  *Control      = 0;\r
+  *Control = 0;\r
 \r
   //\r
   // Read the Modem Status Register\r
@@ -1019,6 +1049,7 @@ SerialGetControl (
   if (Msr.Bits.Dcd == 1) {\r
     *Control |= EFI_SERIAL_CARRIER_DETECT;\r
   }\r
+\r
   //\r
   // Read the Modem Control Register\r
   //\r
@@ -1039,6 +1070,7 @@ SerialGetControl (
   if (SerialDevice->HardwareFlowControl) {\r
     *Control |= EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE;\r
   }\r
+\r
   //\r
   // Update FIFO status\r
   //\r
@@ -1097,9 +1129,9 @@ SerialWrite (
   UINTN       Timeout;\r
   UINTN       BitsPerCharacter;\r
 \r
-  SerialDevice  = SERIAL_DEV_FROM_THIS (This);\r
-  Elapsed       = 0;\r
-  ActualWrite   = 0;\r
+  SerialDevice = SERIAL_DEV_FROM_THIS (This);\r
+  Elapsed      = 0;\r
+  ActualWrite  = 0;\r
 \r
   if (*BufferSize == 0) {\r
     return EFI_SUCCESS;\r
@@ -1115,9 +1147,9 @@ SerialWrite (
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  Tpl         = gBS->RaiseTPL (TPL_NOTIFY);\r
+  Tpl = gBS->RaiseTPL (TPL_NOTIFY);\r
 \r
-  CharBuffer  = (UINT8 *) Buffer;\r
+  CharBuffer = (UINT8 *)Buffer;\r
 \r
   //\r
   // Compute the number of bits in a single character.  This is a start bit,\r
@@ -1143,10 +1175,10 @@ SerialWrite (
   Timeout = MAX (\r
               This->Mode->Timeout,\r
               (UINTN)DivU64x64Remainder (\r
-                BitsPerCharacter * (SerialDevice->TransmitFifoDepth + 1) * 1000000,\r
-                This->Mode->BaudRate,\r
-                NULL\r
-                )\r
+                       BitsPerCharacter * (SerialDevice->TransmitFifoDepth + 1) * 1000000,\r
+                       This->Mode->BaudRate,\r
+                       NULL\r
+                       )\r
               );\r
 \r
   for (Index = 0; Index < *BufferSize; Index++) {\r
@@ -1208,8 +1240,8 @@ SerialRead (
   EFI_STATUS  Status;\r
   EFI_TPL     Tpl;\r
 \r
-  SerialDevice  = SERIAL_DEV_FROM_THIS (This);\r
-  Elapsed       = 0;\r
+  SerialDevice = SERIAL_DEV_FROM_THIS (This);\r
+  Elapsed      = 0;\r
 \r
   if (*BufferSize == 0) {\r
     return EFI_SUCCESS;\r
@@ -1219,9 +1251,9 @@ SerialRead (
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  Tpl     = gBS->RaiseTPL (TPL_NOTIFY);\r
+  Tpl = gBS->RaiseTPL (TPL_NOTIFY);\r
 \r
-  Status  = SerialReceiveTransmit (SerialDevice);\r
+  Status = SerialReceiveTransmit (SerialDevice);\r
 \r
   if (EFI_ERROR (Status)) {\r
     *BufferSize = 0;\r
@@ -1237,7 +1269,7 @@ SerialRead (
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  CharBuffer = (UINT8 *) Buffer;\r
+  CharBuffer = (UINT8 *)Buffer;\r
   for (Index = 0; Index < *BufferSize; Index++) {\r
     while (SerialFifoRemove (&SerialDevice->Receive, &(CharBuffer[Index])) != EFI_SUCCESS) {\r
       //\r
@@ -1261,6 +1293,7 @@ SerialRead (
         return EFI_DEVICE_ERROR;\r
       }\r
     }\r
+\r
     //\r
     //  Successful read so reset timeout\r
     //\r
@@ -1283,12 +1316,12 @@ SerialRead (
 **/\r
 BOOLEAN\r
 SerialPresent (\r
-  IN SERIAL_DEV *SerialDevice\r
+  IN SERIAL_DEV  *SerialDevice\r
   )\r
 \r
 {\r
-  UINT8   Temp;\r
-  BOOLEAN Status;\r
+  UINT8    Temp;\r
+  BOOLEAN  Status;\r
 \r
   Status = TRUE;\r
 \r
@@ -1307,6 +1340,7 @@ SerialPresent (
   if (READ_SCR (SerialDevice) != 0x55) {\r
     Status = FALSE;\r
   }\r
+\r
   //\r
   // Restore SCR\r
   //\r
@@ -1325,23 +1359,36 @@ SerialPresent (
 **/\r
 UINT8\r
 SerialReadRegister (\r
-  IN SERIAL_DEV                            *SerialDev,\r
-  IN UINT32                                Offset\r
+  IN SERIAL_DEV  *SerialDev,\r
+  IN UINT32      Offset\r
   )\r
 {\r
-  UINT8                                    Data;\r
-  EFI_STATUS                               Status;\r
+  UINT8       Data;\r
+  EFI_STATUS  Status;\r
 \r
   if (SerialDev->PciDeviceInfo == NULL) {\r
-    return IoRead8 ((UINTN) SerialDev->BaseAddress + Offset * SerialDev->RegisterStride);\r
+    return IoRead8 ((UINTN)SerialDev->BaseAddress + Offset * SerialDev->RegisterStride);\r
   } else {\r
     if (SerialDev->MmioAccess) {\r
-      Status = SerialDev->PciDeviceInfo->PciIo->Mem.Read (SerialDev->PciDeviceInfo->PciIo, EfiPciIoWidthUint8, EFI_PCI_IO_PASS_THROUGH_BAR,\r
-                                                          SerialDev->BaseAddress + Offset * SerialDev->RegisterStride, 1, &Data);\r
+      Status = SerialDev->PciDeviceInfo->PciIo->Mem.Read (\r
+                                                      SerialDev->PciDeviceInfo->PciIo,\r
+                                                      EfiPciIoWidthUint8,\r
+                                                      EFI_PCI_IO_PASS_THROUGH_BAR,\r
+                                                      SerialDev->BaseAddress + Offset * SerialDev->RegisterStride,\r
+                                                      1,\r
+                                                      &Data\r
+                                                      );\r
     } else {\r
-      Status = SerialDev->PciDeviceInfo->PciIo->Io.Read (SerialDev->PciDeviceInfo->PciIo, EfiPciIoWidthUint8, EFI_PCI_IO_PASS_THROUGH_BAR,\r
-                                                         SerialDev->BaseAddress + Offset * SerialDev->RegisterStride, 1, &Data);\r
+      Status = SerialDev->PciDeviceInfo->PciIo->Io.Read (\r
+                                                     SerialDev->PciDeviceInfo->PciIo,\r
+                                                     EfiPciIoWidthUint8,\r
+                                                     EFI_PCI_IO_PASS_THROUGH_BAR,\r
+                                                     SerialDev->BaseAddress + Offset * SerialDev->RegisterStride,\r
+                                                     1,\r
+                                                     &Data\r
+                                                     );\r
     }\r
+\r
     ASSERT_EFI_ERROR (Status);\r
     return Data;\r
   }\r
@@ -1356,23 +1403,36 @@ SerialReadRegister (
 **/\r
 VOID\r
 SerialWriteRegister (\r
-  IN SERIAL_DEV                            *SerialDev,\r
-  IN UINT32                                Offset,\r
-  IN UINT8                                 Data\r
+  IN SERIAL_DEV  *SerialDev,\r
+  IN UINT32      Offset,\r
+  IN UINT8       Data\r
   )\r
 {\r
-  EFI_STATUS                               Status;\r
+  EFI_STATUS  Status;\r
 \r
   if (SerialDev->PciDeviceInfo == NULL) {\r
-    IoWrite8 ((UINTN) SerialDev->BaseAddress + Offset * SerialDev->RegisterStride, Data);\r
+    IoWrite8 ((UINTN)SerialDev->BaseAddress + Offset * SerialDev->RegisterStride, Data);\r
   } else {\r
     if (SerialDev->MmioAccess) {\r
-      Status = SerialDev->PciDeviceInfo->PciIo->Mem.Write (SerialDev->PciDeviceInfo->PciIo, EfiPciIoWidthUint8, EFI_PCI_IO_PASS_THROUGH_BAR,\r
-                                                           SerialDev->BaseAddress + Offset * SerialDev->RegisterStride, 1, &Data);\r
+      Status = SerialDev->PciDeviceInfo->PciIo->Mem.Write (\r
+                                                      SerialDev->PciDeviceInfo->PciIo,\r
+                                                      EfiPciIoWidthUint8,\r
+                                                      EFI_PCI_IO_PASS_THROUGH_BAR,\r
+                                                      SerialDev->BaseAddress + Offset * SerialDev->RegisterStride,\r
+                                                      1,\r
+                                                      &Data\r
+                                                      );\r
     } else {\r
-      Status = SerialDev->PciDeviceInfo->PciIo->Io.Write (SerialDev->PciDeviceInfo->PciIo, EfiPciIoWidthUint8, EFI_PCI_IO_PASS_THROUGH_BAR,\r
-                                                          SerialDev->BaseAddress + Offset * SerialDev->RegisterStride, 1, &Data);\r
+      Status = SerialDev->PciDeviceInfo->PciIo->Io.Write (\r
+                                                     SerialDev->PciDeviceInfo->PciIo,\r
+                                                     EfiPciIoWidthUint8,\r
+                                                     EFI_PCI_IO_PASS_THROUGH_BAR,\r
+                                                     SerialDev->BaseAddress + Offset * SerialDev->RegisterStride,\r
+                                                     1,\r
+                                                     &Data\r
+                                                     );\r
     }\r
+\r
     ASSERT_EFI_ERROR (Status);\r
   }\r
 }\r