summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2015-12-29 03:23:46 -0500
committerSachin Nikam <snikam@nvidia.com>2016-01-13 01:58:32 -0500
commitca76b336b32dce2e57034fbd44a273c539f67a54 (patch)
treeac0dadeb96f3c180a7a0bfcc51679858b2dedb95 /drivers/gpu/nvgpu/gk20a/gr_gk20a.h
parent0ce201e8de6a320b70f1f34d05202650b9b5a046 (diff)
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 <dnibade@nvidia.com> Reviewed-on: http://git-master/r/925883 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.h25
1 files changed, 24 insertions, 1 deletions
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 @@
1/* 1/*
2 * GK20A Graphics Engine 2 * GK20A Graphics Engine
3 * 3 *
4 * Copyright (c) 2011-2015, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License, 7 * under the terms and conditions of the GNU General Public License,
@@ -175,6 +175,17 @@ struct gk20a_cs_snapshot_client;
175struct gk20a_cs_snapshot; 175struct gk20a_cs_snapshot;
176#endif 176#endif
177 177
178struct gr_gk20a_isr_data {
179 u32 addr;
180 u32 data_lo;
181 u32 data_hi;
182 u32 curr_ctx;
183 u32 chid;
184 u32 offset;
185 u32 sub_chan;
186 u32 class_num;
187};
188
178struct gr_gk20a { 189struct gr_gk20a {
179 struct gk20a *g; 190 struct gk20a *g;
180 struct { 191 struct {
@@ -533,4 +544,16 @@ static inline void gr_gk20a_free_cyclestats_snapshot_data(struct gk20a *g)
533} 544}
534#endif 545#endif
535 546
547
548int gk20a_gr_handle_fecs_error(struct gk20a *g, struct channel_gk20a *ch,
549 struct gr_gk20a_isr_data *isr_data);
550int gk20a_gr_wait_for_sm_lock_down(struct gk20a *g, u32 gpc, u32 tpc,
551 u32 global_esr_mask, bool check_errors);
552void gk20a_gr_clear_sm_hww(struct gk20a *g,
553 u32 gpc, u32 tpc, u32 global_esr);
554int gr_gk20a_ctx_wait_ucode(struct gk20a *g, u32 mailbox_id,
555 u32 *mailbox_ret, u32 opc_success,
556 u32 mailbox_ok, u32 opc_fail,
557 u32 mailbox_fail, bool sleepduringwait);
558
536#endif /*__GR_GK20A_H__*/ 559#endif /*__GR_GK20A_H__*/