diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/therm_gp10b.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/therm_gp10b.c b/drivers/gpu/nvgpu/gp10b/therm_gp10b.c index 687593b0..5763b3b1 100644 --- a/drivers/gpu/nvgpu/gp10b/therm_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/therm_gp10b.c | |||
@@ -81,12 +81,15 @@ static int gp10b_init_therm_setup_hw(struct gk20a *g) | |||
81 | static int gp10b_update_therm_gate_ctrl(struct gk20a *g) | 81 | static int gp10b_update_therm_gate_ctrl(struct gk20a *g) |
82 | { | 82 | { |
83 | u32 gate_ctrl; | 83 | u32 gate_ctrl; |
84 | 84 | u32 engine_id; | |
85 | gate_ctrl = gk20a_readl(g, therm_gate_ctrl_r(ENGINE_CE2_GK20A)); | 85 | |
86 | gate_ctrl = set_field(gate_ctrl, | 86 | for (engine_id = 0; engine_id < ENGINE_INVAL_GK20A; engine_id++) { |
87 | therm_gate_ctrl_eng_delay_before_m(), | 87 | gate_ctrl = gk20a_readl(g, therm_gate_ctrl_r(engine_id)); |
88 | therm_gate_ctrl_eng_delay_before_f(4)); | 88 | gate_ctrl = set_field(gate_ctrl, |
89 | gk20a_writel(g, therm_gate_ctrl_r(ENGINE_CE2_GK20A), gate_ctrl); | 89 | therm_gate_ctrl_eng_delay_before_m(), |
90 | therm_gate_ctrl_eng_delay_before_f(4)); | ||
91 | gk20a_writel(g, therm_gate_ctrl_r(engine_id), gate_ctrl); | ||
92 | } | ||
90 | 93 | ||
91 | return 0; | 94 | return 0; |
92 | } | 95 | } |