]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClass.c
Add some function/header comments.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / Console / VgaClassDxe / VgaClass.c
index e513b00f7c79e43e7b2a0d9fb3555ebe72383ee3..71e0360da8561b7a15f2969f37ef3ac3f57c5093 100644 (file)
@@ -384,6 +384,20 @@ IsValidEfiCntlChar (
   IN  CHAR16  c\r
   );\r
 \r
+/**\r
+  Test to see if this driver supports ControllerHandle. Any ControllerHandle\r
+  than contains a VgaMiniPort and PciIo protocol can be supported.\r
+\r
+  @param  This                Protocol instance pointer.\r
+  @param  ControllerHandle    Handle of device to test\r
+  @param  RemainingDevicePath Optional parameter use to pick a specific child\r
+                              device to start.\r
+\r
+  @retval EFI_SUCCESS         This driver supports this device\r
+  @retval EFI_ALREADY_STARTED This driver is already running on this device\r
+  @retval other               This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassDriverBindingSupported (\r
@@ -391,24 +405,6 @@ VgaClassDriverBindingSupported (
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   )\r
-/*++\r
-  \r
-  Routine Description:\r
-  \r
-    Supported.\r
-    \r
-  Arguments:\r
-  \r
-    (Standard DriverBinding Protocol Supported() function)\r
-    \r
-  Returns:\r
-  \r
-    EFI_STATUS\r
-  \r
---*/\r
-// GC_TODO:    This - add argument and description to function comment\r
-// GC_TODO:    Controller - add argument and description to function comment\r
-// GC_TODO:    RemainingDevicePath - add argument and description to function comment\r
 {\r
   EFI_STATUS                  Status;\r
   EFI_VGA_MINI_PORT_PROTOCOL  *VgaMiniPort;\r
@@ -445,6 +441,21 @@ VgaClassDriverBindingSupported (
   return Status;\r
 }\r
 \r
+/**\r
+  Start this driver on ControllerHandle by opening a PciIo and VgaMiniPort\r
+  protocol, creating VGA_CLASS_DEV device and install gEfiSimpleTextOutProtocolGuid\r
+  finnally.\r
+\r
+  @param  This                 Protocol instance pointer.\r
+  @param  ControllerHandle     Handle of device to bind driver to\r
+  @param  RemainingDevicePath  Optional parameter use to pick a specific child\r
+                               device to start.\r
+\r
+  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
+  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
+  @retval other                This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassDriverBindingStart (\r
@@ -452,26 +463,6 @@ VgaClassDriverBindingStart (
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   )\r
-/*++\r
-  \r
-  Routine Description:\r
-  \r
-    Layers the Simple Text Output Protocol on top of the \r
-    VGA Mini Port Protocol\r
-  \r
-  Arguments:\r
-  \r
-    (Standard DriverBinding Protocol Start() function)\r
-    \r
-  Returns:\r
-  \r
-    EFI_STATUS\r
-    \r
---*/\r
-// GC_TODO:    This - add argument and description to function comment\r
-// GC_TODO:    Controller - add argument and description to function comment\r
-// GC_TODO:    RemainingDevicePath - add argument and description to function comment\r
-// GC_TODO:    EFI_OUT_OF_RESOURCES - add return value to function comment\r
 {\r
   EFI_STATUS                  Status;\r
   EFI_VGA_MINI_PORT_PROTOCOL  *VgaMiniPort;\r
@@ -609,6 +600,20 @@ ErrorExit:
 \r
 }\r
 \r
+/**\r
+  Stop this driver on ControllerHandle. Support stoping any child handles\r
+  created by this driver.\r
+\r
+  @param  This              Protocol instance pointer.\r
+  @param  ControllerHandle  Handle of device to stop driver on\r
+  @param  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of\r
+                            children is zero stop the entire bus driver.\r
+  @param  ChildHandleBuffer List of Child Handles to Stop.\r
+\r
+  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
+  @retval other             This driver was not removed from this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassDriverBindingStop (\r
@@ -617,26 +622,6 @@ VgaClassDriverBindingStop (
   IN  UINTN                           NumberOfChildren,\r
   IN  EFI_HANDLE                      *ChildHandleBuffer\r
   )\r
-/*++\r
-  \r
-  Routine Description:\r
-  \r
-    Stop.\r
-  \r
-  Arguments:\r
-  \r
-    (Standard DriverBinding Protocol Stop() function)\r
-  \r
-  Returns:\r
-  \r
-    EFI_STATUS\r
-  \r
---*/\r
-// GC_TODO:    This - add argument and description to function comment\r
-// GC_TODO:    Controller - add argument and description to function comment\r
-// GC_TODO:    NumberOfChildren - add argument and description to function comment\r
-// GC_TODO:    ChildHandleBuffer - add argument and description to function comment\r
-// GC_TODO:    EFI_SUCCESS - add return value to function comment\r
 {\r
   EFI_STATUS                    Status;\r
   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL  *SimpleTextOut;\r
@@ -694,31 +679,19 @@ VgaClassDriverBindingStop (
 \r
   return EFI_SUCCESS;\r
 }\r
-//\r
-// Simple Text Output Protocol Functions\r
-//\r
+\r
+/**\r
+  Reset VgaClass device and clear output.\r
+  \r
+  @param This                 Pointer to EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.\r
+  @param ExtendedVerification Whether need additional judgement\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassReset (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL        *This,\r
   IN  BOOLEAN                             ExtendedVerification\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This                  - GC_TODO: add argument description\r
-  ExtendedVerification  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   EFI_STATUS    Status;\r
   VGA_CLASS_DEV *VgaClassPrivate;\r
@@ -741,28 +714,18 @@ Returns:
   return This->ClearScreen (This);\r
 }\r
 \r
+/**\r
+  Output a string to VgaClass device.\r
+  \r
+  @param This                 Pointer to EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.\r
+  @param WString              wide chars.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassOutputString (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  CHAR16                          *WString\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  WString - 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
   VGA_CLASS_DEV               *VgaClassDev;\r
@@ -878,29 +841,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Detects if a Unicode char is for Box Drawing text graphics.\r
+  \r
+  @param This     Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
+  @param WString  Unicode chars\r
+  \r
+  @return if a Unicode char is for Box Drawing text graphics.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassTestString (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  CHAR16                          *WString\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  WString - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   while (*WString != 0x0000) {\r
     if (!(IsValidAscii (*WString) || IsValidEfiCntlChar (*WString) || LibIsValidTextGraphics (*WString, NULL, NULL))) {\r
@@ -913,26 +867,19 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Clear Screen via VgaClass device\r
+  \r
+  @param This     Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  \r
+  @retval EFI_SUCESS Success to clear screen\r
+  @retval Others     Wrong displaying mode.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassClearScreen (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This  - 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
   VGA_CLASS_DEV *VgaClassDev;\r
@@ -968,29 +915,21 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Set displaying mode's attribute\r
+  \r
+  @param This      Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  @param Attribute Mode's attribute\r
+  \r
+  @param EFI_SUCCESS      Success to set attribute\r
+  @param EFI_UNSUPPORTED  Wrong mode's attribute wanted to be set\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassSetAttribute (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  UINTN                           Attribute\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This      - GC_TODO: add argument description\r
-  Attribute - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   if (Attribute <= EFI_MAX_ATTRIBUTE) {\r
     This->Mode->Attribute = (INT32) Attribute;\r
@@ -1000,6 +939,16 @@ Returns:
   return EFI_UNSUPPORTED;\r
 }\r
 \r
+/**\r
+  Set cursor position.\r
+  \r
+  @param This      Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  @param Column    Column of new cursor position.\r
+  @param Row       Row of new cursor position.\r
+  \r
+  @retval EFI_SUCCESS Sucess to set cursor's position.\r
+  @retval Others      Wrong current displaying mode.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassSetCursorPosition (\r
@@ -1007,24 +956,6 @@ VgaClassSetCursorPosition (
   IN  UINTN                           Column,\r
   IN  UINTN                           Row\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  Column  - GC_TODO: add argument description\r
-  Row     - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - 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
   VGA_CLASS_DEV *VgaClassDev;\r
@@ -1055,28 +986,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Enable cursor to display or not.\r
+  \r
+  @param This      Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  @param Visible   Display cursor or not.\r
+  \r
+  @retval EFI_SUCESS Success to display the cursor or not.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassEnableCursor (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  BOOLEAN                         Visible\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  Visible - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   VGA_CLASS_DEV *VgaClassDev;\r
 \r
@@ -1101,6 +1024,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Query colum and row according displaying mode number\r
+  The mode:\r
+  0: 80 * 25\r
+  1: 80 * 50\r
+  \r
+  @param This       Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
+  @param ModeNumber Mode number\r
+  @param Columns    return the columen in current mode number\r
+  @param Rows       return the row in current mode number.\r
+  \r
+  @return EFI_SUCCESS     Sucess to get columns and rows according to mode number\r
+  @return EFI_UNSUPPORTED Unsupported mode number\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassQueryMode (\r
@@ -1109,26 +1046,6 @@ VgaClassQueryMode (
   OUT UINTN                           *Columns,\r
   OUT UINTN                           *Rows\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This        - GC_TODO: add argument description\r
-  ModeNumber  - GC_TODO: add argument description\r
-  Columns     - GC_TODO: add argument description\r
-  Rows        - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   if ((INT32) ModeNumber >= This->Mode->MaxMode) {\r
     *Columns  = 0;\r
@@ -1156,28 +1073,21 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Set displaying mode number\r
+  \r
+  @param This       Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
+  @param ModeNumber mode number\r
+  \r
+  @retval EFI_UNSUPPORTED Unsupported mode number in parameter\r
+  @retval EFI_SUCCESS     Success to set the mode number.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassSetMode (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  UINTN                           ModeNumber\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This        - GC_TODO: add argument description\r
-  ModeNumber  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS    Status;\r
   VGA_CLASS_DEV *VgaClassDev;\r
@@ -1196,9 +1106,16 @@ Returns:
 \r
   return Status;\r
 }\r
-//\r
-// Private Worker Functions\r
-//\r
+\r
+/**\r
+  Set logic cursor's position to VgaClass device\r
+  \r
+  @param VgaClassDev device instance object\r
+  @param Column      cursor logic position.\r
+  @param Row         cursor logic position.\r
+  @param MaxColumn   max logic column\r
+  \r
+**/\r
 STATIC\r
 VOID\r
 SetVideoCursorPosition (\r
@@ -1207,24 +1124,6 @@ SetVideoCursorPosition (
   IN  UINTN          Row,\r
   IN  UINTN          MaxColumn\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  VgaClassDev - GC_TODO: add argument description\r
-  Column      - GC_TODO: add argument description\r
-  Row         - GC_TODO: add argument description\r
-  MaxColumn   - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   Column    = Column & 0xff;\r
   Row       = Row & 0xff;\r
@@ -1241,6 +1140,13 @@ Returns:
     );\r
 }\r
 \r
+/**\r
+  Program CRTC register via PCI IO.\r
+  \r
+  @param VgaClassDev  device instance object\r
+  @param Address      address\r
+  @param Data         data\r
+**/\r
 STATIC\r
 VOID\r
 WriteCrtc (\r
@@ -1248,23 +1154,6 @@ WriteCrtc (
   IN  UINT16         Address,\r
   IN  UINT8          Data\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  VgaClassDev - GC_TODO: add argument description\r
-  Address     - GC_TODO: add argument description\r
-  Data        - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   VgaClassDev->PciIo->Io.Write (\r
                           VgaClassDev->PciIo,\r
@@ -1285,6 +1174,16 @@ Returns:
                           );\r
 }\r
 \r
+/**\r
+  Detects if a Unicode char is for Box Drawing text graphics.\r
+\r
+  @param Grphic   Unicode char to test.\r
+  @param PcAnsi   Optional pointer to return PCANSI equivalent of Graphic.\r
+  @param Asci     Optional pointer to return Ascii equivalent of Graphic.\r
+\r
+  @return TRUE if Gpaphic is a supported Unicode Box Drawing character.\r
+\r
+**/\r
 STATIC\r
 BOOLEAN\r
 LibIsValidTextGraphics (\r
@@ -1292,26 +1191,6 @@ LibIsValidTextGraphics (
   OUT CHAR8   *PcAnsi, OPTIONAL\r
   OUT CHAR8   *Ascii OPTIONAL\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-    Detects if a Unicode char is for Box Drawing text graphics.\r
-\r
-Arguments:\r
-\r
-    Grphic  - Unicode char to test.\r
-\r
-    PcAnsi  - Optional pointer to return PCANSI equivalent of Graphic.\r
-\r
-    Asci    - Optional pointer to return Ascii equivalent of Graphic.\r
-\r
-Returns:\r
-\r
-    TRUE if Gpaphic is a supported Unicode Box Drawing character.\r
-\r
---*/\r
-// GC_TODO:    Graphic - add argument and description to function comment\r
 {\r
   UNICODE_TO_CHAR *Table;\r
 \r
@@ -1340,26 +1219,17 @@ Returns:
   return FALSE;\r
 }\r
 \r
+/**\r
+  Judge whether is an ASCII char.\r
+  \r
+  @param Ascii character\r
+  @return whether is an ASCII char.\r
+**/\r
 STATIC\r
 BOOLEAN\r
 IsValidAscii (\r
   IN  CHAR16  Ascii\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  Ascii - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   if ((Ascii >= 0x20) && (Ascii <= 0x7f)) {\r
     return TRUE;\r
@@ -1368,26 +1238,17 @@ Returns:
   return FALSE;\r
 }\r
 \r
+/**\r
+  Judge whether is diplaying control character.\r
+  \r
+  @param c character\r
+  @return whether is diplaying control character.\r
+**/\r
 STATIC\r
 BOOLEAN\r
 IsValidEfiCntlChar (\r
   IN  CHAR16  c\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  c - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   if (c == CHAR_NULL || c == CHAR_BACKSPACE || c == CHAR_LINEFEED || c == CHAR_CARRIAGE_RETURN) {\r
     return TRUE;\r
@@ -1395,3 +1256,4 @@ Returns:
 \r
   return FALSE;\r
 }\r
+\r