Re: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V4] MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol

2019-10-22 Thread Javeed, Ashraf
Thanks Liming!
Please move this to the edk2-staging branch UEFI_PCI_ENHANCE-2.

Just for your reference...
Remote repository:- https://github.com/ashrafj/edk2-staging
This commit: 
https://github.com/ashrafj/edk2-staging/commit/170caa6c822c95e5e4fa5506cc8bea479ff2f885

Ashraf

> -Original Message-
> From: Gao, Liming 
> Sent: Tuesday, October 22, 2019 7:52 PM
> To: Javeed, Ashraf ; devel@edk2.groups.io
> Cc: Kinney, Michael D ; Ni, Ray
> 
> Subject: RE: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V4]
> MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol
> 
> Ashraf:
>  I have no comments for this patch on edk2-staging. Reviewed-by: Liming Gao
> 
> 
> Thanks
> Liming
> > -Original Message-
> > From: Javeed, Ashraf 
> > Sent: Tuesday, October 22, 2019 11:06 AM
> > To: devel@edk2.groups.io; Javeed, Ashraf 
> > Cc: Kinney, Michael D ; Gao, Liming
> > ; Ni, Ray 
> > Subject: RE: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V4]
> > MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol
> >
> > Just resending by correcting the edk2-staging branch name in the subject 
> > line.
> > Kindly review and provide your feedback.
> > Thanks
> > Ashraf
> >
> > > -Original Message-
> > > From: devel@edk2.groups.io  On Behalf Of
> > > Javeed, Ashraf
> > > Sent: Thursday, October 17, 2019 10:24 PM
> > > To: devel@edk2.groups.io
> > > Cc: Kinney, Michael D ; Gao, Liming
> > > ; Ni, Ray 
> > > Subject: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-1 PATCH V4]
> > > MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol
> > >
> > > 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 
> > > Cc: Michael D Kinney 
> > > Cc: Liming Gao 
> > > Cc: Ray Ni 
> > > ---
> > >
> > > 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/PciOverride2.h |  37
> > > +
> > >  MdePkg/Include/Protocol/PciPlatform2.h | 524
> > >
> +
> > >
> +
> > >
> +
> > >
> +
> > >
> +
> > >
> +
> > >
> +
> > >
> +
> > > 
> > >  MdePkg/MdePkg.dec  |   6 ++
> > >  3 files changed, 567 insertions(+)
> > >
> > > diff --git a/MdePkg/Include/Protocol/PciOverride2.h
> > > b/MdePkg/Include/Protocol/PciOverride2.h
> > > new file mode 100644
> > > index 00..7e878a4f1e
> > > --- /dev/null
> > > +++ b/MdePkg/Include/Protocol/PciOverride2.h
> > > @@ -0,0 +1,37 @@
> > > +/** @file
> > > +  This file declares EFI PCI Override protocol which provides the
> > > +interface between
> > > +  the PCI bus driver/PCI Host Bridge Resource Allocation driver and
> > > +an implementation's
> > > +  driver to describe the unique features of a platform.
> > > +  This protocol is optional.
> > > +
> > > +Copyright (c) 2019, Intel Corpor

Re: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V4] MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol

2019-10-22 Thread Liming Gao
Ashraf:
 I have no comments for this patch on edk2-staging. Reviewed-by: Liming Gao 


Thanks
Liming
> -Original Message-
> From: Javeed, Ashraf 
> Sent: Tuesday, October 22, 2019 11:06 AM
> To: devel@edk2.groups.io; Javeed, Ashraf 
> Cc: Kinney, Michael D ; Gao, Liming 
> ; Ni, Ray 
> Subject: RE: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V4] 
> MdePkg/Protocols: New interface, EFI encodings to PCI Plat
> protocol
> 
> Just resending by correcting the edk2-staging branch name in the subject line.
> Kindly review and provide your feedback.
> Thanks
> Ashraf
> 
> > -Original Message-
> > From: devel@edk2.groups.io  On Behalf Of Javeed,
> > Ashraf
> > Sent: Thursday, October 17, 2019 10:24 PM
> > To: devel@edk2.groups.io
> > Cc: Kinney, Michael D ; Gao, Liming
> > ; Ni, Ray 
> > Subject: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-1 PATCH V4]
> > MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol
> >
> > 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 
> > Cc: Michael D Kinney 
> > Cc: Liming Gao 
> > Cc: Ray Ni 
> > ---
> >
> > 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/PciOverride2.h |  37
> > +
> >  MdePkg/Include/Protocol/PciPlatform2.h | 524
> > +
> > +
> > +
> > +
> > +
> > +
> > +
> > +
> > 
> >  MdePkg/MdePkg.dec  |   6 ++
> >  3 files changed, 567 insertions(+)
> >
> > diff --git a/MdePkg/Include/Protocol/PciOverride2.h
> > b/MdePkg/Include/Protocol/PciOverride2.h
> > new file mode 100644
> > index 00..7e878a4f1e
> > --- /dev/null
> > +++ b/MdePkg/Include/Protocol/PciOverride2.h
> > @@ -0,0 +1,37 @@
> > +/** @file
> > +  This file declares EFI PCI Override protocol which provides the
> > +interface between
> > +  the PCI bus driver/PCI Host Bridge Resource Allocation driver and an
> > +implementation's
> > +  driver to describe the unique features of a platform.
> > +  This protocol is optional.
> > +
> > +Copyright (c) 2019, Intel Corporation. All rights reserved.
> > +SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +
> > +**/
> > +
> > +#ifndef _PCI_OVERRIDE2_H_
> > +#define _PCI_OVERRIDE2_H_
> > +
> > +///
> > +/// EFI_PCI_OVERRIDE_PROTOCOL has the same structure with
> > +EFI_PCI_PLATFORM_PROTOCOL /// #include 
> > +
> > +///
> > +/// Global ID for the EFI_PCI_OVERRIDE_PROTOCOL /// #define
> > +EFI_PCI_OVERRIDE2_GUID \
> > +  { \
> > +0xb9d5ea1, 0x66cb, 0x4546, {0xb0, 0xbb, 0x5c, 0x6d, 0xae, 0xd9,
> > +0x42, 0x47} \
> > +  }
> > +
> > +///
> > +/// Declaration for EFI_PCI_OVERRIDE_PROTOCOL /// typedef
> > +EFI_PCI_PLATFORM_PROTOCOL2 EFI_PCI_OVERRIDE_PROTOCOL2;
> > +
> > +
> > +extern EFI_GUID   gEfiPciOverrideProtocol2Guid;
> > +
> > +#endif
> > diff --git a/MdePkg/Include/Protocol/PciPlatform2.h
> > b/MdePkg/Include/Protocol/PciPlatform2.h
> > new file mode 100644
> > index 00..6dcae70d6d
> > --- 

