xref: /openbmc/dbus-sensors/src/nvidia-gpu/NvidiaSensorUtils.hpp (revision 4c0a0b452cfd9afe56cf3ac1bfa824dfba9ca166)
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)16 inline 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