]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPlatformPkg / Drivers / LcdGraphicsOutputDxe / LcdGraphicsOutputDxe.h
CommitLineData
7d0f2f23 1/** @file\r
2\r
b1b69d26 3 Copyright (c) 2011-2018, ARM Ltd. All rights reserved.<BR>\r
f4dfad05 4 SPDX-License-Identifier: BSD-2-Clause-Patent\r
7d0f2f23 5\r
6**/\r
7\r
b1b69d26
GP
8#ifndef LCD_GRAPHICS_OUTPUT_DXE_H_\r
9#define LCD_GRAPHICS_OUTPUT_DXE_H_\r
7d0f2f23 10\r
11#include <Base.h>\r
3723a71a 12\r
13#include <Library/DebugLib.h>\r
2671d898 14#include <Library/LcdHwLib.h>\r
3723a71a 15#include <Library/LcdPlatformLib.h>\r
16#include <Library/PcdLib.h>\r
7d0f2f23 17#include <Library/UefiLib.h>\r
3723a71a 18\r
7d0f2f23 19#include <Protocol/DevicePath.h>\r
20\r
7d0f2f23 21//\r
22// Device structures\r
23//\r
24typedef struct {\r
40b0b23e
MK
25 VENDOR_DEVICE_PATH Guid;\r
26 EFI_DEVICE_PATH_PROTOCOL End;\r
7d0f2f23 27} LCD_GRAPHICS_DEVICE_PATH;\r
28\r
29typedef struct {\r
40b0b23e
MK
30 UINT32 Signature;\r
31 EFI_HANDLE Handle;\r
32 EFI_GRAPHICS_OUTPUT_MODE_INFORMATION ModeInfo;\r
33 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE Mode;\r
34 EFI_GRAPHICS_OUTPUT_PROTOCOL Gop;\r
35 LCD_GRAPHICS_DEVICE_PATH DevicePath;\r
36 EFI_EVENT ExitBootServicesEvent;\r
7d0f2f23 37} LCD_INSTANCE;\r
38\r
39#define LCD_INSTANCE_SIGNATURE SIGNATURE_32('l', 'c', 'd', '0')\r
40\r
40b0b23e 41#define LCD_INSTANCE_FROM_GOP_THIS(a) CR (a, LCD_INSTANCE, Gop, LCD_INSTANCE_SIGNATURE)\r
7d0f2f23 42\r
43//\r
44// Function Prototypes\r
45//\r
46\r
47VOID\r
48LcdGraphicsExitBootServicesEvent (\r
40b0b23e
MK
49 IN EFI_EVENT Event,\r
50 IN VOID *Context\r
51 );\r
7d0f2f23 52\r
53EFI_STATUS\r
54EFIAPI\r
55LcdGraphicsQueryMode (\r
56 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
57 IN UINT32 ModeNumber,\r
58 OUT UINTN *SizeOfInfo,\r
59 OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info\r
40b0b23e 60 );\r
7d0f2f23 61\r
62EFI_STATUS\r
63EFIAPI\r
64LcdGraphicsSetMode (\r
65 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
66 IN UINT32 ModeNumber\r
40b0b23e 67 );\r
7d0f2f23 68\r
69EFI_STATUS\r
70EFIAPI\r
71LcdGraphicsBlt (\r
72 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
2863ba97 73 IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL,\r
7d0f2f23 74 IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,\r
75 IN UINTN SourceX,\r
76 IN UINTN SourceY,\r
77 IN UINTN DestinationX,\r
78 IN UINTN DestinationY,\r
79 IN UINTN Width,\r
80 IN UINTN Height,\r
81 IN UINTN Delta OPTIONAL\r
40b0b23e 82 );\r
7d0f2f23 83\r
84UINTN\r
85GetBytesPerPixel (\r
40b0b23e 86 IN LCD_BPP Bpp\r
7d0f2f23 87 );\r
88\r
89EFI_STATUS\r
90EFIAPI\r
91GraphicsOutputDxeInitialize (\r
40b0b23e
MK
92 IN EFI_HANDLE ImageHandle,\r
93 IN EFI_SYSTEM_TABLE *SystemTable\r
94 );\r
7d0f2f23 95\r
96EFI_STATUS\r
97InitializeDisplay (\r
40b0b23e
MK
98 IN LCD_INSTANCE *Instance\r
99 );\r
7d0f2f23 100\r
b1b69d26 101#endif /* LCD_GRAPHICS_OUTPUT_DXE_H_ */\r