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