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