From 35f0cf0efefe4a64ee25a5b118338b15e552dcb0 Mon Sep 17 00:00:00 2001 From: Seema Khowala Date: Fri, 24 Feb 2017 16:14:03 -0800 Subject: gpu: nvgpu: change stall intr handling order -Handle pbus and priv stall interrupts first. In general critical interrupts should be handled before any other non critical ones. -Dump info enabled with gpu_dbg_intr if priv_ring interrupt is flagged by fmodel. JIRA NVGPU-25 Change-Id: Iee767d8c9c933ceb57532c1b5a7fd7812daf1b6d Signed-off-by: Seema Khowala Reviewed-on: http://git-master/r/1311273 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker Reviewed-by: Seshendra Gadagottu GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/priv_ring_gk20a.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/priv_ring_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/priv_ring_gk20a.c b/drivers/gpu/nvgpu/gk20a/priv_ring_gk20a.c index a44df1e8..90bd95ac 100644 --- a/drivers/gpu/nvgpu/gk20a/priv_ring_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/priv_ring_gk20a.c @@ -76,8 +76,6 @@ void gk20a_priv_ring_isr(struct gk20a *g) u32 gpc_stride = nvgpu_get_litter_value(g, GPU_LIT_GPC_STRIDE); struct gk20a_platform *platform = dev_get_drvdata(g->dev); - if (platform->is_fmodel) - return; status0 = gk20a_readl(g, pri_ringmaster_intr_status0_r()); status1 = gk20a_readl(g, pri_ringmaster_intr_status1_r()); @@ -90,7 +88,6 @@ void gk20a_priv_ring_isr(struct gk20a *g) pri_ringmaster_intr_status0_overflow_fault_v(status0) != 0) { gk20a_reset_priv_ring(g); } - if (pri_ringmaster_intr_status0_gbl_write_error_sys_v(status0) != 0) { gk20a_dbg(gpu_dbg_intr, "SYS write error. ADR %08x WRDAT %08x INFO %08x, CODE %08x", gk20a_readl(g, pri_ringstation_sys_priv_error_adr_r()), @@ -109,6 +106,9 @@ void gk20a_priv_ring_isr(struct gk20a *g) } } + if (platform->is_fmodel) + return; + cmd = gk20a_readl(g, pri_ringmaster_command_r()); cmd = set_field(cmd, pri_ringmaster_command_cmd_m(), pri_ringmaster_command_cmd_ack_interrupt_f()); -- cgit v1.2.2