From ca76b336b32dce2e57034fbd44a273c539f67a54 Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Tue, 29 Dec 2015 13:53:46 +0530 Subject: gpu: nvgpu: support preprocessing of SM exceptions Support preprocessing of SM exceptions if API pointer pre_process_sm_exception() is defined Also, expose some common APIs Bug 200156699 Change-Id: I1303642c1c4403c520b62efb6fd83e95eaeb519b Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/925883 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.h') diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index 51b87ac8..9fc45ec0 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h @@ -1,7 +1,7 @@ /* * GK20A Graphics Engine * - * Copyright (c) 2011-2015, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -175,6 +175,17 @@ struct gk20a_cs_snapshot_client; struct gk20a_cs_snapshot; #endif +struct gr_gk20a_isr_data { + u32 addr; + u32 data_lo; + u32 data_hi; + u32 curr_ctx; + u32 chid; + u32 offset; + u32 sub_chan; + u32 class_num; +}; + struct gr_gk20a { struct gk20a *g; struct { @@ -533,4 +544,16 @@ static inline void gr_gk20a_free_cyclestats_snapshot_data(struct gk20a *g) } #endif + +int gk20a_gr_handle_fecs_error(struct gk20a *g, struct channel_gk20a *ch, + struct gr_gk20a_isr_data *isr_data); +int gk20a_gr_wait_for_sm_lock_down(struct gk20a *g, u32 gpc, u32 tpc, + u32 global_esr_mask, bool check_errors); +void gk20a_gr_clear_sm_hww(struct gk20a *g, + u32 gpc, u32 tpc, u32 global_esr); +int gr_gk20a_ctx_wait_ucode(struct gk20a *g, u32 mailbox_id, + u32 *mailbox_ret, u32 opc_success, + u32 mailbox_ok, u32 opc_fail, + u32 mailbox_fail, bool sleepduringwait); + #endif /*__GR_GK20A_H__*/ -- cgit v1.2.2