| #
e0b80e1e
|
| 28-Aug-2025 |
Harshit Aghera <haghera@nvidia.com> |
nvidia-gpu: add support for ConnectX device
Add support to discover ConnectX devices and to populate PCIe interface properties using Phosphor DBus Interface xyz.openbmc_project.Inventory.Item.PCIeDe
nvidia-gpu: add support for ConnectX device
Add support to discover ConnectX devices and to populate PCIe interface properties using Phosphor DBus Interface xyz.openbmc_project.Inventory.Item.PCIeDevice.
ConnectX device has an integrated PCIe Switch. The patch uses xyz.openbmc_project.Inventory.Item.PCIeSwitch PDI to define the PCIe Switch resource.
Tested: Build an image for nvl32-obmc machine with the following patch cherry picked.
https://gerrit.openbmc.org/c/openbmc/openbmc/+/85490
The patch cherry-picks the following patches that are currently under review.
``` 1. device tree https://lore.kernel.org/all/aRbLqH8pLWCQryhu@molberding.nvidia.com/ 2. mctpd patches https://github.com/CodeConstruct/mctp/pull/85 3. u-boot changes https://lore.kernel.org/openbmc/20251121-msx4-v1-0-fc0118b666c1@nvidia.com/T/#t 4. kernel changes as specified in the openbmc patch (for espi) 5. entity-manager changes https://gerrit.openbmc.org/c/openbmc/entity-manager/+/85455 6. platform-init changes https://gerrit.openbmc.org/c/openbmc/platform-init/+/85456 7. spi changes https://lore.kernel.org/all/20251121-w25q01jv_fixup-v1-1-3d175050db73@nvidia.com/ ```
``` root@nvl32-bmc:~# busctl tree xyz.openbmc_project.GpuSensor `- /xyz `- /xyz/openbmc_project |- /xyz/openbmc_project/inventory | `- /xyz/openbmc_project/inventory/pcie_devices | |- /xyz/openbmc_project/inventory/pcie_devices/Nvidia_ConnectX_0 | |- /xyz/openbmc_project/inventory/pcie_devices/Nvidia_ConnectX_1 | |- /xyz/openbmc_project/inventory/pcie_devices/Nvidia_ConnectX_2 | `- /xyz/openbmc_project/inventory/pcie_devices/Nvidia_ConnectX_3
root@nvl32-obmc:~# busctl introspect xyz.openbmc_project.GpuSensor /xyz/openbmc_project/inventory/pcie_devices/Nvidia_ConnectX_0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Item.PCIeDevice interface - - - .GenerationInUse property s "xyz.openbmc_project.Inventory.Item.P... emits-change .GenerationSupported property s "xyz.openbmc_project.Inventory.Item.P... emits-change .LanesInUse property u 8 emits-change .MaxLanes property u 16 emits-change xyz.openbmc_project.Inventory.Item.PCIeSwitch interface - - -
$ curl -s -k -u 'root:0penBmc' https://${bmc_ip}/redfish/v1/Systems/system/PCIeDevices/Nvidia_ConnectX_0 { "@odata.id": "/redfish/v1/Systems/system/PCIeDevices/Nvidia_ConnectX_0", "@odata.type": "#PCIeDevice.v1_19_0.PCIeDevice", "Id": "Nvidia_ConnectX_0", "Name": "PCIe Device", "PCIeFunctions": { "@odata.id": "/redfish/v1/Systems/system/PCIeDevices/Nvidia_ConnectX_0/PCIeFunctions" }, "PCIeInterface": { "LanesInUse": 8, "MaxLanes": 16, "MaxPCIeType": "Gen5", "PCIeType": "Gen5" }, "Status": { "Health": "OK", "State": "Enabled" } }% ```
Change-Id: Id89ce8a298ebb16934e94efcb9ca4679f91a7b26 Signed-off-by: Harshit Aghera <haghera@nvidia.com>
show more ...
|