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

Javeed, Ashraf ashraf.javeed at intel.com
Fri Jan 10 04:00:26 UTC 2020


Hi,
You can also review this patch into the below edk2-staging repo:-
https://github.com/ashrafj/edk2-staging/commit/84ec9f060bab7d5ec97b36367e87124820694934

Thanks
Ashraf

> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Javeed,
> Ashraf
> Sent: Friday, January 10, 2020 9:24 AM
> To: devel at edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney at intel.com>; Gao, Liming
> <liming.gao at intel.com>; Ni, Ray <ray.ni at intel.com>
> Subject: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V8]
> MdePkg/Protocols: New PCI Express Platform Protocol, EFI encodings
> 
> 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 at intel.com>
> Cc: Michael D Kinney <michael.d.kinney at intel.com>
> Cc: Liming Gao <liming.gao at intel.com>
> Cc: Ray Ni <ray.ni at 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 (#53117): https://edk2.groups.io/g/devel/message/53117
Mute This Topic: https://groups.io/mt/69594616/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list