Hi Khasim,
Thank you for splitting the patches.
For this series,
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Regards,
Sami Mujawar
From:
Khasim Mohammed <Khasim.Mohammed@arm.com>
Date: Monday, 24 January 2022 at 15:56
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: nd <nd@arm.com>, Sami Mujawar <Sami.Mujawar@arm.com>, Pierre Gondois <Pierre.Gondois@arm.com>, Khasim Mohammed <Khasim.Mohammed@arm.com>
Subject: [PATCH v7 0/6] Enable CCIX port as PCIe root host on N1SDP
The patch series removes PciExpressLib and enables CCIX port
as PCIe root on N1SDP.
V7:
- Spit the patches to separate Platform and Silicon specific files
V6:
- Sort PCDs in alphabetical order
- Replace ASSERT calls with a if condition to capture the failure
V5:
- Split the CCIX patch, separate PCD updates and CCIX root port enablement.
- Use GET_SEG_ macro for segment detection and update logic accordingly.
V4:
- Remove PciExpressLib and use PciSegmentLib instead. More detailed explanation
is included in the patch.
V3:
- The conditional logic in GetPciExpressAddress is made simple.
- Removed few more PCD entries that were unused.
- Removed hardcoded entries.
V2:
- Removed few PCDs entries that were not used.
- Migrated to latest version edk2-platform and validated the patches.
V1:
- The PciExpressLib is updated to validate the PCIe addresses
and introducing corresponding PCD entries.
- A custom PCI Segment library is adapted from SynQuacerPciSegmentLib
and ported for N1Sdp.
- The root complex node info in PciHostBridge library is updated to
include the CCIX port information.
The changes can be seen at:
https://github.com/khasim/edk2-platforms-n1sdp/tree/n1sdp-ccix-root
Khasim Syed Mohammed (6):
Silicon/ARM/NeoverseN1Soc: Port PCI Segment Library
Silicon/ARM/NeoverseN1Soc: Update PCDs to support multiple PCI root
ports
Platform/ARM/N1Sdp: Update PCDs to support multiple PCI root ports
Silicon/ARM/NeoverseN1Soc: Add CCIX root complex support
Silicon/ARM/NeoverseN1Soc: Remove PciExpressLib use PciSegmentLib
instead
Platform/ARM/N1Sdp: Remove PciExpressLib use PciSegmentLib instead
.../AslTables/SsdtPci.asl | 8 +-
.../AslTables/SsdtRemotePci.asl | 4 +-
.../ConfigurationManager.c | 24 +-
.../ConfigurationManagerDxe.inf | 18 +-
Platform/ARM/N1Sdp/N1SdpPlatform.dec | 8 -
Platform/ARM/N1Sdp/N1SdpPlatform.dsc | 5 +-
.../PciExpressLib.c | 1589 ----------------
.../PciExpressLib.inf | 56 -
.../PciHostBridgeLib/PciHostBridgeLib.c | 71 +-
.../PciHostBridgeLib/PciHostBridgeLib.inf | 11 +-
.../Library/PciSegmentLib/PciSegmentLib.c | 1622 +++++++++++++++++
.../Library/PciSegmentLib/PciSegmentLib.inf | 38 +
.../Library/PlatformLib/PlatformLib.inf | 1 +
.../Library/PlatformLib/PlatformLibMem.c | 4 +-
Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec | 64 +-
15 files changed, 1808 insertions(+), 1715 deletions(-)
delete mode 100644 Silicon/ARM/NeoverseN1Soc/Library/NeoverseN1SocPciExpressLib/PciExpressLib.c
delete mode 100644 Silicon/ARM/NeoverseN1Soc/Library/NeoverseN1SocPciExpressLib/PciExpressLib.inf
create mode 100644 Silicon/ARM/NeoverseN1Soc/Library/PciSegmentLib/PciSegmentLib.c
create mode 100644 Silicon/ARM/NeoverseN1Soc/Library/PciSegmentLib/PciSegmentLib.inf
--
2.17.1