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/gk20a/gr_gk20a.h | |
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/gk20a/gr_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index 8ff2cfd4..08b81e86 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -702,6 +702,9 @@ int gr_gk20a_init_ctx_state(struct gk20a *g); | |||
702 | int gr_gk20a_submit_fecs_method_op(struct gk20a *g, | 702 | int gr_gk20a_submit_fecs_method_op(struct gk20a *g, |
703 | struct fecs_method_op_gk20a op, | 703 | struct fecs_method_op_gk20a op, |
704 | bool sleepduringwait); | 704 | bool sleepduringwait); |
705 | int gr_gk20a_submit_fecs_method_op_locked(struct gk20a *g, | ||
706 | struct fecs_method_op_gk20a op, | ||
707 | bool sleepduringwait); | ||
705 | int gr_gk20a_submit_fecs_sideband_method_op(struct gk20a *g, | 708 | int gr_gk20a_submit_fecs_sideband_method_op(struct gk20a *g, |
706 | struct fecs_method_op_gk20a op); | 709 | struct fecs_method_op_gk20a op); |
707 | int gr_gk20a_alloc_gr_ctx(struct gk20a *g, | 710 | int gr_gk20a_alloc_gr_ctx(struct gk20a *g, |
@@ -844,4 +847,5 @@ void gk20a_gr_destroy_ctx_buffer(struct gk20a *g, | |||
844 | int gk20a_gr_alloc_ctx_buffer(struct gk20a *g, | 847 | int gk20a_gr_alloc_ctx_buffer(struct gk20a *g, |
845 | struct gr_ctx_buffer_desc *desc, size_t size); | 848 | struct gr_ctx_buffer_desc *desc, size_t size); |
846 | void gk20a_gr_flush_channel_tlb(struct gr_gk20a *gr); | 849 | void gk20a_gr_flush_channel_tlb(struct gr_gk20a *gr); |
850 | int gr_gk20a_set_fecs_watchdog_timeout(struct gk20a *g); | ||
847 | #endif /*__GR_GK20A_H__*/ | 851 | #endif /*__GR_GK20A_H__*/ |