blob: c8ded1212175cda95aac4866b5373c011d49caad [file] [log] [blame]
Ronak Kanabar1ae366f2023-06-07 01:21:56 +05301/** @file
2 EDID Override Protocol from the UEFI 2.0 specification.
3
4 Allow platform to provide EDID information to the producer of the Graphics Output
5 protocol.
6
7 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
8 SPDX-License-Identifier: BSD-2-Clause-Patent
9
10**/
11
12#ifndef __EDID_OVERRIDE_H__
13#define __EDID_OVERRIDE_H__
14
15#define EFI_EDID_OVERRIDE_PROTOCOL_GUID \
16 { \
17 0x48ecb431, 0xfb72, 0x45c0, {0xa9, 0x22, 0xf4, 0x58, 0xfe, 0x4, 0xb, 0xd5 } \
18 }
19
20typedef struct _EFI_EDID_OVERRIDE_PROTOCOL EFI_EDID_OVERRIDE_PROTOCOL;
21
22#define EFI_EDID_OVERRIDE_DONT_OVERRIDE 0x01
23#define EFI_EDID_OVERRIDE_ENABLE_HOT_PLUG 0x02
24
25/**
26 Returns policy information and potentially a replacement EDID for the specified video output device.
27
28 @param This The EFI_EDID_OVERRIDE_PROTOCOL instance.
29 @param ChildHandle A child handle produced by the Graphics Output EFI
30 driver that represents a video output device.
31 @param Attributes The attributes associated with ChildHandle video output device.
32 @param EdidSize A pointer to the size, in bytes, of the Edid buffer.
33 @param Edid A pointer to callee allocated buffer that contains the EDID that
34 should be used for ChildHandle. A value of NULL
35 represents no EDID override for ChildHandle.
36
37 @retval EFI_SUCCESS Valid overrides returned for ChildHandle.
38 @retval EFI_UNSUPPORTED ChildHandle has no overrides.
39
40**/
41typedef
42EFI_STATUS
43(EFIAPI *EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID)(
44 IN EFI_EDID_OVERRIDE_PROTOCOL *This,
45 IN EFI_HANDLE *ChildHandle,
46 OUT UINT32 *Attributes,
47 OUT UINTN *EdidSize,
48 OUT UINT8 **Edid
49 );
50
51///
52/// This protocol is produced by the platform to allow the platform to provide
53/// EDID information to the producer of the Graphics Output protocol.
54///
55struct _EFI_EDID_OVERRIDE_PROTOCOL {
56 EFI_EDID_OVERRIDE_PROTOCOL_GET_EDID GetEdid;
57};
58
59extern EFI_GUID gEfiEdidOverrideProtocolGuid;
60
61#endif