diff options
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/hal_gm20b.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hal_gp106.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hal_gp10b.c | 1 |
5 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index d203a335..2d09c0bb 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -192,6 +192,14 @@ int gk20a_finalize_poweron(struct gk20a *g) | |||
192 | } | 192 | } |
193 | } | 193 | } |
194 | 194 | ||
195 | if (g->ops.fb.mem_unlock) { | ||
196 | err = g->ops.fb.mem_unlock(g); | ||
197 | if (err) { | ||
198 | nvgpu_err(g, "failed to unlock memory"); | ||
199 | goto done; | ||
200 | } | ||
201 | } | ||
202 | |||
195 | err = g->ops.fifo.reset_enable_hw(g); | 203 | err = g->ops.fifo.reset_enable_hw(g); |
196 | 204 | ||
197 | if (err) { | 205 | if (err) { |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 3fcad1cf..c04c97ca 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -445,6 +445,7 @@ struct gpu_ops { | |||
445 | void (*set_debug_mode)(struct gk20a *g, bool enable); | 445 | void (*set_debug_mode)(struct gk20a *g, bool enable); |
446 | void (*tlb_invalidate)(struct gk20a *g, struct nvgpu_mem *pdb); | 446 | void (*tlb_invalidate)(struct gk20a *g, struct nvgpu_mem *pdb); |
447 | void (*hub_isr)(struct gk20a *g); | 447 | void (*hub_isr)(struct gk20a *g); |
448 | int (*mem_unlock)(struct gk20a *g); | ||
448 | } fb; | 449 | } fb; |
449 | struct { | 450 | struct { |
450 | void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); | 451 | void (*slcg_bus_load_gating_prod)(struct gk20a *g, bool prod); |
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c index e146d3ca..269fd7f1 100644 --- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c | |||
@@ -308,6 +308,7 @@ static const struct gpu_ops gm20b_ops = { | |||
308 | .is_debug_mode_enabled = gm20b_fb_debug_mode_enabled, | 308 | .is_debug_mode_enabled = gm20b_fb_debug_mode_enabled, |
309 | .set_debug_mode = gm20b_fb_set_debug_mode, | 309 | .set_debug_mode = gm20b_fb_set_debug_mode, |
310 | .tlb_invalidate = gk20a_fb_tlb_invalidate, | 310 | .tlb_invalidate = gk20a_fb_tlb_invalidate, |
311 | .mem_unlock = NULL, | ||
311 | }, | 312 | }, |
312 | .clock_gating = { | 313 | .clock_gating = { |
313 | .slcg_bus_load_gating_prod = | 314 | .slcg_bus_load_gating_prod = |
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c index 54960b96..1246ee7f 100644 --- a/drivers/gpu/nvgpu/gp106/hal_gp106.c +++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c | |||
@@ -373,6 +373,7 @@ static const struct gpu_ops gp106_ops = { | |||
373 | .is_debug_mode_enabled = gm20b_fb_debug_mode_enabled, | 373 | .is_debug_mode_enabled = gm20b_fb_debug_mode_enabled, |
374 | .set_debug_mode = gm20b_fb_set_debug_mode, | 374 | .set_debug_mode = gm20b_fb_set_debug_mode, |
375 | .tlb_invalidate = gk20a_fb_tlb_invalidate, | 375 | .tlb_invalidate = gk20a_fb_tlb_invalidate, |
376 | .mem_unlock = NULL, | ||
376 | }, | 377 | }, |
377 | .clock_gating = { | 378 | .clock_gating = { |
378 | .slcg_bus_load_gating_prod = | 379 | .slcg_bus_load_gating_prod = |
diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c index b40ce4a1..b80722b8 100644 --- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c | |||
@@ -327,6 +327,7 @@ static const struct gpu_ops gp10b_ops = { | |||
327 | .is_debug_mode_enabled = gm20b_fb_debug_mode_enabled, | 327 | .is_debug_mode_enabled = gm20b_fb_debug_mode_enabled, |
328 | .set_debug_mode = gm20b_fb_set_debug_mode, | 328 | .set_debug_mode = gm20b_fb_set_debug_mode, |
329 | .tlb_invalidate = gk20a_fb_tlb_invalidate, | 329 | .tlb_invalidate = gk20a_fb_tlb_invalidate, |
330 | .mem_unlock = NULL, | ||
330 | }, | 331 | }, |
331 | .clock_gating = { | 332 | .clock_gating = { |
332 | .slcg_bus_load_gating_prod = | 333 | .slcg_bus_load_gating_prod = |