xref: /openbmc/dbus-sensors/src/nvidia-gpu/NvidiaSensorUtils.hpp (revision 53185f4c452f38b313b2413c31bab7aeafba19cb)
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.Accelerator";
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