diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/clk_gm20b.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c index eb7703bd..568d4dde 100644 --- a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include "hw_trim_gm20b.h" | 28 | #include "hw_trim_gm20b.h" |
29 | #include "hw_timer_gm20b.h" | 29 | #include "hw_timer_gm20b.h" |
30 | #include "hw_therm_gm20b.h" | 30 | #include "hw_therm_gm20b.h" |
31 | #include "hw_fuse_gm20b.h" | ||
31 | #include "clk_gm20b.h" | 32 | #include "clk_gm20b.h" |
32 | 33 | ||
33 | #define ALLOW_NON_CALIBRATED_NA_MODE 1 | 34 | #define ALLOW_NON_CALIBRATED_NA_MODE 1 |
@@ -1167,6 +1168,19 @@ static int gm20b_init_clk_setup_hw(struct gk20a *g) | |||
1167 | trim_sys_bypassctrl_gpcpll_vco_f()); | 1168 | trim_sys_bypassctrl_gpcpll_vco_f()); |
1168 | gk20a_writel(g, trim_sys_bypassctrl_r(), data); | 1169 | gk20a_writel(g, trim_sys_bypassctrl_r(), data); |
1169 | 1170 | ||
1171 | /* If not fused, set RAM SVOP PDP data 0x2, and enable fuse override */ | ||
1172 | data = gk20a_readl(g, fuse_ctrl_opt_ram_svop_pdp_r()); | ||
1173 | if (!fuse_ctrl_opt_ram_svop_pdp_data_v(data)) { | ||
1174 | data = set_field(data, fuse_ctrl_opt_ram_svop_pdp_data_m(), | ||
1175 | fuse_ctrl_opt_ram_svop_pdp_data_f(0x2)); | ||
1176 | gk20a_writel(g, fuse_ctrl_opt_ram_svop_pdp_r(), data); | ||
1177 | data = gk20a_readl(g, fuse_ctrl_opt_ram_svop_pdp_override_r()); | ||
1178 | data = set_field(data, | ||
1179 | fuse_ctrl_opt_ram_svop_pdp_override_data_m(), | ||
1180 | fuse_ctrl_opt_ram_svop_pdp_override_data_yes_f()); | ||
1181 | gk20a_writel(g, fuse_ctrl_opt_ram_svop_pdp_override_r(), data); | ||
1182 | } | ||
1183 | |||
1170 | /* Disable idle slow down */ | 1184 | /* Disable idle slow down */ |
1171 | data = gk20a_readl(g, therm_clk_slowdown_r(0)); | 1185 | data = gk20a_readl(g, therm_clk_slowdown_r(0)); |
1172 | data = set_field(data, therm_clk_slowdown_idle_factor_m(), | 1186 | data = set_field(data, therm_clk_slowdown_idle_factor_m(), |