]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Universal / Console / ConSplitterDxe / ConSplitterGraphics.c
index 89cef729e9b455d6630e2f4c1107e1bd7a88da42..64ad567a6d7d80a66e5acc610c77b37719f3d0b2 100644 (file)
@@ -1,22 +1,15 @@
 /** @file\r
   Support for Graphics output spliter.\r
-  \r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
-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
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 \r
 **/\r
 \r
 #include "ConSplitter.h"\r
 \r
-\r
-CHAR16 mCrLfString[3] = { CHAR_CARRIAGE_RETURN, CHAR_LINEFEED, CHAR_NULL };\r
+CHAR16  mCrLfString[3] = { CHAR_CARRIAGE_RETURN, CHAR_LINEFEED, CHAR_NULL };\r
 \r
 /**\r
   Returns information for an available graphics mode that the graphics device\r
@@ -44,8 +37,11 @@ ConSplitterGraphicsOutputQueryMode (
   )\r
 {\r
   TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private;\r
+  EFI_GRAPHICS_OUTPUT_PROTOCOL    *GraphicsOutput;\r
+  EFI_STATUS                      Status;\r
+  UINTN                           Index;\r
 \r
-  if (This == NULL || Info == NULL || SizeOfInfo == NULL || ModeNumber >= This->Mode->MaxMode) {\r
+  if ((This == NULL) || (Info == NULL) || (SizeOfInfo == NULL) || (ModeNumber >= This->Mode->MaxMode)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -54,19 +50,43 @@ ConSplitterGraphicsOutputQueryMode (
   //\r
   Private = GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
 \r
-  *Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));\r
-  if (*Info == NULL) {\r
-    return EFI_OUT_OF_RESOURCES;\r
+  GraphicsOutput = NULL;\r
+\r
+  if (Private->CurrentNumberOfGraphicsOutput == 1) {\r
+    //\r
+    // Find the only one GraphicsOutput.\r
+    //\r
+    for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) {\r
+      GraphicsOutput = Private->TextOutList[Index].GraphicsOutput;\r
+      if (GraphicsOutput != NULL) {\r
+        break;\r
+      }\r
+    }\r
   }\r
 \r
-  *SizeOfInfo = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);\r
+  if (GraphicsOutput != NULL) {\r
+    //\r
+    // If only one physical GOP device exist, return its information.\r
+    //\r
+    Status = GraphicsOutput->QueryMode (GraphicsOutput, (UINT32)ModeNumber, SizeOfInfo, Info);\r
+    return Status;\r
+  } else {\r
+    //\r
+    // If 2 more phyiscal GOP device exist or GOP protocol does not exist,\r
+    // return GOP information (PixelFormat is PixelBltOnly) created in ConSplitterAddGraphicsOutputMode ().\r
+    //\r
+    *Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));\r
+    if (*Info == NULL) {\r
+      return EFI_OUT_OF_RESOURCES;\r
+    }\r
 \r
-  CopyMem (*Info, &Private->GraphicsOutputModeBuffer[ModeNumber], *SizeOfInfo);\r
+    *SizeOfInfo = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);\r
+    CopyMem (*Info, &Private->GraphicsOutputModeBuffer[ModeNumber], *SizeOfInfo);\r
+  }\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Set the video device into the specified mode and clears the visible portions of\r
   the output display to black.\r
@@ -83,51 +103,57 @@ ConSplitterGraphicsOutputQueryMode (
 EFI_STATUS\r
 EFIAPI\r
 ConSplitterGraphicsOutputSetMode (\r
-  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL This,\r
-  IN  UINT32                       ModeNumber\r
+  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL  *This,\r
+  IN  UINT32                        ModeNumber\r
   )\r
 {\r
-  EFI_STATUS                             Status;\r
-  TEXT_OUT_SPLITTER_PRIVATE_DATA         *Private;\r
-  UINTN                                  Index;\r
-  EFI_STATUS                             ReturnStatus;\r
-  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION   *Mode;\r
-  EFI_GRAPHICS_OUTPUT_PROTOCOL           *GraphicsOutput;\r
-  UINTN                                  NumberIndex;\r
-  UINTN                                  SizeOfInfo;\r
-  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION   *Info;\r
-  EFI_UGA_DRAW_PROTOCOL                  *UgaDraw;\r
+  EFI_STATUS                            Status;\r
+  TEXT_OUT_SPLITTER_PRIVATE_DATA        *Private;\r
+  UINTN                                 Index;\r
+  EFI_STATUS                            ReturnStatus;\r
+  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  *Mode;\r
+  EFI_GRAPHICS_OUTPUT_PROTOCOL          *GraphicsOutput;\r
+  EFI_GRAPHICS_OUTPUT_PROTOCOL          *PhysicalGraphicsOutput;\r
+  UINTN                                 NumberIndex;\r
+  UINTN                                 SizeOfInfo;\r
+  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  *Info;\r
+  EFI_UGA_DRAW_PROTOCOL                 *UgaDraw;\r
 \r
   if (ModeNumber >= This->Mode->MaxMode) {\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
   Private = GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
-  Mode = &Private->GraphicsOutputModeBuffer[ModeNumber];\r
+  Mode    = &Private->GraphicsOutputModeBuffer[ModeNumber];\r
 \r
-  ReturnStatus = EFI_SUCCESS;\r
+  ReturnStatus           = EFI_SUCCESS;\r
+  GraphicsOutput         = NULL;\r
+  PhysicalGraphicsOutput = NULL;\r
   //\r
   // return the worst status met\r
   //\r
   for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) {\r
     GraphicsOutput = Private->TextOutList[Index].GraphicsOutput;\r
     if (GraphicsOutput != NULL) {\r
+      PhysicalGraphicsOutput = GraphicsOutput;\r
       //\r
       // Find corresponding ModeNumber of this GraphicsOutput instance\r
       //\r
-      for (NumberIndex = 0; NumberIndex < GraphicsOutput->Mode->MaxMode; NumberIndex ++) {\r
-        Status = GraphicsOutput->QueryMode (GraphicsOutput, (UINT32) NumberIndex, &SizeOfInfo, &Info);\r
+      for (NumberIndex = 0; NumberIndex < GraphicsOutput->Mode->MaxMode; NumberIndex++) {\r
+        Status = GraphicsOutput->QueryMode (GraphicsOutput, (UINT32)NumberIndex, &SizeOfInfo, &Info);\r
         if (EFI_ERROR (Status)) {\r
           return Status;\r
         }\r
+\r
         if ((Info->HorizontalResolution == Mode->HorizontalResolution) && (Info->VerticalResolution == Mode->VerticalResolution)) {\r
           FreePool (Info);\r
           break;\r
         }\r
+\r
         FreePool (Info);\r
       }\r
 \r
-      Status = GraphicsOutput->SetMode (GraphicsOutput, (UINT32) NumberIndex);\r
+      Status = GraphicsOutput->SetMode (GraphicsOutput, (UINT32)NumberIndex);\r
       if (EFI_ERROR (Status)) {\r
         ReturnStatus = Status;\r
       }\r
@@ -150,20 +176,25 @@ ConSplitterGraphicsOutputSetMode (
 \r
   This->Mode->Mode = ModeNumber;\r
 \r
-  CopyMem (This->Mode->Info, &Private->GraphicsOutputModeBuffer[ModeNumber], This->Mode->SizeOfInfo);\r
-\r
-  //\r
-  // Information is not enough here, so the following items remain unchanged:\r
-  //  GraphicsOutputMode->Info->Version, GraphicsOutputMode->Info->PixelFormat\r
-  //  GraphicsOutputMode->SizeOfInfo, GraphicsOutputMode->FrameBufferBase, GraphicsOutputMode->FrameBufferSize\r
-  // These items will be initialized/updated when a new GOP device is added into ConsoleSplitter.\r
-  //\r
+  if ((Private->CurrentNumberOfGraphicsOutput == 1) && (PhysicalGraphicsOutput != NULL)) {\r
+    //\r
+    // If only one physical GOP device exist, copy physical information to consplitter.\r
+    //\r
+    CopyMem (This->Mode->Info, PhysicalGraphicsOutput->Mode->Info, PhysicalGraphicsOutput->Mode->SizeOfInfo);\r
+    This->Mode->SizeOfInfo      = PhysicalGraphicsOutput->Mode->SizeOfInfo;\r
+    This->Mode->FrameBufferBase = PhysicalGraphicsOutput->Mode->FrameBufferBase;\r
+    This->Mode->FrameBufferSize = PhysicalGraphicsOutput->Mode->FrameBufferSize;\r
+  } else {\r
+    //\r
+    // If 2 more phyiscal GOP device exist or GOP protocol does not exist,\r
+    // return GOP information (PixelFormat is PixelBltOnly) created in ConSplitterAddGraphicsOutputMode ().\r
+    //\r
+    CopyMem (This->Mode->Info, &Private->GraphicsOutputModeBuffer[ModeNumber], This->Mode->SizeOfInfo);\r
+  }\r
 \r
   return ReturnStatus;\r
 }\r
 \r
-\r
-\r
 /**\r
   The following table defines actions for BltOperations.\r
 \r
@@ -206,23 +237,23 @@ ConSplitterGraphicsOutputSetMode (
 \r
   @retval EFI_SUCCESS             The Blt operation completed.\r
   @retval EFI_INVALID_PARAMETER   BltOperation is not valid.\r
-  @retval EFI_DEVICE_ERROR        A hardware error occured writting to the video\r
+  @retval EFI_DEVICE_ERROR        A hardware error occurred writting to the video\r
                                   buffer.\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 ConSplitterGraphicsOutputBlt (\r
-  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL                  *This,\r
-  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL                 *BltBuffer, OPTIONAL\r
-  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION             BltOperation,\r
-  IN  UINTN                                         SourceX,\r
-  IN  UINTN                                         SourceY,\r
-  IN  UINTN                                         DestinationX,\r
-  IN  UINTN                                         DestinationY,\r
-  IN  UINTN                                         Width,\r
-  IN  UINTN                                         Height,\r
-  IN  UINTN                                         Delta         OPTIONAL\r
+  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL       *This,\r
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer  OPTIONAL,\r
+  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,\r
+  IN  UINTN                              SourceX,\r
+  IN  UINTN                              SourceY,\r
+  IN  UINTN                              DestinationX,\r
+  IN  UINTN                              DestinationY,\r
+  IN  UINTN                              Width,\r
+  IN  UINTN                              Height,\r
+  IN  UINTN                              Delta         OPTIONAL\r
   )\r
 {\r
   EFI_STATUS                      Status;\r
@@ -232,10 +263,10 @@ ConSplitterGraphicsOutputBlt (
   EFI_GRAPHICS_OUTPUT_PROTOCOL    *GraphicsOutput;\r
   EFI_UGA_DRAW_PROTOCOL           *UgaDraw;\r
 \r
-  if (This == NULL || ((UINTN) BltOperation) >= EfiGraphicsOutputBltOperationMax) {\r
+  if ((This == NULL) || (((UINTN)BltOperation) >= EfiGraphicsOutputBltOperationMax)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
-  \r
+\r
   Private = GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
 \r
   ReturnStatus = EFI_SUCCESS;\r
@@ -247,17 +278,17 @@ ConSplitterGraphicsOutputBlt (
     GraphicsOutput = Private->TextOutList[Index].GraphicsOutput;\r
     if (GraphicsOutput != NULL) {\r
       Status = GraphicsOutput->Blt (\r
-                              GraphicsOutput,\r
-                              BltBuffer,\r
-                              BltOperation,\r
-                              SourceX,\r
-                              SourceY,\r
-                              DestinationX,\r
-                              DestinationY,\r
-                              Width,\r
-                              Height,\r
-                              Delta\r
-                              );\r
+                                 GraphicsOutput,\r
+                                 BltBuffer,\r
+                                 BltOperation,\r
+                                 SourceX,\r
+                                 SourceY,\r
+                                 DestinationX,\r
+                                 DestinationY,\r
+                                 Width,\r
+                                 Height,\r
+                                 Delta\r
+                                 );\r
       if (EFI_ERROR (Status)) {\r
         ReturnStatus = Status;\r
       } else if (BltOperation == EfiBltVideoToBltBuffer) {\r
@@ -269,19 +300,19 @@ ConSplitterGraphicsOutputBlt (
     }\r
 \r
     UgaDraw = Private->TextOutList[Index].UgaDraw;\r
-    if (UgaDraw != NULL && FeaturePcdGet (PcdUgaConsumeSupport)) {\r
+    if ((UgaDraw != NULL) && FeaturePcdGet (PcdUgaConsumeSupport)) {\r
       Status = UgaDraw->Blt (\r
-                              UgaDraw,\r
-                              (EFI_UGA_PIXEL *) BltBuffer,\r
-                              (EFI_UGA_BLT_OPERATION) BltOperation,\r
-                              SourceX,\r
-                              SourceY,\r
-                              DestinationX,\r
-                              DestinationY,\r
-                              Width,\r
-                              Height,\r
-                              Delta\r
-                              );\r
+                          UgaDraw,\r
+                          (EFI_UGA_PIXEL *)BltBuffer,\r
+                          (EFI_UGA_BLT_OPERATION)BltOperation,\r
+                          SourceX,\r
+                          SourceY,\r
+                          DestinationX,\r
+                          DestinationY,\r
+                          Width,\r
+                          Height,\r
+                          Delta\r
+                          );\r
       if (EFI_ERROR (Status)) {\r
         ReturnStatus = Status;\r
       } else if (BltOperation == EfiBltVideoToBltBuffer) {\r
@@ -313,11 +344,11 @@ ConSplitterGraphicsOutputBlt (
 EFI_STATUS\r
 EFIAPI\r
 ConSplitterUgaDrawGetMode (\r
-  IN  EFI_UGA_DRAW_PROTOCOL           *This,\r
-  OUT UINT32                          *HorizontalResolution,\r
-  OUT UINT32                          *VerticalResolution,\r
-  OUT UINT32                          *ColorDepth,\r
-  OUT UINT32                          *RefreshRate\r
+  IN  EFI_UGA_DRAW_PROTOCOL  *This,\r
+  OUT UINT32                 *HorizontalResolution,\r
+  OUT UINT32                 *VerticalResolution,\r
+  OUT UINT32                 *ColorDepth,\r
+  OUT UINT32                 *RefreshRate\r
   )\r
 {\r
   TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private;\r
@@ -325,13 +356,15 @@ ConSplitterUgaDrawGetMode (
   if ((HorizontalResolution == NULL) ||\r
       (VerticalResolution   == NULL) ||\r
       (RefreshRate          == NULL) ||\r
-      (ColorDepth           == NULL)) {\r
+      (ColorDepth           == NULL))\r
+  {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
+\r
   //\r
   // retrieve private data\r
   //\r
-  Private               = UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
+  Private = UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
 \r
   *HorizontalResolution = Private->UgaHorizontalResolution;\r
   *VerticalResolution   = Private->UgaVerticalResolution;\r
@@ -341,7 +374,6 @@ ConSplitterUgaDrawGetMode (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Set the current video mode information.\r
 \r
@@ -359,22 +391,22 @@ ConSplitterUgaDrawGetMode (
 EFI_STATUS\r
 EFIAPI\r
 ConSplitterUgaDrawSetMode (\r
-  IN  EFI_UGA_DRAW_PROTOCOL           *This,\r
-  IN UINT32                           HorizontalResolution,\r
-  IN UINT32                           VerticalResolution,\r
-  IN UINT32                           ColorDepth,\r
-  IN UINT32                           RefreshRate\r
+  IN  EFI_UGA_DRAW_PROTOCOL  *This,\r
+  IN UINT32                  HorizontalResolution,\r
+  IN UINT32                  VerticalResolution,\r
+  IN UINT32                  ColorDepth,\r
+  IN UINT32                  RefreshRate\r
   )\r
 {\r
-  EFI_STATUS                             Status;\r
-  TEXT_OUT_SPLITTER_PRIVATE_DATA         *Private;\r
-  UINTN                                  Index;\r
-  EFI_STATUS                             ReturnStatus;\r
-  EFI_GRAPHICS_OUTPUT_PROTOCOL           *GraphicsOutput;\r
-  UINTN                                  NumberIndex;\r
-  UINTN                                  SizeOfInfo;\r
-  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION   *Info;\r
-  EFI_UGA_DRAW_PROTOCOL                  *UgaDraw;\r
+  EFI_STATUS                            Status;\r
+  TEXT_OUT_SPLITTER_PRIVATE_DATA        *Private;\r
+  UINTN                                 Index;\r
+  EFI_STATUS                            ReturnStatus;\r
+  EFI_GRAPHICS_OUTPUT_PROTOCOL          *GraphicsOutput;\r
+  UINTN                                 NumberIndex;\r
+  UINTN                                 SizeOfInfo;\r
+  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  *Info;\r
+  EFI_UGA_DRAW_PROTOCOL                 *UgaDraw;\r
 \r
   Private = UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
 \r
@@ -383,47 +415,48 @@ ConSplitterUgaDrawSetMode (
   //\r
   // Update the Mode data\r
   //\r
-  Private->UgaHorizontalResolution  = HorizontalResolution;\r
-  Private->UgaVerticalResolution    = VerticalResolution;\r
-  Private->UgaColorDepth            = ColorDepth;\r
-  Private->UgaRefreshRate           = RefreshRate;\r
+  Private->UgaHorizontalResolution = HorizontalResolution;\r
+  Private->UgaVerticalResolution   = VerticalResolution;\r
+  Private->UgaColorDepth           = ColorDepth;\r
+  Private->UgaRefreshRate          = RefreshRate;\r
 \r
   //\r
   // return the worst status met\r
   //\r
   for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) {\r
-\r
     GraphicsOutput = Private->TextOutList[Index].GraphicsOutput;\r
     if (GraphicsOutput != NULL) {\r
       //\r
       // Find corresponding ModeNumber of this GraphicsOutput instance\r
       //\r
-      for (NumberIndex = 0; NumberIndex < GraphicsOutput->Mode->MaxMode; NumberIndex ++) {\r
-        Status = GraphicsOutput->QueryMode (GraphicsOutput, (UINT32) NumberIndex, &SizeOfInfo, &Info);\r
+      for (NumberIndex = 0; NumberIndex < GraphicsOutput->Mode->MaxMode; NumberIndex++) {\r
+        Status = GraphicsOutput->QueryMode (GraphicsOutput, (UINT32)NumberIndex, &SizeOfInfo, &Info);\r
         if (EFI_ERROR (Status)) {\r
           return Status;\r
         }\r
+\r
         if ((Info->HorizontalResolution == HorizontalResolution) && (Info->VerticalResolution == VerticalResolution)) {\r
           FreePool (Info);\r
           break;\r
         }\r
+\r
         FreePool (Info);\r
       }\r
 \r
-      Status = GraphicsOutput->SetMode (GraphicsOutput, (UINT32) NumberIndex);\r
+      Status = GraphicsOutput->SetMode (GraphicsOutput, (UINT32)NumberIndex);\r
       if (EFI_ERROR (Status)) {\r
         ReturnStatus = Status;\r
       }\r
-    } else if (FeaturePcdGet (PcdUgaConsumeSupport)){\r
+    } else if (FeaturePcdGet (PcdUgaConsumeSupport)) {\r
       UgaDraw = Private->TextOutList[Index].UgaDraw;\r
       if (UgaDraw != NULL) {\r
         Status = UgaDraw->SetMode (\r
-                          UgaDraw,\r
-                          HorizontalResolution,\r
-                          VerticalResolution,\r
-                          ColorDepth,\r
-                          RefreshRate\r
-                          );\r
+                            UgaDraw,\r
+                            HorizontalResolution,\r
+                            VerticalResolution,\r
+                            ColorDepth,\r
+                            RefreshRate\r
+                            );\r
         if (EFI_ERROR (Status)) {\r
           ReturnStatus = Status;\r
         }\r
@@ -434,7 +467,6 @@ ConSplitterUgaDrawSetMode (
   return ReturnStatus;\r
 }\r
 \r
-\r
 /**\r
   Blt a rectangle of pixels on the graphics screen.\r
 \r
@@ -481,22 +513,22 @@ ConSplitterUgaDrawSetMode (
 \r
   @retval EFI_SUCCESS            The Blt operation completed.\r
   @retval EFI_INVALID_PARAMETER  BltOperation is not valid.\r
-  @retval EFI_DEVICE_ERROR       A hardware error occured writting to the video buffer.\r
+  @retval EFI_DEVICE_ERROR       A hardware error occurred writting to the video buffer.\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 ConSplitterUgaDrawBlt (\r
-  IN  EFI_UGA_DRAW_PROTOCOL                         *This,\r
-  IN  EFI_UGA_PIXEL                                 *BltBuffer, OPTIONAL\r
-  IN  EFI_UGA_BLT_OPERATION                         BltOperation,\r
-  IN  UINTN                                         SourceX,\r
-  IN  UINTN                                         SourceY,\r
-  IN  UINTN                                         DestinationX,\r
-  IN  UINTN                                         DestinationY,\r
-  IN  UINTN                                         Width,\r
-  IN  UINTN                                         Height,\r
-  IN  UINTN                                         Delta         OPTIONAL\r
+  IN  EFI_UGA_DRAW_PROTOCOL  *This,\r
+  IN  EFI_UGA_PIXEL          *BltBuffer  OPTIONAL,\r
+  IN  EFI_UGA_BLT_OPERATION  BltOperation,\r
+  IN  UINTN                  SourceX,\r
+  IN  UINTN                  SourceY,\r
+  IN  UINTN                  DestinationX,\r
+  IN  UINTN                  DestinationY,\r
+  IN  UINTN                  Width,\r
+  IN  UINTN                  Height,\r
+  IN  UINTN                  Delta         OPTIONAL\r
   )\r
 {\r
   EFI_STATUS                      Status;\r
@@ -515,17 +547,17 @@ ConSplitterUgaDrawBlt (
     GraphicsOutput = Private->TextOutList[Index].GraphicsOutput;\r
     if (GraphicsOutput != NULL) {\r
       Status = GraphicsOutput->Blt (\r
-                              GraphicsOutput,\r
-                              (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *) BltBuffer,\r
-                              (EFI_GRAPHICS_OUTPUT_BLT_OPERATION) BltOperation,\r
-                              SourceX,\r
-                              SourceY,\r
-                              DestinationX,\r
-                              DestinationY,\r
-                              Width,\r
-                              Height,\r
-                              Delta\r
-                              );\r
+                                 GraphicsOutput,\r
+                                 (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)BltBuffer,\r
+                                 (EFI_GRAPHICS_OUTPUT_BLT_OPERATION)BltOperation,\r
+                                 SourceX,\r
+                                 SourceY,\r
+                                 DestinationX,\r
+                                 DestinationY,\r
+                                 Width,\r
+                                 Height,\r
+                                 Delta\r
+                                 );\r
       if (EFI_ERROR (Status)) {\r
         ReturnStatus = Status;\r
       } else if (BltOperation == EfiUgaVideoToBltBuffer) {\r
@@ -536,7 +568,7 @@ ConSplitterUgaDrawBlt (
       }\r
     }\r
 \r
-    if (Private->TextOutList[Index].UgaDraw != NULL && FeaturePcdGet (PcdUgaConsumeSupport)) {\r
+    if ((Private->TextOutList[Index].UgaDraw != NULL) && FeaturePcdGet (PcdUgaConsumeSupport)) {\r
       Status = Private->TextOutList[Index].UgaDraw->Blt (\r
                                                       Private->TextOutList[Index].UgaDraw,\r
                                                       BltBuffer,\r
@@ -581,7 +613,7 @@ TextOutSetMode (
   // been checked in ConSplitterTextOutSetCursorPosition. And (0, 0) should\r
   // always be supported.\r
   //\r
-  Private->TextOutMode.Mode          = (INT32) ModeNumber;\r
+  Private->TextOutMode.Mode          = (INT32)ModeNumber;\r
   Private->TextOutMode.CursorColumn  = 0;\r
   Private->TextOutMode.CursorRow     = 0;\r
   Private->TextOutMode.CursorVisible = TRUE;\r