Skip to content

Commit

Permalink
MdePkg: New PCI Express Platform/Override Protocols
Browse files Browse the repository at this point in the history
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.
Following PCI Express features are supported to override by platform
through the new protocols:
1.	Maximum Payload Size (MPS)
2.	Maximum Read Request Size (MRRS)
3.	Extended Tag
4.	Relaxed Ordering
5.	No Snoop
6.	ASPM
7.	Common Clock Configuration
8.	Extended SYNC
9.	Atomic Op
10.	LTR
11.	PTM
12.	Completion Time Out
13.	Clock Power Management
14.	L1 PM Substates

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>
  • Loading branch information
ashrafj authored and niruiyu committed Mar 5, 2020
1 parent 823d924 commit 52524e9
Show file tree
Hide file tree
Showing 3 changed files with 600 additions and 0 deletions.
37 changes: 37 additions & 0 deletions MdePkg/Include/Protocol/PciExpressOverride.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/** @file
This file declares EFI PCI Express 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.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef _PCI_EXPRESS_OVERRIDE_H_
#define _PCI_EXPRESS_OVERRIDE_H_

///
/// EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL has the same structure as of EFI_PCI_EXPRESS_PLATFORM_PROTOCOL
///
#include "PciExpressPlatform.h"

///
/// Global ID for the EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL
///
#define EFI_PCI_EXPRESS_OVERRIDE_GUID \
{ \
0xb9d5ea1, 0x66cb, 0x4546, {0xb0, 0xbb, 0x5c, 0x6d, 0xae, 0xd9, 0x42, 0x47} \
}

///
/// Declaration for EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL
///
typedef EFI_PCI_EXPRESS_PLATFORM_PROTOCOL EFI_PCI_EXPRESS_OVERRIDE_PROTOCOL;


extern EFI_GUID gEfiPciExpressOverrideProtocolGuid;

#endif

0 comments on commit 52524e9

Please sign in to comment.