]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Library/PL111Lcd/PL111Lcd.c
ArmPlatformPkg: Redefine LcdPlatformGetTimings function
[mirror_edk2.git] / ArmPlatformPkg / Library / PL111Lcd / PL111Lcd.c
index 465cb6845437f57d15f05a271d1b01f634e11b56..c9e2736911881fc36b51562b9259b7bccf30747d 100644 (file)
@@ -84,34 +84,25 @@ LcdSetMode (
   )\r
 {\r
   EFI_STATUS        Status;\r
-  UINT32            HRes;\r
-  UINT32            HSync;\r
-  UINT32            HBackPorch;\r
-  UINT32            HFrontPorch;\r
-  UINT32            VRes;\r
-  UINT32            VSync;\r
-  UINT32            VBackPorch;\r
-  UINT32            VFrontPorch;\r
+  SCAN_TIMINGS      *Horizontal;\r
+  SCAN_TIMINGS      *Vertical;\r
   UINT32            LcdControl;\r
   LCD_BPP           LcdBpp;\r
 \r
   // Set the video mode timings and other relevant information\r
   Status = LcdPlatformGetTimings (\r
              ModeNumber,\r
-             &HRes,\r
-             &HSync,\r
-             &HBackPorch,\r
-             &HFrontPorch,\r
-             &VRes,\r
-             &VSync,\r
-             &VBackPorch,\r
-             &VFrontPorch\r
+             &Horizontal,\r
+             &Vertical\r
              );\r
   if (EFI_ERROR (Status)) {\r
     ASSERT_EFI_ERROR (Status);\r
     return Status;\r
   }\r
 \r
+  ASSERT (Horizontal != NULL);\r
+  ASSERT (Vertical != NULL);\r
+\r
   Status = LcdPlatformGetBpp (ModeNumber, &LcdBpp);\r
   if (EFI_ERROR (Status)) {\r
     ASSERT_EFI_ERROR (Status);\r
@@ -124,15 +115,29 @@ LcdSetMode (
   // Set Timings\r
   MmioWrite32 (\r
     PL111_REG_LCD_TIMING_0,\r
-    HOR_AXIS_PANEL (HBackPorch, HFrontPorch, HSync, HRes)\r
+    HOR_AXIS_PANEL (\r
+      Horizontal->BackPorch,\r
+      Horizontal->FrontPorch,\r
+      Horizontal->Sync,\r
+      Horizontal->Resolution\r
+      )\r
     );\r
 \r
   MmioWrite32 (\r
     PL111_REG_LCD_TIMING_1,\r
-    VER_AXIS_PANEL (VBackPorch, VFrontPorch, VSync, VRes)\r
+    VER_AXIS_PANEL (\r
+      Vertical->BackPorch,\r
+      Vertical->FrontPorch,\r
+      Vertical->Sync,\r
+      Vertical->Resolution\r
+      )\r
+    );\r
+\r
+  MmioWrite32 (\r
+    PL111_REG_LCD_TIMING_2,\r
+    CLK_SIG_POLARITY (Horizontal->Resolution)\r
     );\r
 \r
-  MmioWrite32 (PL111_REG_LCD_TIMING_2, CLK_SIG_POLARITY (HRes));\r
   MmioWrite32 (PL111_REG_LCD_TIMING_3, 0);\r
 \r
   // PL111_REG_LCD_CONTROL\r