[edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V8] MdePkg/Protocols: New PCI Express Platform Protocol, EFI encodings

Javeed, Ashraf posted 1 patch 4 years, 3 months ago
Failed in applying to current master (apply log)
MdePkg/Include/Protocol/PciExpressPlatform.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V8] MdePkg/Protocols: New PCI Express Platform Protocol, EFI encodings
Posted by Javeed, Ashraf 4 years, 3 months ago
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.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 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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-