gpu: nvgpu: remove SW methods from safety build

Improved SDL heartbeat mechanism detects the interrupts triggered by
SW method and treats them as errors. Hence remove the SW method support
completely from safety build. Registers set by SW methods are now set
by default for all the contexts.

Implement new HAL gops.gr.init.set_default_compute_regs() to set the
registers in patch context. Call this HAL while creating each context.

Update gv11b_gr_intr_handle_sw_method() to treat all compute SW methods
as invalid.

Update unit test test_gr_intr_sw_exceptions() so that it now expects
failure for any method/data.

Bug 200748548

Change-Id: I614f6411bbe7000c22f1891bbaf06982e8bd7f0b
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2527249
(cherry picked from commit bb6e0f9aa1404f79bcfbdd308b8c174a4fc83250)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2602638
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Rajesh Devaraj <rdevaraj@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Deepak Nibade
2021-05-10 20:07:31 +05:30
committed by mobile promotions
parent 19fa7004aa
commit d1f3f81553
13 changed files with 75 additions and 22 deletions

View File

@@ -571,13 +571,6 @@ int test_gr_intr_sw_exceptions(struct unit_module *m,
unit_return_fail(m, "sw_method passed for invalid class\n");
}
/* Fault injection - sw_method with null data */
err = g->ops.gr.intr.handle_sw_method(g, 0, VOLTA_COMPUTE_A,
(NVC3C0_SET_SKEDCHECK >> 2), 0);
if (err != 0) {
unit_return_fail(m, "sw_method failed for invalid data\n");
}
return UNIT_SUCCESS;
}

View File

@@ -124,8 +124,6 @@ int test_gr_intr_setup_channel(struct unit_module *m,
* Test specification for: test_gr_intr_sw_exceptions.
*
* Description: Helps to verify pending interrupts for illegal method.
* Helps to verify exceptions for SET_SHADER_EXCEPTIONS,
* SET_SKEDCHECK and SET_SHADER_CUT_COLLECTOR.
*
* Test Type: Feature, Error guessing
*
@@ -133,8 +131,6 @@ int test_gr_intr_setup_channel(struct unit_module *m,
* gops_gr_intr.flush_channel_tlb, nvgpu_gr_intr_flush_channel_tlb,
* gops_gr_intr.handle_sw_method,
* gv11b_gr_intr_handle_sw_method,
* gv11b_gr_intr_set_skedcheck,
* gv11b_gr_intr_set_shader_cut_collector,
* gops_gr_intr.trapped_method_info,
* gm20b_gr_intr_get_trapped_method_info,
* nvgpu_gr_intr_set_error_notifier,

View File

@@ -65,7 +65,9 @@ struct unit_module;
* gp10b_gr_init_get_ctx_attrib_cb_size,
* gops_gr_falcon.ctrl_ctxsw,
* gp10b_gr_falcon_ctrl_ctxsw,
* gm20b_gr_falcon_ctrl_ctxsw
* gm20b_gr_falcon_ctrl_ctxsw,
* gops_gr_init.set_default_compute_regs,
* gv11b_gr_init_set_default_compute_regs
*
* Input: gr_obj_ctx_setup must have been executed successfully.
*