summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2018-04-02 09:40:42 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-04-04 14:49:46 -0400
commit89e0745fa024891b988508c3baa20c453230a80b (patch)
treeb59efd3831570c624c9f8b611abb81489346862d /drivers/gpu/nvgpu/gv11b/hal_gv11b.c
parenta108d3f0368c72f2d553cac1470531677b5a7b88 (diff)
gpu: nvgpu: handle misaligned_addr SM exception
We right now do not handle misaligned_addr SM exception explicitly and hence we incorrectly initiate CILP on this exception Handle this exception explicitly in this sequence - - set error notifier first - clear the interrupt - return error from gr_gv11b_handle_warp_esr_error_misaligned_addr() so that RC recovery is triggered by gk20a_gr_isr() Ensure that the error value is propagated back to gk20a_gr_isr() correctly Use nvgpu_set_error_notifier_if_empty() to set error notifier since this will prevent overwriting of error notifier value in case gk20a_gr_isr() also tries to write to some error notifier value Bug 200388475 Jira NVGPU-554 Change-Id: I84c4d202a8068e738567ccd344e05d9d5f6ad2f0 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1686781 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/hal_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index 2d6dc9b0..dd4bd55a 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -534,7 +534,7 @@ static const struct gpu_ops gv11b_ops = {
534 .check_ch_ctxsw_timeout = gk20a_fifo_check_ch_ctxsw_timeout, 534 .check_ch_ctxsw_timeout = gk20a_fifo_check_ch_ctxsw_timeout,
535 .channel_suspend = gk20a_channel_suspend, 535 .channel_suspend = gk20a_channel_suspend,
536 .channel_resume = gk20a_channel_resume, 536 .channel_resume = gk20a_channel_resume,
537 .set_error_notifier = nvgpu_set_error_notifier, 537 .set_error_notifier = nvgpu_set_error_notifier_if_empty,
538 .setup_sw = gk20a_init_fifo_setup_sw, 538 .setup_sw = gk20a_init_fifo_setup_sw,
539#ifdef CONFIG_TEGRA_GK20A_NVHOST 539#ifdef CONFIG_TEGRA_GK20A_NVHOST
540 .alloc_syncpt_buf = gv11b_fifo_alloc_syncpt_buf, 540 .alloc_syncpt_buf = gv11b_fifo_alloc_syncpt_buf,