gpu: nvgpu: vgpu: add ERRBAR support to ga10b

- set the enable flag for ERRBAR
- set the HAL to ga10b_gr_set_sched_wait_for_errbar
- move ga10b_gr_set_sched_wait_for_errbar to call .exec_regops which
works in vgpu too.

Bug 3758132

Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Change-Id: Ie4821bf513da1253365386f08c71bb6e02d09b35
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2764030
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Richard Zhao
2022-08-19 22:26:32 -07:00
committed by mobile promotions
parent 7bea894f0c
commit dafbbebafc
2 changed files with 3 additions and 1 deletions

View File

@@ -1128,7 +1128,7 @@ int ga10b_gr_set_sched_wait_for_errbar(struct gk20a *g,
u32 flags = NVGPU_REG_OP_FLAG_MODE_ALL_OR_NONE;
if (tsg != NULL) {
err = gr_gk20a_exec_ctx_ops(tsg, &ctx_ops, 1, 1, 0, &flags);
err = g->ops.regops.exec_regops(g, tsg, &ctx_ops, 1, 1, 0, &flags);
if (err != 0) {
nvgpu_err(g, "update implicit ERRBAR failed");
}

View File

@@ -518,6 +518,7 @@ static const struct gops_gr vgpu_ga10b_ops_gr = {
.get_offset_in_gpccs_segment = gr_gk20a_get_offset_in_gpccs_segment,
.set_debug_mode = gm20b_gr_set_debug_mode,
.set_mmu_debug_mode = vgpu_gr_set_mmu_debug_mode,
.set_sched_wait_for_errbar = ga10b_gr_set_sched_wait_for_errbar,
#endif
};
@@ -1236,6 +1237,7 @@ int vgpu_ga10b_init_hal(struct gk20a *g)
#endif
#ifdef CONFIG_NVGPU_DEBUGGER
nvgpu_set_enabled(g, NVGPU_L2_MAX_WAYS_EVICT_LAST_ENABLED, true);
nvgpu_set_enabled(g, NVGPU_SCHED_EXIT_WAIT_FOR_ERRBAR_SUPPORTED, true);
#endif
g->name = "ga10b";