diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2015-12-29 03:23:46 -0500 |
---|---|---|
committer | Sachin Nikam <snikam@nvidia.com> | 2016-01-13 01:58:32 -0500 |
commit | ca76b336b32dce2e57034fbd44a273c539f67a54 (patch) | |
tree | ac0dadeb96f3c180a7a0bfcc51679858b2dedb95 /drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |
parent | 0ce201e8de6a320b70f1f34d05202650b9b5a046 (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.h | 25 |
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; | |||
175 | struct gk20a_cs_snapshot; | 175 | struct gk20a_cs_snapshot; |
176 | #endif | 176 | #endif |
177 | 177 | ||
178 | struct 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 | |||
178 | struct gr_gk20a { | 189 | struct 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 | |||
548 | int gk20a_gr_handle_fecs_error(struct gk20a *g, struct channel_gk20a *ch, | ||
549 | struct gr_gk20a_isr_data *isr_data); | ||
550 | int gk20a_gr_wait_for_sm_lock_down(struct gk20a *g, u32 gpc, u32 tpc, | ||
551 | u32 global_esr_mask, bool check_errors); | ||
552 | void gk20a_gr_clear_sm_hww(struct gk20a *g, | ||
553 | u32 gpc, u32 tpc, u32 global_esr); | ||
554 | int 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__*/ |