diff options
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c | 7 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/ltc.c | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c | 2 |
4 files changed, 12 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c index c5572603..90fbc079 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <nvgpu/soc.h> | 31 | #include <nvgpu/soc.h> |
32 | #include <nvgpu/ctxsw_trace.h> | 32 | #include <nvgpu/ctxsw_trace.h> |
33 | #include <nvgpu/defaults.h> | 33 | #include <nvgpu/defaults.h> |
34 | #include <nvgpu/ltc.h> | ||
34 | 35 | ||
35 | #include "vgpu_linux.h" | 36 | #include "vgpu_linux.h" |
36 | #include "vgpu/fecs_trace_vgpu.h" | 37 | #include "vgpu/fecs_trace_vgpu.h" |
@@ -177,6 +178,12 @@ int vgpu_pm_finalize_poweron(struct device *dev) | |||
177 | if (g->ops.ltc.init_fs_state) | 178 | if (g->ops.ltc.init_fs_state) |
178 | g->ops.ltc.init_fs_state(g); | 179 | g->ops.ltc.init_fs_state(g); |
179 | 180 | ||
181 | err = nvgpu_init_ltc_support(g); | ||
182 | if (err) { | ||
183 | nvgpu_err(g, "failed to init ltc"); | ||
184 | goto done; | ||
185 | } | ||
186 | |||
180 | err = vgpu_init_mm_support(g); | 187 | err = vgpu_init_mm_support(g); |
181 | if (err) { | 188 | if (err) { |
182 | nvgpu_err(g, "failed to init gk20a mm"); | 189 | nvgpu_err(g, "failed to init gk20a mm"); |
diff --git a/drivers/gpu/nvgpu/common/ltc.c b/drivers/gpu/nvgpu/common/ltc.c index 024c2e49..dec4a80c 100644 --- a/drivers/gpu/nvgpu/common/ltc.c +++ b/drivers/gpu/nvgpu/common/ltc.c | |||
@@ -42,6 +42,9 @@ int nvgpu_init_ltc_support(struct gk20a *g) | |||
42 | 42 | ||
43 | void nvgpu_ltc_sync_enabled(struct gk20a *g) | 43 | void nvgpu_ltc_sync_enabled(struct gk20a *g) |
44 | { | 44 | { |
45 | if (!g->ops.ltc.set_enabled) | ||
46 | return; | ||
47 | |||
45 | nvgpu_spinlock_acquire(&g->ltc_enabled_lock); | 48 | nvgpu_spinlock_acquire(&g->ltc_enabled_lock); |
46 | if (g->mm.ltc_enabled_current != g->mm.ltc_enabled_target) { | 49 | if (g->mm.ltc_enabled_current != g->mm.ltc_enabled_target) { |
47 | g->ops.ltc.set_enabled(g, g->mm.ltc_enabled_target); | 50 | g->ops.ltc.set_enabled(g, g->mm.ltc_enabled_target); |
diff --git a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c index 708c52a1..7810ab42 100644 --- a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c +++ b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c | |||
@@ -86,7 +86,7 @@ static const struct gpu_ops vgpu_gp10b_ops = { | |||
86 | .isr = gp10b_ltc_isr, | 86 | .isr = gp10b_ltc_isr, |
87 | .cbc_fix_config = gm20b_ltc_cbc_fix_config, | 87 | .cbc_fix_config = gm20b_ltc_cbc_fix_config, |
88 | .flush = gm20b_flush_ltc, | 88 | .flush = gm20b_flush_ltc, |
89 | .set_enabled = gp10b_ltc_set_enabled, | 89 | .set_enabled = NULL, |
90 | }, | 90 | }, |
91 | .ce2 = { | 91 | .ce2 = { |
92 | .isr_stall = gp10b_ce_isr, | 92 | .isr_stall = gp10b_ce_isr, |
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c index 9fe76573..72db457b 100644 --- a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c +++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c | |||
@@ -104,7 +104,7 @@ static const struct gpu_ops vgpu_gv11b_ops = { | |||
104 | .cbc_ctrl = NULL, | 104 | .cbc_ctrl = NULL, |
105 | .isr = gv11b_ltc_isr, | 105 | .isr = gv11b_ltc_isr, |
106 | .flush = gm20b_flush_ltc, | 106 | .flush = gm20b_flush_ltc, |
107 | .set_enabled = gp10b_ltc_set_enabled, | 107 | .set_enabled = NULL, |
108 | }, | 108 | }, |
109 | .ce2 = { | 109 | .ce2 = { |
110 | .isr_stall = gv11b_ce_isr, | 110 | .isr_stall = gv11b_ce_isr, |