]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/CommPs2.c
IntelFrameworkModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / Ps2MouseDxe / CommPs2.c
index 679179ddd0d99a9137a94dc284053ea8cac77fc9..89755830e2be3d89f9dc70fd165c650bd0858ad2 100644 (file)
@@ -1,44 +1,30 @@
-/**@file\r
-  PS2 Mouse Communication Interface \r
-  \r
-Copyright (c) 2006 - 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
-\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
+/** @file\r
+  PS2 Mouse Communication Interface.\r
+\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #include "Ps2Mouse.h"\r
 #include "CommPs2.h"\r
 \r
-UINT8 SampleRateTbl[MAX_SR]   = { 0xa, 0x14, 0x28, 0x3c, 0x50, 0x64, 0xc8 };\r
+UINT8 SampleRateTbl[MaxSampleRate]   = { 0xa, 0x14, 0x28, 0x3c, 0x50, 0x64, 0xc8 };\r
+\r
+UINT8 ResolutionTbl[MaxResolution]  = { 0, 1, 2, 3 };\r
 \r
-UINT8 ResolutionTbl[MAX_CMR]  = { 0, 1, 2, 3 };\r
+/**\r
+  Issue self test command via IsaIo interface.\r
 \r
+  @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @return EFI_SUCCESS  Success to do keyboard self testing.\r
+  @return others       Fail to do keyboard self testing.\r
+**/\r
 EFI_STATUS\r
 KbcSelfTest (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_DEVICE_ERROR - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   UINT8       Data;\r
@@ -88,25 +74,17 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Issue command to enable keyboard AUX functionality.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcEnableAux (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   //\r
   // Send 8042 enable mouse command\r
@@ -114,25 +92,17 @@ Returns:
   return Out8042Command (IsaIo, ENABLE_AUX);\r
 }\r
 \r
+/**\r
+  Issue command to disable keyboard AUX functionality.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcDisableAux (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   //\r
   // Send 8042 disable mouse command\r
@@ -140,25 +110,17 @@ Returns:
   return Out8042Command (IsaIo, DISABLE_AUX);\r
 }\r
 \r
+/**\r
+  Issue command to enable keyboard.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcEnableKb (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   //\r
   // Send 8042 enable keyboard command\r
@@ -166,25 +128,17 @@ Returns:
   return Out8042Command (IsaIo, ENABLE_KB);\r
 }\r
 \r
+/**\r
+  Issue command to disable keyboard.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcDisableKb (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   //\r
   // Send 8042 disable keyboard command\r
@@ -192,27 +146,19 @@ Returns:
   return Out8042Command (IsaIo, DISABLE_KB);\r
 }\r
 \r
+/**\r
+  Issue command to check keyboard status.\r
+\r
+  @param IsaIo          Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param KeyboardEnable return whether keyboard is enable.\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 CheckKbStatus (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   OUT BOOLEAN                             *KeyboardEnable\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo           - GC_TODO: add argument description\r
-  KeyboardEnable  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   UINT8       Data;\r
@@ -241,27 +187,17 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Issue command to reset keyboard.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseReset (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_DEVICE_ERROR - GC_TODO: Add description for return value\r
-  EFI_DEVICE_ERROR - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   UINT8       Data;\r
@@ -296,27 +232,19 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Issue command to set mouse's sample rate\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param SampleRate value of sample rate\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseSetSampleRate (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN MOUSE_SR                             SampleRate\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo       - GC_TODO: add argument description\r
-  SampleRate  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
 \r
@@ -333,27 +261,19 @@ Returns:
   return Status;\r
 }\r
 \r
+/**\r
+  Issue command to set mouse's resolution.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Resolution value of resolution\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseSetResolution (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN MOUSE_RE                             Resolution\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo       - GC_TODO: add argument description\r
-  Resolution  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
 \r
@@ -370,31 +290,23 @@ Returns:
   return Status;\r
 }\r
 \r
+/**\r
+  Issue command to set mouse's scaling.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Scaling value of scaling\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseSetScaling (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN MOUSE_SF                             Scaling\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo   - GC_TODO: add argument description\r
-  Scaling - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   UINT8 Command;\r
 \r
-  Command = (UINT8) (Scaling == SF1 ? SETSF1_CMD : SETSF2_CMD);\r
+  Command = (UINT8) (Scaling == Scaling1 ? SETSF1_CMD : SETSF2_CMD);\r
 \r
   //\r
   // Send auxiliary command to set mouse scaling data\r
@@ -402,25 +314,17 @@ Returns:
   return Out8042AuxCommand (IsaIo, Command, FALSE);\r
 }\r
 \r
+/**\r
+  Issue command to enable Ps2 mouse.\r
+\r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseEnable (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   //\r
   // Send auxiliary command to enable mouse\r
@@ -428,26 +332,20 @@ Returns:
   return Out8042AuxCommand (IsaIo, ENABLE_CMD, FALSE);\r
 }\r
 \r
-EFI_STATUS\r
-PS2MouseGetPacket (\r
-  PS2_MOUSE_DEV     *MouseDev\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
+/**\r
   Get mouse packet . Only care first 3 bytes\r
 \r
-Arguments:\r
+  @param MouseDev  Pointer of PS2 Mouse Private Data Structure\r
 \r
-  MouseDev  - Pointer of PS2 Mouse Private Data Structure \r
+  @retval EFI_NOT_READY  Mouse Device not ready to input data packet, or some error happened during getting the packet\r
+  @retval EFI_SUCCESS    The data packet is gotten successfully.\r
 \r
-Returns:\r
-\r
-  EFI_NOT_READY -  Mouse Device not ready to input data packet, or some error happened during getting the packet\r
-  EFI_SUCCESS - The data packet is gotten successfully.\r
+**/\r
+EFI_STATUS\r
+PS2MouseGetPacket (\r
+  PS2_MOUSE_DEV     *MouseDev\r
+  )\r
 \r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   BOOLEAN     KeyboardEnable;\r
@@ -528,19 +426,19 @@ Returns:
       RelativeMovementX = Packet[1];\r
       RelativeMovementY = Packet[2];\r
       //\r
-      //               Bit 7   |    Bit 6   |    Bit 5   |   Bit 4    |   Bit 3  |   Bit 2    |   Bit 1   |   Bit 0 \r
-      //  Byte 0  | Y overflow | X overflow | Y sign bit | X sign bit | Always 1 | Middle Btn | Right Btn | Left Btn \r
-      //  Byte 1  |                                           8 bit X Movement \r
-      //  Byte 2  |                                           8 bit Y Movement \r
-      // \r
+      //               Bit 7   |    Bit 6   |    Bit 5   |   Bit 4    |   Bit 3  |   Bit 2    |   Bit 1   |   Bit 0\r
+      //  Byte 0  | Y overflow | X overflow | Y sign bit | X sign bit | Always 1 | Middle Btn | Right Btn | Left Btn\r
+      //  Byte 1  |                                           8 bit X Movement\r
+      //  Byte 2  |                                           8 bit Y Movement\r
+      //\r
       // X sign bit + 8 bit X Movement : 9-bit signed twos complement integer that presents the relative displacement of the device in the X direction since the last data transmission.\r
       // Y sign bit + 8 bit Y Movement : Same as X sign bit + 8 bit X Movement.\r
       //\r
       //\r
       // First, Clear X and Y high 8 bits\r
       //\r
-      RelativeMovementX = (INT16) (RelativeMovementX & 0xFF); \r
-      RelativeMovementY = (INT16) (RelativeMovementY & 0xFF); \r
+      RelativeMovementX = (INT16) (RelativeMovementX & 0xFF);\r
+      RelativeMovementY = (INT16) (RelativeMovementY & 0xFF);\r
       //\r
       // Second, if the 9-bit signed twos complement integer is negative, set the high 8 bit 0xff\r
       //\r
@@ -551,7 +449,7 @@ Returns:
         RelativeMovementY = (INT16) (RelativeMovementY | 0xFF00);\r
       }\r
 \r
