public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Javeed, Ashraf" <ashraf.javeed@intel.com>
To: devel@edk2.groups.io
Cc: Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <liming.gao@intel.com>, Ray Ni <ray.ni@intel.com>
Subject: [edk2-staging/UEFI_PCI_ENHANCE-2 PATCH V8] MdePkg/Protocols: New PCI Express Platform Protocol, EFI encodings
Date: Fri, 10 Jan 2020 09:24:16 +0530	[thread overview]
Message-ID: <20200110035416.19584-1-ashraf.javeed@intel.com> (raw)

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


                 reply	other threads:[~2020-01-10  3:54 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200110035416.19584-1-ashraf.javeed@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox