As I understand the Mac Pro 6,1, the TB ports are TB 2. But, looking at the pci-bridge capabilities and negotiated speeds:
1) The MP PLX PCIe switch (UFS0) is showing capabilities = 4 lanes x 8 Gbps = 32 Gbps and negotiated speed of 4 lanes x 5 Gbps = 20 Gbps;
Here is the registry for the MP PLX PCIe switch:
The MP PLX has its Upstream at BR00 and its Downstream (indicated by the 6 in IOPCIExpressCapabilities 0x162) at BR10 which connects to upstream of the Falcon Ridge.
For PCIe bridges, there is usually always an upstream bridge device and one or more downstream bridge devices because the upstream can have a different link width and link rate than each of the downstream devices and each downstream device can have a different link width and link rate from each other.
A root port is an exception. It's like a downstream bridge where the upstream is not a PCIe device - it's a platform device (ACPI on Intel Macs). The platform device belongs to the CPU or chipset.
The second 4 least significant bits of the IOPCIExpressCapabilities tells what type of PCIe device it is:
Code:
0 PCI Express Endpoint
1 Legacy PCI Express Endpoint
4 Root Port of PCI Express Root Complex
5 Upstream Port of PCI Express Switch
6 Downstream Port of PCI Express Switch
7 PCI Express to PCI/PCI-X Bridge
8 PCI/PCI-X to PCI Express Bridge
9 Root Complex Integrated Endpoint
10 Root Complex Event Collector
You can use my script ParseIORegPCILinkStatus.sh to parse the
ioreg -fliw0
PCIe capabilities and status in the output.
You can try my fork of pciutils to list pci devices.
lspci -nnvvv
It includes all the PCI info.
My pcitree.sh script will show the PCI hierarchy with the PCI link rate and link width and the PCI name and class info.
https://forums.macrumors.com/threads/allocating-pci-pools.2246466/post-28703877
2) The MP Falcon Ridge TB2 bridge is showing capabilities = negotiated speed = 4 lanes x 2.5 Gbps = 10 Gbps;
Here is the registry for the MP Thunderbolt 2 "Falcon Ridge" bridge:
DSB1 is the downstream of the Falcon Ridge which connects to the upstream of the Goshen Ridge.
UFS0 is the upstream of the Falcon Ridge which connects to the PLX.
DSB0 is the downstream of the Falcon Ridge for its NHI. Under the NHI is the list of Thunderbolt adapters. PCI down adapters are for downstream PCI connections tunnelled over Thunderbolt. DP In Adapters are DisplayPort inputs from the GPU.
If downstream-to-device link is not real PCIe, then the negotiated PCIe link rate and link speed are meaningless.
Examples:
#1) Downstream of a Thunderbolt controller to its NHI controller (or USB4 controller in the case of Thunderbolt 4). The connection is internal to the Thunderbolt controller so PCIe link rate and link width can be ignored.
#2) Downstream of a Thunderbolt 3 or Thunderbolt 4 controller to its USB 3 controller.
#3) Downstream of Thunderbolt controller to upstream of next Thunderbolt controller. In that case, the link is PCIe tunnelled over Thunderbolt.
#4) Upstream of integrated Thunderbolt 3/4 controller. It's internal to the CPU (Ice Lake, Tiger Lake, Apple Silicon) so it's not real PCIe.
DSB1 is a case of #3 so its PCIe link rate can be ignored.
The only PCIe links that are real are those that connect to real PCIe device (the NVMe in your SSD).
3) The OWC TB4 hub Goshen Ridge controller is showing capabilities = negotiated speed = 4 lanes x 2.5 Gbps = 10 Gbps;
and here is the registry for the OWC hub TB4 "Goshen Ridge" bridge:
pci-bridge@1 is the downstream of the Goshen Ridge which connects to the upstream of the Thunderbolt controller of the SSD. This is another case of #3 so ignore its PCIe link rate.
pci-bridge@0 is the downstream of the Goshen Ridge that connects to its USB controller. This is a case of #2. Ignore its PCIe link rate.
UPS0@0 is the upstream of Goshen Ridge that connects to the downstream (DSB1) of Falcon Ridge. This is a case of #3. Ignore its PCIe link rate.
4) The SSD enclosure TB3 Titan Ridge controller is showing capabilities = 4 lanes x 8 Gbps = 32 Gbps and negotiated speed of 4 lanes x 2.5 Gbps = 10 Gbps.
I don't know what upstream or downstream you selected for that reading. If that's the downstream bridge connected to the NVMe then it means the NVMe did not negotiate a 8 GT/s x4 link correctly but you showed in a previous post that the NVMe was at 8 GT/s.
Falcon Ridge is a TB2 technology with 20 Gbps capability. So, it appears the Falcon Ridge TB2 bridge has not been configured for 20 Gbps for some reason? Driver issue?
Driver issue. Both in the EFI and the macOS. Either one could maybe fix the problem.
I did some testing with my iMac14,2. It's only Thunderbolt 1 so I can't test for 20 Gbps links. I connected a CalDigit Element Hub (Thunderbolt 4 hub). It's PCI devices are enumerated when I reboot though it doesn't appear as a Thunderbolt device in System Information.app just like in your testing. pcitree.sh shows Goshen Ridge has one downstream real PCIe capable link of 8 GT/s x1. A CalDigit Thunderbolt 4 Dock uses that for a 2.5 GbE PCIe controller which some people prefer over a USB 2.5 GbE adapter. Every other link is a fake 2.5 GT/s x4. The iMac's Thunderbolt 1 controller is Cactus Ridge with its upstream having status and capabilities of 5 GT/s x4. I tried connecting some displays to the CalDigit Element Hub but nothing happened since the iMac doesn't know about the DisplayPort Down Adapters of the Goshen Ridge. The USB controller of the Goshen Ridge works - I can get 850/734 MB/s read/write. Thunderbolt 2 would allow up to 1060 MB/s probably.