diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index aae54cc2..7dd4a9fa 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -377,6 +377,7 @@ struct gpu_ops { | |||
377 | u32 global_esr_mask, bool check_errors); | 377 | u32 global_esr_mask, bool check_errors); |
378 | void (*resume_single_sm)(struct gk20a *g, | 378 | void (*resume_single_sm)(struct gk20a *g, |
379 | u32 gpc, u32 tpc, u32 sm); | 379 | u32 gpc, u32 tpc, u32 sm); |
380 | void (*resume_all_sms)(struct gk20a *g); | ||
380 | } gr; | 381 | } gr; |
381 | struct { | 382 | struct { |
382 | void (*init_hw)(struct gk20a *g); | 383 | void (*init_hw)(struct gk20a *g); |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 70abef78..42a807f6 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -8123,7 +8123,7 @@ void gk20a_gr_resume_single_sm(struct gk20a *g, | |||
8123 | gr_gpc0_tpc0_sm_dbgr_control0_r() + offset, dbgr_control0); | 8123 | gr_gpc0_tpc0_sm_dbgr_control0_r() + offset, dbgr_control0); |
8124 | } | 8124 | } |
8125 | 8125 | ||
8126 | void gk20a_resume_all_sms(struct gk20a *g) | 8126 | void gk20a_gr_resume_all_sms(struct gk20a *g) |
8127 | { | 8127 | { |
8128 | u32 dbgr_control0; | 8128 | u32 dbgr_control0; |
8129 | /* | 8129 | /* |
@@ -8236,7 +8236,7 @@ bool gr_gk20a_resume_context(struct channel_gk20a *ch) | |||
8236 | bool ctx_resident = false; | 8236 | bool ctx_resident = false; |
8237 | 8237 | ||
8238 | if (gk20a_is_channel_ctx_resident(ch)) { | 8238 | if (gk20a_is_channel_ctx_resident(ch)) { |
8239 | gk20a_resume_all_sms(g); | 8239 | g->ops.gr.resume_all_sms(g); |
8240 | ctx_resident = true; | 8240 | ctx_resident = true; |
8241 | } else { | 8241 | } else { |
8242 | gk20a_enable_channel_tsg(g, ch); | 8242 | gk20a_enable_channel_tsg(g, ch); |
@@ -8438,7 +8438,7 @@ int gr_gk20a_resume_from_pause(struct gk20a *g) | |||
8438 | 8438 | ||
8439 | /* Now resume all sms, write a 0 to the stop trigger | 8439 | /* Now resume all sms, write a 0 to the stop trigger |
8440 | * then a 1 to the run trigger */ | 8440 | * then a 1 to the run trigger */ |
8441 | gk20a_resume_all_sms(g); | 8441 | g->ops.gr.resume_all_sms(g); |
8442 | 8442 | ||
8443 | return err; | 8443 | return err; |
8444 | } | 8444 | } |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index 659b37a6..5a28deea 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -614,7 +614,7 @@ int gr_gk20a_disable_ctxsw(struct gk20a *g); | |||
614 | int gr_gk20a_enable_ctxsw(struct gk20a *g); | 614 | int gr_gk20a_enable_ctxsw(struct gk20a *g); |
615 | void gk20a_gr_resume_single_sm(struct gk20a *g, | 615 | void gk20a_gr_resume_single_sm(struct gk20a *g, |
616 | u32 gpc, u32 tpc, u32 sm); | 616 | u32 gpc, u32 tpc, u32 sm); |
617 | void gk20a_resume_all_sms(struct gk20a *g); | 617 | void gk20a_gr_resume_all_sms(struct gk20a *g); |
618 | void gk20a_gr_suspend_single_sm(struct gk20a *g, | 618 | void gk20a_gr_suspend_single_sm(struct gk20a *g, |
619 | u32 gpc, u32 tpc, u32 sm, | 619 | u32 gpc, u32 tpc, u32 sm, |
620 | u32 global_esr_mask, bool check_errors); | 620 | u32 global_esr_mask, bool check_errors); |