Re: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V4] MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol

2019-10-21 Thread Javeed, Ashraf
Just resending by correcting the edk2-staging branch name in the subject line.
Kindly review and provide your feedback.
Thanks
Ashraf

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Javeed,
> Ashraf
> Sent: Thursday, October 17, 2019 10:24 PM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D ; Gao, Liming
> ; Ni, Ray 
> Subject: [edk2-devel] [edk2-staging/UEFI_PCI_ENHANCE-1 PATCH V4]
> MdePkg/Protocols: New interface, EFI encodings to PCI Plat protocol
> 
> 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 
> Cc: Michael D Kinney 
> Cc: Liming Gao 
> Cc: Ray Ni 
> ---
> 
> 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/PciOverride2.h |  37
> +
>  MdePkg/Include/Protocol/PciPlatform2.h | 524
> +
> +
> +
> +
> +
> +
> +
> +
> 
>  MdePkg/MdePkg.dec  |   6 ++
>  3 files changed, 567 insertions(+)
> 
> diff --git a/MdePkg/Include/Protocol/PciOverride2.h
> b/MdePkg/Include/Protocol/PciOverride2.h
> new file mode 100644
> index 00..7e878a4f1e
> --- /dev/null
> +++ b/MdePkg/Include/Protocol/PciOverride2.h
> @@ -0,0 +1,37 @@
> +/** @file
> +  This file declares EFI PCI Override protocol which provides the
> +interface between
> +  the PCI bus driver/PCI Host Bridge Resource Allocation driver and an
> +implementation's
> +  driver to describe the unique features of a platform.
> +  This protocol is optional.
> +
> +Copyright (c) 2019, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +
> +**/
> +
> +#ifndef _PCI_OVERRIDE2_H_
> +#define _PCI_OVERRIDE2_H_
> +
> +///
> +/// EFI_PCI_OVERRIDE_PROTOCOL has the same structure with
> +EFI_PCI_PLATFORM_PROTOCOL /// #include 
> +
> +///
> +/// Global ID for the EFI_PCI_OVERRIDE_PROTOCOL /// #define
> +EFI_PCI_OVERRIDE2_GUID \
> +  { \
> +0xb9d5ea1, 0x66cb, 0x4546, {0xb0, 0xbb, 0x5c, 0x6d, 0xae, 0xd9,
> +0x42, 0x47} \
> +  }
> +
> +///
> +/// Declaration for EFI_PCI_OVERRIDE_PROTOCOL /// typedef
> +EFI_PCI_PLATFORM_PROTOCOL2 EFI_PCI_OVERRIDE_PROTOCOL2;
> +
> +
> +extern EFI_GUID   gEfiPciOverrideProtocol2Guid;
> +
> +#endif
> diff --git a/MdePkg/Include/Protocol/PciPlatform2.h
> b/MdePkg/Include/Protocol/PciPlatform2.h
> new file mode 100644
> index 00..6dcae70d6d
> --- /dev/null
> +++ b/MdePkg/Include/Protocol/PciPlatform2.h
> @@ -0,0 +1,524 @@
> +/** @file
> +  This file declares PCI Platform Protocol that provide the interface
> +between
> +  the PCI bus driver/PCI Host Bridge Resource Allocation driver and a
> +platform-specific
> +  driver to describe the unique features of a platform.
> +  This protocol is optional.
> +
> +Copyright (c) 2019, Intel Corporation. All rights reserved.
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +
> +**/
> +
> +#ifndef _PCI_PLATFORM2_H_
> +#define _PCI_PLATFORM2_H_
> +
> +///
> +/// This file must be included because the EFI_PCI_PLATFORM_PROTOCOL2
> +uses /// EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE.
> +///
> +#include 
> +
> +///
> +/// This file is included to reuse the existing PCI Platform data
> +structure /// definitions of
> +EFI_PCI_EXECUTION_PHASE,EFI_PCI_PLATFORM_POLICY
> +///
> +#include 
> +
> +///
> +/// Global ID for the EFI_PCI_PLATFORM_PROTOCOL2.
> +///
> +#define EFI_PCI_PLATFORM_PROTOCOL2_GUID \
> +  { \
> +0x787b0367, 0xa945, 0x4d60, {0x8d, 0x34, 0xb9, 0xd1, 0x88, 0xd2,
> +0xd0, 0xb6} \
> +  }
> +
> +///
> +/// As per the present definition and specification of this protocol,
> +the major /// version is 1, and minor version is 1. Any driver
> +utilizing this protocol /// shall use