summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/therm_gp10b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/therm_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/therm_gp10b.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/therm_gp10b.c b/drivers/gpu/nvgpu/gp10b/therm_gp10b.c
index 7bf0c0e5..687593b0 100644
--- a/drivers/gpu/nvgpu/gp10b/therm_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/therm_gp10b.c
@@ -78,8 +78,22 @@ static int gp10b_init_therm_setup_hw(struct gk20a *g)
78 return 0; 78 return 0;
79} 79}
80 80
81static int gp10b_update_therm_gate_ctrl(struct gk20a *g)
82{
83 u32 gate_ctrl;
84
85 gate_ctrl = gk20a_readl(g, therm_gate_ctrl_r(ENGINE_CE2_GK20A));
86 gate_ctrl = set_field(gate_ctrl,
87 therm_gate_ctrl_eng_delay_before_m(),
88 therm_gate_ctrl_eng_delay_before_f(4));
89 gk20a_writel(g, therm_gate_ctrl_r(ENGINE_CE2_GK20A), gate_ctrl);
90
91 return 0;
92}
93
81void gp10b_init_therm_ops(struct gpu_ops *gops) 94void gp10b_init_therm_ops(struct gpu_ops *gops)
82{ 95{
83 gops->therm.init_therm_setup_hw = gp10b_init_therm_setup_hw; 96 gops->therm.init_therm_setup_hw = gp10b_init_therm_setup_hw;
97 gops->therm.update_therm_gate_ctrl = gp10b_update_therm_gate_ctrl;
84 98
85} 99}