mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
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:
committed by
mobile promotions
parent
19fa7004aa
commit
d1f3f81553
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user