xref: /openbmc/dbus-sensors/src/nvidia-gpu/NvidiaGpuThresholds.hpp (revision 5e7deccd14dcac790028a6641291cc019c1c4e52)
1*5e7deccdSHarshit Aghera /*
2*5e7deccdSHarshit Aghera  * SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION &
3*5e7deccdSHarshit Aghera  * AFFILIATES. All rights reserved.
4*5e7deccdSHarshit Aghera  * SPDX-License-Identifier: Apache-2.0
5*5e7deccdSHarshit Aghera  */
6*5e7deccdSHarshit Aghera 
7*5e7deccdSHarshit Aghera #pragma once
8*5e7deccdSHarshit Aghera 
9*5e7deccdSHarshit Aghera #include "MctpRequester.hpp"
10*5e7deccdSHarshit Aghera 
11*5e7deccdSHarshit Aghera #include <cstdint>
12*5e7deccdSHarshit Aghera #include <functional>
13*5e7deccdSHarshit Aghera #include <vector>
14*5e7deccdSHarshit Aghera 
15*5e7deccdSHarshit Aghera using gpuThresholdId = uint8_t;
16*5e7deccdSHarshit Aghera 
17*5e7deccdSHarshit Aghera constexpr gpuThresholdId gpuTLimitCriticalThresholdId{1};
18*5e7deccdSHarshit Aghera constexpr gpuThresholdId gpuTLimitWarnringThresholdId{2};
19*5e7deccdSHarshit Aghera constexpr gpuThresholdId gpuTLimitHardshutDownThresholdId{4};
20*5e7deccdSHarshit Aghera 
21*5e7deccdSHarshit Aghera void readThermalParameters(
22*5e7deccdSHarshit Aghera     uint8_t eid, const std::vector<gpuThresholdId>& ids,
23*5e7deccdSHarshit Aghera     mctp::MctpRequester& mctpRequester,
24*5e7deccdSHarshit Aghera     const std::function<void(uint8_t, std::vector<int32_t>)>& callback);
25