1 /*
2 * SPDX-FileCopyrightText: Copyright (c) 2020-2020 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3 * SPDX-License-Identifier: MIT
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
22 */
23
24 /**
25 * @file
26 * @brief CPU module function implementations which are shared across platforms
27 *
28 */
29
30 #include "nvport/nvport.h"
31 #include "cpu_common.h"
32
33 void
portCpuInitialize(void)34 portCpuInitialize(void)
35 {
36 PORT_CPU_SET_IMC_BAR_DESC_INIT_STATE(NV_FALSE);
37 }
38
39 void
portCpuShutdown(void)40 portCpuShutdown(void)
41 {
42 //
43 // Not returning status to the caller since that seems like a norm in nvort
44 // for init and shutdown functions
45 //
46 if (PORT_CPU_GET_IMC_BAR_DESC_INIT_STATE() == NV_TRUE)
47 {
48 //
49 // If PORT_CPU_GET_IMC_BAR_DESC_INIT_STATE is true then
50 // portCpuExFreeImcBarDesc will be supported. Adding following check
51 // to avoid compile time issues
52 //
53 #if PORT_IS_FUNC_SUPPORTED(portCpuExFreeImcBarDesc)
54 if (portCpuExFreeImcBarDesc(PORT_CPU_GET_IMC_BAR_DESC()) != NV_OK)
55 {
56 PORT_BREAKPOINT_DEBUG();
57 }
58 #endif
59 }
60 PORT_CPU_SET_IMC_BAR_DESC_INIT_STATE(NV_FALSE);
61 }
62