1 /* 2 * SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 * SPDX-License-Identifier: Apache-2.0 4 */ 5 6 #pragma once 7 8 #include "NvidiaGpuMctpVdm.hpp" 9 10 #include <optional> 11 #include <string> 12 13 namespace nvidia_sensor_utils 14 { 15 deviceTypeToPhysicalContext(gpu::DeviceIdentification deviceType)16inline std::optional<std::string> deviceTypeToPhysicalContext( 17 gpu::DeviceIdentification deviceType) 18 { 19 switch (deviceType) 20 { 21 case gpu::DeviceIdentification::DEVICE_GPU: 22 return "xyz.openbmc_project.Common.PhysicalContext." 23 "PhysicalContextType.GPU"; 24 25 case gpu::DeviceIdentification::DEVICE_SMA: 26 case gpu::DeviceIdentification::DEVICE_PCIE: 27 default: 28 // TODO: Define appropriate PhysicalContext for SMA and PCIe devices 29 // if needed in the future 30 return std::nullopt; 31 } 32 } 33 34 } // namespace nvidia_sensor_utils 35