[edk2-devel] [PATCH v6 0/4] Enable CCIX port as PCIe root host on N1SDP

Khasim Mohammed posted 4 patches 2 years, 3 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
.../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
[edk2-devel] [PATCH v6 0/4] Enable CCIX port as PCIe root host on N1SDP
Posted by Khasim Mohammed 2 years, 3 months ago
The patch series removes PciExpressLib and enables CCIX port
as PCIe root on N1SDP.

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 (4):
  Silicon/ARM/NeoverseN1Soc: Port PCI Segment Library
  Silicon/ARM/NeoverseN1Soc: Update PCDs to support multiple PCI root
    ports
  Silicon/ARM/NeoverseN1Soc: Add CCIX root complex support
  Silicon/ARM/NeoverseN1Soc: 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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85965): https://edk2.groups.io/g/devel/message/85965
Mute This Topic: https://groups.io/mt/88606289/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH v6 0/4] Enable CCIX port as PCIe root host on N1SDP
Posted by Sami Mujawar 2 years, 3 months ago
Hi Khasim,

Thank you for the updated patch series.

These changes look good to me.

For this series,

Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

Regards,

Sami Mujawar


On 22/01/2022 03:26 PM, Khasim Syed Mohammed wrote:
> The patch series removes PciExpressLib and enables CCIX port
> as PCIe root on N1SDP.
>
> 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 (4):
>    Silicon/ARM/NeoverseN1Soc: Port PCI Segment Library
>    Silicon/ARM/NeoverseN1Soc: Update PCDs to support multiple PCI root
>      ports
>    Silicon/ARM/NeoverseN1Soc: Add CCIX root complex support
>    Silicon/ARM/NeoverseN1Soc: 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
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#86015): https://edk2.groups.io/g/devel/message/86015
Mute This Topic: https://groups.io/mt/88606289/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-