1 #ifndef _G_HAL_MGR_NVOC_H_ 2 #define _G_HAL_MGR_NVOC_H_ 3 #include "nvoc/runtime.h" 4 5 #ifdef __cplusplus 6 extern "C" { 7 #endif 8 9 /* 10 * SPDX-FileCopyrightText: Copyright (c) 2019 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 11 * SPDX-License-Identifier: MIT 12 * 13 * Permission is hereby granted, free of charge, to any person obtaining a 14 * copy of this software and associated documentation files (the "Software"), 15 * to deal in the Software without restriction, including without limitation 16 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 17 * and/or sell copies of the Software, and to permit persons to whom the 18 * Software is furnished to do so, subject to the following conditions: 19 * 20 * The above copyright notice and this permission notice shall be included in 21 * all copies or substantial portions of the Software. 22 * 23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 26 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 28 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 29 * DEALINGS IN THE SOFTWARE. 30 */ 31 32 #include "g_hal_mgr_nvoc.h" 33 34 #ifndef _HAL_MGR_H_ 35 #define _HAL_MGR_H_ 36 37 #include "core/core.h" 38 #include "core/info_block.h" 39 #include "core/hal.h" 40 41 #define HALMGR_GET_HAL(p, halid) halmgrGetHal((p), halid) 42 43 typedef struct OBJHALMGR *POBJHALMGR; 44 45 #ifndef __NVOC_CLASS_OBJHALMGR_TYPEDEF__ 46 #define __NVOC_CLASS_OBJHALMGR_TYPEDEF__ 47 typedef struct OBJHALMGR OBJHALMGR; 48 #endif /* __NVOC_CLASS_OBJHALMGR_TYPEDEF__ */ 49 50 #ifndef __nvoc_class_id_OBJHALMGR 51 #define __nvoc_class_id_OBJHALMGR 0xbf26de 52 #endif /* __nvoc_class_id_OBJHALMGR */ 53 54 55 56 #ifdef NVOC_HAL_MGR_H_PRIVATE_ACCESS_ALLOWED 57 #define PRIVATE_FIELD(x) x 58 #else 59 #define PRIVATE_FIELD(x) NVOC_PRIVATE_FIELD(x) 60 #endif 61 struct OBJHALMGR { 62 const struct NVOC_RTTI *__nvoc_rtti; 63 struct Object __nvoc_base_Object; 64 struct Object *__nvoc_pbase_Object; 65 struct OBJHALMGR *__nvoc_pbase_OBJHALMGR; 66 struct OBJHAL *pHalList[69]; 67 }; 68 69 #ifndef __NVOC_CLASS_OBJHALMGR_TYPEDEF__ 70 #define __NVOC_CLASS_OBJHALMGR_TYPEDEF__ 71 typedef struct OBJHALMGR OBJHALMGR; 72 #endif /* __NVOC_CLASS_OBJHALMGR_TYPEDEF__ */ 73 74 #ifndef __nvoc_class_id_OBJHALMGR 75 #define __nvoc_class_id_OBJHALMGR 0xbf26de 76 #endif /* __nvoc_class_id_OBJHALMGR */ 77 78 extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJHALMGR; 79 80 #define __staticCast_OBJHALMGR(pThis) \ 81 ((pThis)->__nvoc_pbase_OBJHALMGR) 82 83 #ifdef __nvoc_hal_mgr_h_disabled 84 #define __dynamicCast_OBJHALMGR(pThis) ((OBJHALMGR*)NULL) 85 #else //__nvoc_hal_mgr_h_disabled 86 #define __dynamicCast_OBJHALMGR(pThis) \ 87 ((OBJHALMGR*)__nvoc_dynamicCast(staticCast((pThis), Dynamic), classInfo(OBJHALMGR))) 88 #endif //__nvoc_hal_mgr_h_disabled 89 90 91 NV_STATUS __nvoc_objCreateDynamic_OBJHALMGR(OBJHALMGR**, Dynamic*, NvU32, va_list); 92 93 NV_STATUS __nvoc_objCreate_OBJHALMGR(OBJHALMGR**, Dynamic*, NvU32); 94 #define __objCreate_OBJHALMGR(ppNewObj, pParent, createFlags) \ 95 __nvoc_objCreate_OBJHALMGR((ppNewObj), staticCast((pParent), Dynamic), (createFlags)) 96 97 NV_STATUS halmgrConstruct_IMPL(struct OBJHALMGR *arg_); 98 99 #define __nvoc_halmgrConstruct(arg_) halmgrConstruct_IMPL(arg_) 100 void halmgrDestruct_IMPL(struct OBJHALMGR *arg0); 101 102 #define __nvoc_halmgrDestruct(arg0) halmgrDestruct_IMPL(arg0) 103 NV_STATUS halmgrCreateHal_IMPL(struct OBJHALMGR *arg0, NvU32 arg1); 104 105 #ifdef __nvoc_hal_mgr_h_disabled 106 static inline NV_STATUS halmgrCreateHal(struct OBJHALMGR *arg0, NvU32 arg1) { 107 NV_ASSERT_FAILED_PRECOMP("OBJHALMGR was disabled!"); 108 return NV_ERR_NOT_SUPPORTED; 109 } 110 #else //__nvoc_hal_mgr_h_disabled 111 #define halmgrCreateHal(arg0, arg1) halmgrCreateHal_IMPL(arg0, arg1) 112 #endif //__nvoc_hal_mgr_h_disabled 113 114 NV_STATUS halmgrGetHalForGpu_IMPL(struct OBJHALMGR *arg0, NvU32 arg1, NvU32 arg2, NvU32 *arg3); 115 116 #ifdef __nvoc_hal_mgr_h_disabled 117 static inline NV_STATUS halmgrGetHalForGpu(struct OBJHALMGR *arg0, NvU32 arg1, NvU32 arg2, NvU32 *arg3) { 118 NV_ASSERT_FAILED_PRECOMP("OBJHALMGR was disabled!"); 119 return NV_ERR_NOT_SUPPORTED; 120 } 121 #else //__nvoc_hal_mgr_h_disabled 122 #define halmgrGetHalForGpu(arg0, arg1, arg2, arg3) halmgrGetHalForGpu_IMPL(arg0, arg1, arg2, arg3) 123 #endif //__nvoc_hal_mgr_h_disabled 124 125 struct OBJHAL *halmgrGetHal_IMPL(struct OBJHALMGR *arg0, NvU32 arg1); 126 127 #ifdef __nvoc_hal_mgr_h_disabled 128 static inline struct OBJHAL *halmgrGetHal(struct OBJHALMGR *arg0, NvU32 arg1) { 129 NV_ASSERT_FAILED_PRECOMP("OBJHALMGR was disabled!"); 130 return NULL; 131 } 132 #else //__nvoc_hal_mgr_h_disabled 133 #define halmgrGetHal(arg0, arg1) halmgrGetHal_IMPL(arg0, arg1) 134 #endif //__nvoc_hal_mgr_h_disabled 135 136 #undef PRIVATE_FIELD 137 138 139 #endif 140 141 #ifdef __cplusplus 142 } // extern "C" 143 #endif 144 145 #endif // _G_HAL_MGR_NVOC_H_ 146