aboutsummaryrefslogtreecommitdiffstats
path: root/include/ctrl
diff options
context:
space:
mode:
Diffstat (limited to 'include/ctrl')
-rw-r--r--include/ctrl/ctrlboardobj.h89
-rw-r--r--include/ctrl/ctrlclk.h212
-rw-r--r--include/ctrl/ctrlclkavfs.h112
-rw-r--r--include/ctrl/ctrlperf.h103
-rw-r--r--include/ctrl/ctrlpmgr.h98
-rw-r--r--include/ctrl/ctrltherm.h33
-rw-r--r--include/ctrl/ctrlvolt.h143
7 files changed, 0 insertions, 790 deletions
diff --git a/include/ctrl/ctrlboardobj.h b/include/ctrl/ctrlboardobj.h
deleted file mode 100644
index 8f57e88..0000000
--- a/include/ctrl/ctrlboardobj.h
+++ /dev/null
@@ -1,89 +0,0 @@
1/*
2 * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23#ifndef NVGPU_CTRLBOARDOBJ_H
24#define NVGPU_CTRLBOARDOBJ_H
25
26struct ctrl_boardobj {
27 u8 type;
28};
29
30#define CTRL_BOARDOBJGRP_TYPE_INVALID 0x00U
31#define CTRL_BOARDOBJGRP_TYPE_E32 0x01U
32#define CTRL_BOARDOBJGRP_TYPE_E255 0x02U
33
34#define CTRL_BOARDOBJGRP_E32_MAX_OBJECTS 32U
35
36#define CTRL_BOARDOBJGRP_E255_MAX_OBJECTS 255U
37
38#define CTRL_BOARDOBJ_MAX_BOARD_OBJECTS \
39 CTRL_BOARDOBJGRP_E32_MAX_OBJECTS
40
41#define CTRL_BOARDOBJ_IDX_INVALID 255U
42
43#define CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_BIT_SIZE 32U
44
45#define CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX(_bit) \
46 ((_bit) / CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_BIT_SIZE)
47
48#define CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_OFFSET(_bit) \
49 ((_bit) % CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_BIT_SIZE)
50
51#define CTRL_BOARDOBJGRP_MASK_DATA_SIZE(_bits) \
52 (CTRL_BOARDOBJGRP_MASK_MASK_ELEMENT_INDEX((_bits) - 1U) + 1U)
53
54
55#define CTRL_BOARDOBJGRP_MASK_ARRAY_START_SIZE 1U
56#define CTRL_BOARDOBJGRP_MASK_ARRAY_EXTENSION_SIZE(_bits) \
57 (CTRL_BOARDOBJGRP_MASK_DATA_SIZE(_bits) - \
58 CTRL_BOARDOBJGRP_MASK_ARRAY_START_SIZE)
59
60struct ctrl_boardobjgrp_mask {
61 u32 data[1];
62};
63
64struct ctrl_boardobjgrp_mask_e32 {
65 struct ctrl_boardobjgrp_mask super;
66};
67
68struct ctrl_boardobjgrp_mask_e255 {
69 struct ctrl_boardobjgrp_mask super;
70 u32 data_e255[7];
71};
72
73struct ctrl_boardobjgrp_super {
74 struct ctrl_boardobjgrp_mask obj_mask;
75};
76
77struct ctrl_boardobjgrp_e32 {
78 struct ctrl_boardobjgrp_mask_e32 obj_mask;
79};
80
81struct CTRL_boardobjgrp_e255 {
82 struct ctrl_boardobjgrp_mask_e255 obj_mask;
83};
84
85struct ctrl_boardobjgrp {
86 u32 obj_mask;
87};
88
89#endif /* NVGPU_CTRLBOARDOBJ_H */
diff --git a/include/ctrl/ctrlclk.h b/include/ctrl/ctrlclk.h
deleted file mode 100644
index fbd5677..0000000
--- a/include/ctrl/ctrlclk.h
+++ /dev/null
@@ -1,212 +0,0 @@
1/*
2 * general p state infrastructure
3 *
4 * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in
14 * all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24#ifndef NVGPU_CTRLCLK_H
25#define NVGPU_CTRLCLK_H
26
27#include "ctrlboardobj.h"
28#include "ctrlclkavfs.h"
29#include "ctrlvolt.h"
30
31#define CTRL_CLK_CLK_DELTA_MAX_VOLT_RAILS 4
32
33/* valid clock domain values */
34#define CTRL_CLK_DOMAIN_MCLK (0x00000010)
35#define CTRL_CLK_DOMAIN_HOSTCLK (0x00000020)
36#define CTRL_CLK_DOMAIN_DISPCLK (0x00000040)
37#define CTRL_CLK_DOMAIN_GPC2CLK (0x00010000)
38#define CTRL_CLK_DOMAIN_XBAR2CLK (0x00040000)
39#define CTRL_CLK_DOMAIN_SYS2CLK (0x00800000)
40#define CTRL_CLK_DOMAIN_HUB2CLK (0x01000000)
41#define CTRL_CLK_DOMAIN_PWRCLK (0x00080000)
42#define CTRL_CLK_DOMAIN_NVDCLK (0x00100000)
43#define CTRL_CLK_DOMAIN_PCIEGENCLK (0x00200000)
44
45#define CTRL_CLK_DOMAIN_GPCCLK (0x00000001)
46#define CTRL_CLK_DOMAIN_XBARCLK (0x00000002)
47#define CTRL_CLK_DOMAIN_SYSCLK (0x00000004)
48#define CTRL_CLK_DOMAIN_HUBCLK (0x00000008)
49
50#define CTRL_CLK_CLK_DOMAIN_TYPE_3X 0x01
51#define CTRL_CLK_CLK_DOMAIN_TYPE_3X_FIXED 0x02
52#define CTRL_CLK_CLK_DOMAIN_TYPE_3X_PROG 0x03
53#define CTRL_CLK_CLK_DOMAIN_TYPE_3X_MASTER 0x04
54#define CTRL_CLK_CLK_DOMAIN_TYPE_3X_SLAVE 0x05
55#define CTRL_CLK_CLK_DOMAIN_TYPE_30_PROG 0x06
56#define CTRL_CLK_CLK_DOMAIN_TYPE_35_MASTER 0x07
57#define CTRL_CLK_CLK_DOMAIN_TYPE_35_SLAVE 0x08
58#define CTRL_CLK_CLK_DOMAIN_TYPE_35_PROG 0x09
59
60#define CTRL_CLK_CLK_DOMAIN_3X_PROG_ORDERING_INDEX_INVALID 0xFF
61#define CTRL_CLK_CLK_DOMAIN_INDEX_INVALID 0xFF
62
63#define CTRL_CLK_CLK_PROG_TYPE_1X 0x01
64#define CTRL_CLK_CLK_PROG_TYPE_1X_MASTER 0x02
65#define CTRL_CLK_CLK_PROG_TYPE_1X_MASTER_RATIO 0x03
66#define CTRL_CLK_CLK_PROG_TYPE_1X_MASTER_TABLE 0x04
67#define CTRL_CLK_CLK_PROG_TYPE_UNKNOWN 255
68
69/*!
70 * Enumeration of CLK_PROG source types.
71 */
72#define CTRL_CLK_PROG_1X_SOURCE_PLL 0x00
73#define CTRL_CLK_PROG_1X_SOURCE_ONE_SOURCE 0x01
74#define CTRL_CLK_PROG_1X_SOURCE_FLL 0x02
75#define CTRL_CLK_PROG_1X_SOURCE_INVALID 255
76
77#define CTRL_CLK_CLK_PROG_1X_MASTER_VF_ENTRY_MAX_ENTRIES 4
78#define CTRL_CLK_PROG_1X_MASTER_MAX_SLAVE_ENTRIES 6
79
80#define CTRL_CLK_CLK_VF_POINT_IDX_INVALID 255
81
82#define CTRL_CLK_CLK_VF_POINT_TYPE_FREQ 0x01
83#define CTRL_CLK_CLK_VF_POINT_TYPE_VOLT 0x02
84#define CTRL_CLK_CLK_VF_POINT_TYPE_UNKNOWN 255
85
86struct ctrl_clk_clk_prog_1x_master_source_fll {
87 u32 base_vfsmooth_volt_uv;
88 u32 max_vf_ramprate;
89 u32 max_freq_stepsize_mhz;
90};
91
92union ctrl_clk_clk_prog_1x_master_source_data {
93 struct ctrl_clk_clk_prog_1x_master_source_fll fll;
94};
95
96struct ctrl_clk_clk_vf_point_info_freq {
97 u16 freq_mhz;
98};
99
100struct ctrl_clk_clk_vf_point_info_volt {
101 u32 sourceVoltageuV;
102 u8 vfGainVfeEquIdx;
103 u8 clkDomainIdx;
104};
105
106struct ctrl_clk_clk_prog_1x_master_vf_entry {
107 u8 vfe_idx;
108 u8 gain_vfe_idx;
109 u8 vf_point_idx_first;
110 u8 vf_point_idx_last;
111};
112
113struct ctrl_clk_clk_prog_1x_master_ratio_slave_entry {
114 u8 clk_dom_idx;
115 u8 ratio;
116};
117
118struct ctrl_clk_clk_prog_1x_master_table_slave_entry {
119 u8 clk_dom_idx;
120 u16 freq_mhz;
121};
122
123struct ctrl_clk_clk_prog_1x_source_pll {
124 u8 pll_idx;