diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-09-13 13:53:14 -0400 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:56:50 -0500 |
commit | 4a94ce451b0352ce67e11a2971bbbd75c2e58df1 (patch) | |
tree | 4d40b83239cce2408a79e7d13d0bd0b9ace20f7a /drivers/gpu/nvgpu/gp106/hw_therm_gp106.h | |
parent | c527b36daa2019bbf1ba2a3c9b9474d8c7316ff0 (diff) |
gpu: nvgpu: Move ELCG programming to therm
Implement gp10b and gp106 ELCG programming.
JIRA DNVGPU-74
Change-Id: Ic0349b948a2870e0d39e95ddd2f49231e7b4cbe0
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1220431
(cherry picked from commit d6bc48647982babdf642ea6004d4208c5daa243f)
Reviewed-on: http://git-master/r/1239422
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/gp106/hw_therm_gp106.h')
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hw_therm_gp106.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/hw_therm_gp106.h b/drivers/gpu/nvgpu/gp106/hw_therm_gp106.h index ecc50980..36ffcc7a 100644 --- a/drivers/gpu/nvgpu/gp106/hw_therm_gp106.h +++ b/drivers/gpu/nvgpu/gp106/hw_therm_gp106.h | |||
@@ -94,4 +94,84 @@ static inline u32 therm_temp_sensor_tsense_state_shadow_v(void) | |||
94 | { | 94 | { |
95 | return 0x00000002; | 95 | return 0x00000002; |
96 | } | 96 | } |
97 | static inline u32 therm_gate_ctrl_r(u32 i) | ||
98 | { | ||
99 | return 0x00020200 + i*4; | ||
100 | } | ||
101 | static inline u32 therm_gate_ctrl_eng_clk_m(void) | ||
102 | { | ||
103 | return 0x3 << 0; | ||
104 | } | ||
105 | static inline u32 therm_gate_ctrl_eng_clk_run_f(void) | ||
106 | { | ||
107 | return 0x0; | ||
108 | } | ||
109 | static inline u32 therm_gate_ctrl_eng_clk_auto_f(void) | ||
110 | { | ||
111 | return 0x1; | ||
112 | } | ||
113 | static inline u32 therm_gate_ctrl_eng_clk_stop_f(void) | ||
114 | { | ||
115 | return 0x2; | ||
116 | } | ||
117 | static inline u32 therm_gate_ctrl_blk_clk_m(void) | ||
118 | { | ||
119 | return 0x3 << 2; | ||
120 | } | ||
121 | static inline u32 therm_gate_ctrl_blk_clk_run_f(void) | ||
122 | { | ||
123 | return 0x0; | ||
124 | } | ||
125 | static inline u32 therm_gate_ctrl_blk_clk_auto_f(void) | ||
126 | { | ||
127 | return 0x4; | ||
128 | } | ||
129 | static inline u32 therm_gate_ctrl_eng_idle_filt_exp_f(u32 v) | ||
130 | { | ||
131 | return (v & 0x1f) << 8; | ||
132 | } | ||
133 | static inline u32 therm_gate_ctrl_eng_idle_filt_exp_m(void) | ||
134 | { | ||
135 | return 0x1f << 8; | ||
136 | } | ||
137 | static inline u32 therm_gate_ctrl_eng_idle_filt_mant_f(u32 v) | ||
138 | { | ||
139 | return (v & 0x7) << 13; | ||
140 | } | ||
141 | static inline u32 therm_gate_ctrl_eng_idle_filt_mant_m(void) | ||
142 | { | ||
143 | return 0x7 << 13; | ||
144 | } | ||
145 | static inline u32 therm_gate_ctrl_eng_delay_before_f(u32 v) | ||
146 | { | ||
147 | return (v & 0xf) << 16; | ||
148 | } | ||
149 | static inline u32 therm_gate_ctrl_eng_delay_before_m(void) | ||
150 | { | ||
151 | return 0xf << 16; | ||
152 | } | ||
153 | static inline u32 therm_gate_ctrl_eng_delay_after_f(u32 v) | ||
154 | { | ||
155 | return (v & 0xf) << 20; | ||
156 | } | ||
157 | static inline u32 therm_gate_ctrl_eng_delay_after_m(void) | ||
158 | { | ||
159 | return 0xf << 20; | ||
160 | } | ||
161 | static inline u32 therm_fecs_idle_filter_r(void) | ||
162 | { | ||
163 | return 0x00020288; | ||
164 | } | ||
165 | static inline u32 therm_fecs_idle_filter_value_m(void) | ||
166 | { | ||
167 | return 0xffffffff << 0; | ||
168 | } | ||
169 | static inline u32 therm_hubmmu_idle_filter_r(void) | ||
170 | { | ||
171 | return 0x0002028c; | ||
172 | } | ||
173 | static inline u32 therm_hubmmu_idle_filter_value_m(void) | ||
174 | { | ||
175 | return 0xffffffff << 0; | ||
176 | } | ||
97 | #endif | 177 | #endif |