• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2   This file declares Graphics PPI.
3   This PPI is the main interface exposed by the Graphics PEIM to be used by the
4   other firmware modules.
5 
6   Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
7   This program and the accompanying materials
8   are licensed and made available under the terms and conditions of the BSD License
9   which accompanies this distribution. The full text of the license may be found at
10   http://opensource.org/licenses/bsd-license.php
11 
12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 
15   @par Revision Reference:
16   This PPI is introduced in PI Version 1.4.
17 
18 **/
19 
20 #ifndef __PEI_GRAPHICS_PPI_H__
21 #define __PEI_GRAPHICS_PPI_H__
22 
23 #include <Protocol/GraphicsOutput.h>
24 
25 #define EFI_PEI_GRAPHICS_PPI_GUID \
26   { \
27     0x6ecd1463, 0x4a4a, 0x461b, { 0xaf, 0x5f, 0x5a, 0x33, 0xe3, 0xb2, 0x16, 0x2b } \
28   }
29 
30 typedef struct _EFI_PEI_GRAPHICS_PPI EFI_PEI_GRAPHICS_PPI;
31 
32 /**
33   The GraphicsPpiInit initializes the graphics subsystem in phases.
34 
35   @param[in] GraphicsPolicyPtr    GraphicsPolicyPtr points to a configuration data
36                                   block of policy settings required by Graphics PEIM.
37 
38   @retval EFI_SUCCESS             The invocation was successful.
39   @retval EFI_INVALID_PARAMETER   The phase parameter is not valid.
40   @retval EFI_NOT_ABORTED         The stages was not called in the proper order.
41   @retval EFI_NOT_FOUND           The PeiGraphicsPlatformPolicyPpi is not located.
42   @retval EFI_DEVICE_ERROR        The initialization failed due to device error.
43   @retval EFI_NOT_READY           The previous init stage is still in progress and not
44                                   ready for the current initialization phase yet. The
45                                   platform code should call this again sometime later.
46 **/
47 typedef
48 EFI_STATUS
49 (EFIAPI *EFI_PEI_GRAPHICS_INIT) (
50   IN VOID                            *GraphicsPolicyPtr
51   );
52 
53 /**
54   The GraphicsPpiGetMode returns the mode information supported by the Graphics PEI
55   Module.
56 
57   @param[in, out] Mode            Pointer to EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE data.
58 
59   @retval EFI_SUCCESS             Valid mode information was returned.
60   @retval EFI_INVALID_PARAMETER   The Mode parameter is not valid.
61   @retval EFI_DEVICE_ERROR        A hardware error occurred trying to retrieve the video
62                                   mode.
63   @retval EFI_NOT_READY           The Graphics Initialization is not competed and Mode
64                                   information is not yet available.The platform code
65                                   should call this again after the Graphics
66                                   initialization is done.
67 **/
68 typedef
69 EFI_STATUS
70 (EFIAPI *EFI_PEI_GRAPHICS_GET_MODE) (
71   IN OUT EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE  *Mode
72   );
73 
74 ///
75 /// This PPI is the main interface exposed by the Graphics PEIM to be used by the other
76 /// firmware modules.
77 ///
78 struct _EFI_PEI_GRAPHICS_PPI {
79   EFI_PEI_GRAPHICS_INIT              GraphicsPpiInit;
80   EFI_PEI_GRAPHICS_GET_MODE          GraphicsPpiGetMode;
81 };
82 
83 extern EFI_GUID gEfiPeiGraphicsPpiGuid;
84 
85 #endif
86