]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430.h
ShellPkg/for: Fix potential null pointer deference
[mirror_edk2.git] / OptionRomPkg / CirrusLogic5430Dxe / CirrusLogic5430.h
index f7d92821aa0d043c6cfe4750f5221abf07bc308c..5080de578e6f4573861be47ea0e5d60770925219 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   Cirrus Logic 5430 Controller Driver\r
 \r
-  Copyright (c) 2006 - 2007, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials\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
@@ -38,9 +38,9 @@
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/DevicePathLib.h>\r
-#include <Library/DxeI2cLib.h>\r
+#include <Library/TimerLib.h>\r
 \r
-#include <IndustryStandard/pci22.h>\r
+#include <IndustryStandard/Pci.h>\r
 //\r
 // Cirrus Logic 5430 PCI Configuration Header values\r
 //\r
@@ -62,12 +62,30 @@ typedef struct {
   UINT32  RefreshRate;\r
 } CIRRUS_LOGIC_5430_MODE_DATA;\r
 \r
+#define PIXEL_RED_SHIFT   0\r
+#define PIXEL_GREEN_SHIFT 3\r
+#define PIXEL_BLUE_SHIFT  6\r
+\r
+#define PIXEL_RED_MASK    (BIT7 | BIT6 | BIT5)\r
+#define PIXEL_GREEN_MASK  (BIT4 | BIT3 | BIT2)\r
+#define PIXEL_BLUE_MASK   (BIT1 | BIT0)\r
+\r
+#define PIXEL_TO_COLOR_BYTE(pixel, mask, shift) ((UINT8) ((pixel & mask) << shift))\r
+#define PIXEL_TO_RED_BYTE(pixel) PIXEL_TO_COLOR_BYTE(pixel, PIXEL_RED_MASK, PIXEL_RED_SHIFT)\r
+#define PIXEL_TO_GREEN_BYTE(pixel) PIXEL_TO_COLOR_BYTE(pixel, PIXEL_GREEN_MASK, PIXEL_GREEN_SHIFT)\r
+#define PIXEL_TO_BLUE_BYTE(pixel) PIXEL_TO_COLOR_BYTE(pixel, PIXEL_BLUE_MASK, PIXEL_BLUE_SHIFT)\r
+\r
+#define RGB_BYTES_TO_PIXEL(Red, Green, Blue) \\r
+  (UINT8) ( (((Red) >> PIXEL_RED_SHIFT) & PIXEL_RED_MASK) | \\r
+            (((Green) >> PIXEL_GREEN_SHIFT) & PIXEL_GREEN_MASK) | \\r
+            (((Blue) >> PIXEL_BLUE_SHIFT) & PIXEL_BLUE_MASK) )\r
+\r
 #define GRAPHICS_OUTPUT_INVALIDE_MODE_NUMBER  0xffff\r
 \r
 //\r
 // Cirrus Logic 5440 Private Data Structure\r
 //\r
-#define CIRRUS_LOGIC_5430_PRIVATE_DATA_SIGNATURE  EFI_SIGNATURE_32 ('C', 'L', '5', '4')\r
+#define CIRRUS_LOGIC_5430_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('C', 'L', '5', '4')\r
 \r
 typedef struct {\r
   UINT64                                Signature;\r
@@ -140,32 +158,18 @@ extern EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL  gCirrusLogic5430DriverSupporte
 #define PALETTE_INDEX_REGISTER  0x3c8\r
 #define PALETTE_DATA_REGISTER   0x3c9\r
 \r
-#define ACPI_ADR_DISPLAY_TYPE_VGA               1\r
-\r
-#define ACPI_DISPLAY_ADR(_DeviceIdScheme, _HeadId, _NonVgaOutput, _BiosCanDetect, _VendorInfo, _Type, _Port, _Index) \\r
-          ((UINT32) ( (((_DeviceIdScheme) & 0x1) << 31) |  \\r
-                      (((_HeadId)         & 0x7) << 18) |  \\r
-                      (((_NonVgaOutput)   & 0x1) << 17) |  \\r
-                      (((_BiosCanDetect)  & 0x1) << 16) |  \\r
-                      (((_VendorInfo)     & 0xf) << 12) |  \\r
-                      (((_Type)           & 0xf) << 8)  |  \\r
-                      (((_Port)           & 0xf) << 4)  |  \\r
-                       ((_Index)          & 0xf) ))\r
-\r
 //\r
 // UGA Draw Hardware abstraction internal worker functions\r
 //\r
 EFI_STATUS\r
 CirrusLogic5430UgaDrawConstructor (\r
   CIRRUS_LOGIC_5430_PRIVATE_DATA  *Private\r
-  )\r
-;\r
+  );\r
 \r
 EFI_STATUS\r
 CirrusLogic5430UgaDrawDestructor (\r
   CIRRUS_LOGIC_5430_PRIVATE_DATA  *Private\r
-  )\r
-;\r
+  );\r
 \r
 //\r
 // Graphics Output Hardware abstraction internal worker functions\r
@@ -173,14 +177,12 @@ CirrusLogic5430UgaDrawDestructor (
 EFI_STATUS\r
 CirrusLogic5430GraphicsOutputConstructor (\r
   CIRRUS_LOGIC_5430_PRIVATE_DATA  *Private\r
-  )\r
-;\r
+  );\r
 \r
 EFI_STATUS\r
 CirrusLogic5430GraphicsOutputDestructor (\r
   CIRRUS_LOGIC_5430_PRIVATE_DATA  *Private\r
-  )\r
-;\r
+  );\r
 \r
 \r
 //\r
@@ -202,8 +204,7 @@ CirrusLogic5430ControllerDriverSupported (
   IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   TODO: Add function description\r
@@ -221,8 +222,7 @@ CirrusLogic5430ControllerDriverStart (
   IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   TODO: Add function description\r
@@ -242,8 +242,7 @@ CirrusLogic5430ControllerDriverStop (
   IN EFI_HANDLE                   Controller,\r
   IN UINTN                        NumberOfChildren,\r
   IN EFI_HANDLE                   *ChildHandleBuffer\r
-  )\r
-;\r
+  );\r
 \r
 //\r
 // EFI Component Name Functions\r
@@ -268,7 +267,7 @@ CirrusLogic5430ControllerDriverStop (
                                 languages specified in SupportedLanguages. The\r
                                 number of languages supported by a driver is up\r
                                 to the driver writer. Language is specified\r
-                                in RFC 3066 or ISO 639-2 language code format.\r
+                                in RFC 4646 or ISO 639-2 language code format.\r
 \r
   @param  DriverName[out]       A pointer to the Unicode string to return.\r
                                 This Unicode string is the name of the\r
@@ -333,7 +332,7 @@ CirrusLogic5430ComponentNameGetDriverName (
                                 languages specified in SupportedLanguages. The\r
                                 number of languages supported by a driver is up\r
                                 to the driver writer. Language is specified in\r
-                                RFC 3066 or ISO 639-2 language code format.\r
+                                RFC 4646 or ISO 639-2 language code format.\r
 \r
   @param  ControllerName[out]   A pointer to the Unicode string to return.\r
                                 This Unicode string is the name of the\r
@@ -347,7 +346,7 @@ CirrusLogic5430ComponentNameGetDriverName (
                                 driver specified by This was returned in\r
                                 DriverName.\r
 \r
-  @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
 \r
   @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
                                 EFI_HANDLE.\r