summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106/hw_therm_gp106.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2016-09-13 13:53:14 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:50 -0500
commit4a94ce451b0352ce67e11a2971bbbd75c2e58df1 (patch)
tree4d40b83239cce2408a79e7d13d0bd0b9ace20f7a /drivers/gpu/nvgpu/gp106/hw_therm_gp106.h
parentc527b36daa2019bbf1ba2a3c9b9474d8c7316ff0 (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.h80
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}
97static inline u32 therm_gate_ctrl_r(u32 i)
98{
99 return 0x00020200 + i*4;
100}
101static inline u32 therm_gate_ctrl_eng_clk_m(void)
102{
103 return 0x3 << 0;
104}
105static inline u32 therm_gate_ctrl_eng_clk_run_f(void)
106{
107 return 0x0;
108}
109static inline u32 therm_gate_ctrl_eng_clk_auto_f(void)
110{
111 return 0x1;
112}
113static inline u32 therm_gate_ctrl_eng_clk_stop_f(void)
114{
115 return 0x2;
116}
117static inline u32 therm_gate_ctrl_blk_clk_m(void)
118{
119 return 0x3 << 2;
120}
121static inline u32 therm_gate_ctrl_blk_clk_run_f(void)
122{
123 return 0x0;
124}
125static inline u32 therm_gate_ctrl_blk_clk_auto_f(void)
126{
127 return 0x4;
128}
129static inline u32 therm_gate_ctrl_eng_idle_filt_exp_f(u32 v)
130{
131 return (v & 0x1f) << 8;
132}
133static inline u32 therm_gate_ctrl_eng_idle_filt_exp_m(void)
134{
135 return 0x1f << 8;
136}
137static inline u32 therm_gate_ctrl_eng_idle_filt_mant_f(u32 v)
138{
139 return (v & 0x7) << 13;
140}
141static inline u32 therm_gate_ctrl_eng_idle_filt_mant_m(void)
142{
143 return 0x7 << 13;
144}
145static inline u32 therm_gate_ctrl_eng_delay_before_f(u32 v)
146{
147 return (v & 0xf) << 16;
148}
149static inline u32 therm_gate_ctrl_eng_delay_before_m(void)
150{
151 return 0xf << 16;
152}
153static inline u32 therm_gate_ctrl_eng_delay_after_f(u32 v)
154{
155 return (v & 0xf) << 20;
156}
157static inline u32 therm_gate_ctrl_eng_delay_after_m(void)
158{
159 return 0xf << 20;
160}
161static inline u32 therm_fecs_idle_filter_r(void)
162{
163 return 0x00020288;
164}
165static inline u32 therm_fecs_idle_filter_value_m(void)
166{
167 return 0xffffffff << 0;
168}
169static inline u32 therm_hubmmu_idle_filter_r(void)
170{
171 return 0x0002028c;
172}
173static inline u32 therm_hubmmu_idle_filter_value_m(void)
174{
175 return 0xffffffff << 0;
176}
97#endif 177#endif