Skip to content

Commit

Permalink
MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol
Browse files Browse the repository at this point in the history
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1954

New interface added to PCI Platform Protocol / PCI Override Protocol to
retrieve device-specific platform policy for the following PCI standard
features, like Maximum Payload Size (MPS), Maximum Read Request Size
(MRRS),Extended Tags, Relax Order, No-Snoop, Active State Power Management
(ASPM),Latency Time Reporting (LTR), AtomicOp, Reference Clock
Configuration, Extended SYNCH, PTM support, and Completion Timeout (CTO).
New source files added with enhanced definitions are in:
MdePkg/Include/Protocol/PciPlatform2.h,
MdePkg/Include/Protocol/PciOverride2.h

Signed-off-by: Ashraf Javeed <ashraf.javeed@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
---

In V5: Revised ECR to define new PCI Platform Protocol to support the
PCI Express capability features:-
EFI_PCI_EXPRESS_PLATFORM_PROTOCOL, EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL.
Added new interface -> NotifyDeviceConfiguration
Added new EFI encodings / data types for PCIe features:-
CPM, L1 PM substates.
Enhance the definition of the PCIe feature AtomicOp to support additional
attribute - Egress blocking of the port.

In V4: Redefinition of the existing interfaces in the EFI_PCI_PLATFORM_-
PROTOCOL2, to avoid type casting and to avoid further future change

In V3: License update in the header sections of source files

In V2: Correction made to header sections of source files
  • Loading branch information
ashrafj committed Dec 4, 2019
1 parent fc451a1 commit 000ce68
Show file tree
Hide file tree
Showing 3 changed files with 365 additions and 335 deletions.
12 changes: 6 additions & 6 deletions MdePkg/Include/Protocol/PciOverride2.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,24 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define _PCI_OVERRIDE2_H_

///
/// EFI_PCI_OVERRIDE_PROTOCOL has the same structure with EFI_PCI_PLATFORM_PROTOCOL
/// EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL has the same structure as of EFI_PCI_EXPRESS_PLATFORM_PROTOCOL
///
#include <Protocol/PciPlatform2.h>

///
/// Global ID for the EFI_PCI_OVERRIDE_PROTOCOL
/// Global ID for the EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL
///
#define EFI_PCI_OVERRIDE2_GUID \
#define EFI_PCI_EXPRESS_OVERRIDE_GUID \
{ \
0xb9d5ea1, 0x66cb, 0x4546, {0xb0, 0xbb, 0x5c, 0x6d, 0xae, 0xd9, 0x42, 0x47} \
}

///
/// Declaration for EFI_PCI_OVERRIDE_PROTOCOL
/// Declaration for EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL
///
typedef EFI_PCI_PLATFORM_PROTOCOL2 EFI_PCI_OVERRIDE_PROTOCOL2;
typedef EFI_PCI_EXPRESS_PLATFORM_PROTOCOL EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL;


extern EFI_GUID gEfiPciOverrideProtocol2Guid;
extern EFI_GUID gEfiPciExpressOverrideProtocolGuid;

#endif

0 comments on commit 000ce68

Please sign in to comment.