BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1954
Three interfaces added to PCI Express Platform Protocol:- (1) GetDevicePolicy() -> to retrieve device-specific platform policies (2) NotifyDeviceState() -> to notify platform about device PCI Express configuration state (3) GetPolicy() -> to retrieve platform policy about the PCI Express feature list PCI Express Override Protocol is made alias to PCI Express Platform Protocol. EFI encodings introduced for the following PCI Express features, are: 1. Maximum Payload Size (MPS) 2. Maximum Read Request Size (MRRS) 3. Extended Tag 4. Relax Order Enable 5. No Snoop Enable 6. ASPM support 7. Common Clock Configuration 8. Extended SYNC 9. Atomic Op 10. LTR Enable 11. PTM support 12. CTO support 13. CPM 14. L1 PM Substates New source files with unique definitions are: MdePkg/Include/Protocol/PciExpressPlatform.h, MdePkg/Include/Protocol/PciExpressOverride.h Signed-off-by: Ashraf Javeed <ashraf.jav...@intel.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <liming....@intel.com> Cc: Ray Ni <ray...@intel.com> --- In V8: Code Syntax correction made. In V7: Revised ECR to define additional interface GetPolicy() in the PCI Express Platform Protocol / PCI Express Override Protocol, Renamed EFI_PCI_EXPRESS_PLATFORM_POLICY to EFI_PCI_EXPRESS_DEVICE_POLICY, Removed the reserved fields from the EFI_PCI_EXPRESS_DEVICE_POLICY, added input parameter to give the length of input buffer in GetDevicePolicy(), and NotifyDeviceState(), introduced new data type EFI_PCI_EXPRESS_PLATFORM_POLICY for the interface GetPolicy(). In V6: renamed the protocol definition source files, remove PCD comments, and renamed NotifyDeviceConfiguration -> NotifyDeviceState 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 --- MdePkg/Include/Protocol/PciExpressPlatform.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Protocol/PciExpressPlatform.h b/MdePkg/Include/Protocol/PciExpressPlatform.h index 8a28418..dc58268 100644 --- a/MdePkg/Include/Protocol/PciExpressPlatform.h +++ b/MdePkg/Include/Protocol/PciExpressPlatform.h @@ -643,11 +643,11 @@ typedef struct { **/ typedef EFI_STATUS -(EFIAPI * EFI_PCI_EXPRESS_GET_POLICY) { +(EFIAPI * EFI_PCI_EXPRESS_GET_POLICY) ( IN CONST EFI_PCI_EXPRESS_PLATFORM_PROTOCOL *This, IN UINTN Size, IN OUT EFI_PCI_EXPRESS_PLATFORM_POLICY *PlatformPolicy -}; +); /// /// This protocol provides the interface between the PCI bus driver/PCI Host -- 2.21.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#53116): https://edk2.groups.io/g/devel/message/53116 Mute This Topic: https://groups.io/mt/69594616/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-