diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2020-07-07 06:17:00 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2020-07-14 05:40:09 -0400 |
commit | e878686302f126fc09d336310651ebe0f857576c (patch) | |
tree | 98aefbee1ddd38dd2c3fade1138bdc50ca29f5ae /drivers/gpu/nvgpu/gv11b/gr_gv11b.c | |
parent | 1b161b6c7a43f95f3b135d18efa97a8429300617 (diff) |
gpu: nvgpu: wait ACK for FECS watchdog timeout
On Volta, nvgpu needs to wait for explicit ACK from CTXSW while
setting FECS watchdog timeoout
This is manual port of the fixes 4d7e5026e38528b88a4a168eca9a8b180475b368
and ad89436b03428a42e43042b6a849c15843fdebc4 on dev-main since clean
cherry-pick is not possible due to huge file and structure differences.
Bug 200603566
Change-Id: Icba69998ab45eee5fdf2a29e1ac1067589301be6
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2371708
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/gr_gv11b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c index 5820a695..a7a804d2 100644 --- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c | |||
@@ -5074,3 +5074,17 @@ fail: | |||
5074 | nvgpu_mutex_release(&g->dbg_sessions_lock); | 5074 | nvgpu_mutex_release(&g->dbg_sessions_lock); |
5075 | return err; | 5075 | return err; |
5076 | } | 5076 | } |
5077 | |||
5078 | int gr_gv11b_set_fecs_watchdog_timeout(struct gk20a *g) | ||
5079 | { | ||
5080 | return gr_gk20a_submit_fecs_method_op_locked(g, | ||
5081 | (struct fecs_method_op_gk20a) { | ||
5082 | .method.addr = gr_fecs_method_push_adr_set_watchdog_timeout_f(), | ||
5083 | .method.data = 0x7fffffff, | ||
5084 | .mailbox = { .id = 0, | ||
5085 | .data = ~0, .clr = ~0, .ret = NULL, | ||
5086 | .ok = gr_fecs_ctxsw_mailbox_value_pass_v(), | ||
5087 | .fail = 0, }, | ||
5088 | .cond.ok = GR_IS_UCODE_OP_EQUAL, | ||
5089 | .cond.fail = GR_IS_UCODE_OP_SKIP}, false); | ||
5090 | } | ||