-      \r
+\r
       RButton           = (UINT8) (Packet[0] & 0x2);\r
       LButton           = (UINT8) (Packet[0] & 0x1);\r
 \r
@@ -569,6 +467,16 @@ Returns:
   }\r
 }\r
 \r
+/**\r
+  Read data via IsaIo protocol with given number.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Buffer  Buffer receive data of mouse\r
+  @param BufSize The size of buffer\r
+  @param State   Check input or read data\r
+\r
+  @return status of reading mouse data.\r
+**/\r
 EFI_STATUS\r
 PS2MouseRead (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
@@ -576,24 +484,6 @@ PS2MouseRead (
   IN OUT UINTN                            *BufSize,\r
   IN  UINTN                               State\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo   - GC_TODO: add argument description\r
-  Buffer  - GC_TODO: add argument description\r
-  BufSize - GC_TODO: add argument description\r
-  State   - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   UINTN       BytesRead;\r
@@ -637,27 +527,20 @@ Returns:
 //\r
 // 8042 I/O function\r
 //\r
+/**\r
+  I/O work flow of outing 8042 command.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Command I/O command.\r
+\r
+  @retval EFI_SUCCESS Success to execute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042Command (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINT8                                Command\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo   - GC_TODO: add argument description\r
-  Command - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   UINT8       Data;\r
@@ -683,30 +566,23 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  I/O work flow of outing 8042 data.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Data value\r
+\r
+  @retval EFI_SUCCESS Success to execute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042Data (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINT8                                Data\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-  Data  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
-  UINT8       temp;\r
+  UINT8       Temp;\r
   //\r
   // Wait keyboard controller input buffer empty\r
   //\r
@@ -715,8 +591,8 @@ Returns:
     return Status;\r
   }\r
 \r
-  temp = Data;\r
-  IsaIo->Io.Write (IsaIo, EfiIsaIoWidthUint8, KBC_DATA_PORT, 1, &temp);\r
+  Temp = Data;\r
+  IsaIo->Io.Write (IsaIo, EfiIsaIoWidthUint8, KBC_DATA_PORT, 1, &Temp);\r
 \r
   Status = WaitInputEmpty (IsaIo, TIMEOUT);\r
   if (EFI_ERROR (Status)) {\r
@@ -726,47 +602,39 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  I/O work flow of in 8042 data.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Data value\r
+\r
+  @retval EFI_SUCCESS Success to execute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 In8042Data (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN OUT UINT8                            *Data\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-  Data  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_TIMEOUT - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   UINTN Delay;\r
-  UINT8 temp;\r
+  UINT8 Temp;\r
 \r
   Delay = TIMEOUT / 50;\r
 \r
   do {\r
-    IsaIo->Io.Read (IsaIo, EfiIsaIoWidthUint8, KBC_CMD_STS_PORT, 1, &temp);\r
+    IsaIo->Io.Read (IsaIo, EfiIsaIoWidthUint8, KBC_CMD_STS_PORT, 1, &Temp);\r
 \r
     //\r
     // Check keyboard controller status bit 0(output buffer status)\r
     //\r
-    if ((temp & KBC_OUTB) == KBC_OUTB) {\r
+    if ((Temp & KBC_OUTB) == KBC_OUTB) {\r
       break;\r
     }\r
 \r
     gBS->Stall (50);\r
     Delay--;\r
-  } while (Delay);\r
+  } while (Delay != 0);\r
 \r
   if (Delay == 0) {\r
     return EFI_TIMEOUT;\r
@@ -777,32 +645,22 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  I/O work flow of outing 8042 Aux command.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Command Aux I/O command\r
+  @param Resend  Whether need resend the Aux command.\r
+\r
+  @retval EFI_SUCCESS Success to execute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042AuxCommand (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINT8                                Command,\r
   IN BOOLEAN                              Resend\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo   - GC_TODO: add argument description\r
-  Command - GC_TODO: add argument description\r
-  Resend  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-  EFI_DEVICE_ERROR - GC_TODO: Add description for return value\r
-  EFI_DEVICE_ERROR - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   UINT8       Data;\r
@@ -869,27 +727,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  I/O work flow of outing 8042 Aux data.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Buffer holding return value\r
+\r
+  @retval EFI_SUCCESS Success to execute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042AuxData (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINT8                                Data\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-  Data  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
   UINT8       Temp;\r
@@ -922,27 +773,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  I/O work flow of in 8042 Aux data.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Buffer holding return value.\r
+\r
+  @retval EFI_SUCCESS Success to execute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 In8042AuxData (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN OUT UINT8                            *Data\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-  Data  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS  Status;\r
 \r
@@ -959,26 +803,19 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+\r
+/**\r
+  Check keyboard controller status, if it is output buffer full and for auxiliary device.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+\r
+  @retval EFI_SUCCESS   Keyboard controller is ready\r
+  @retval EFI_NOT_READY Keyboard controller is not ready\r
+**/\r
 EFI_STATUS\r
 CheckForInput (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_NOT_READY - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   UINT8 Data;\r
 \r
@@ -994,28 +831,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  I/O work flow to wait input buffer empty in given time.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Timeout Wating time.\r
+\r
+  @retval EFI_TIMEOUT if input is still not empty in given time.\r
+  @retval EFI_SUCCESS input is empty.\r
+**/\r
 EFI_STATUS\r
 WaitInputEmpty (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINTN                                Timeout\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo   - GC_TODO: add argument description\r
-  Timeout - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_TIMEOUT - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   UINTN Delay;\r
   UINT8 Data;\r
@@ -1034,7 +863,7 @@ Returns:
 \r
     gBS->Stall (50);\r
     Delay--;\r
-  } while (Delay);\r
+  } while (Delay != 0);\r
 \r
   if (Delay == 0) {\r
     return EFI_TIMEOUT;\r
@@ -1043,28 +872,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  I/O work flow to wait output buffer full in given time.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Timeout given time\r
+\r
+  @retval EFI_TIMEOUT  output is not full in given time\r
+  @retval EFI_SUCCESS  output is full in given time.\r
+**/\r
 EFI_STATUS\r
 WaitOutputFull (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINTN                                Timeout\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo   - GC_TODO: add argument description\r
-  Timeout - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_TIMEOUT - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   UINTN Delay;\r
   UINT8 Data;\r
@@ -1084,7 +905,7 @@ Returns:
 \r
     gBS->Stall (50);\r
     Delay--;\r
-  } while (Delay);\r
+  } while (Delay != 0);\r
 \r
   if (Delay == 0) {\r
     return EFI_TIMEOUT;\r