diff options
author | Debarshi Dutta <ddutta@nvidia.com> | 2018-11-29 04:41:15 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2019-02-11 11:18:40 -0500 |
commit | d9efcd587162b50582eb2b2bbaad2b8bc0180446 (patch) | |
tree | 00eda6e411bcecb1795e5264e6ef5500adc336ec /drivers/gpu/nvgpu/gk20a/fifo_gk20a.h | |
parent | ef9de9e9925573b691d78760e42334ad24c5797f (diff) |
gpu: nvgpu: replace input parameter tsgid with pointer to struct tsg_gk20a
The function gk20a_fifo_recover_tsg has to pass a valid struct tsg to
other functions from within. This qualifies it to have a pointer to
struct tsg_gk20a as an input parameter.
Tsg specific parts of the gk20a_fifo_preempt_timeout_rc are now moved
into another function gk20a_fifo_preempt_timeout_rc_tsg
that takes a tsg as an input and passes it to gk20a_fifo_recover_tsg.
The pointer to a tsg is also used to enumerate channels from within.
The function gk20a_fifo_preempt_timeout_rc now contains only channel
specific code.
Jira NVGPU-1461
Change-Id: Ice0a9921567841fb5586a7e4e010c442ca6cf172
Signed-off-by: Debarshi Dutta <ddutta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1961675
(cherry picked from commit e19cea7ab3ef688186222dec940c2396536408ce
in dev-kernel)
Reviewed-on: https://git-master.nvidia.com/r/2013726
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h index 2d1c9cc3..12970558 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h | |||
@@ -268,8 +268,8 @@ void gk20a_fifo_recover(struct gk20a *g, | |||
268 | bool id_is_known, bool verbose, int rc_type); | 268 | bool id_is_known, bool verbose, int rc_type); |
269 | void gk20a_fifo_recover_ch(struct gk20a *g, u32 chid, bool verbose, | 269 | void gk20a_fifo_recover_ch(struct gk20a *g, u32 chid, bool verbose, |
270 | int rc_type); | 270 | int rc_type); |
271 | void gk20a_fifo_recover_tsg(struct gk20a *g, u32 tsgid, bool verbose, | 271 | void gk20a_fifo_recover_tsg(struct gk20a *g, struct tsg_gk20a *tsg, |
272 | int rc_type); | 272 | bool verbose, u32 rc_type); |
273 | int gk20a_fifo_force_reset_ch(struct channel_gk20a *ch, | 273 | int gk20a_fifo_force_reset_ch(struct channel_gk20a *ch, |
274 | u32 err_code, bool verbose); | 274 | u32 err_code, bool verbose); |
275 | void gk20a_fifo_reset_engine(struct gk20a *g, u32 engine_id); | 275 | void gk20a_fifo_reset_engine(struct gk20a *g, u32 engine_id); |
@@ -390,8 +390,8 @@ u32 gk20a_fifo_intr_0_error_mask(struct gk20a *g); | |||
390 | int gk20a_fifo_is_preempt_pending(struct gk20a *g, u32 id, | 390 | int gk20a_fifo_is_preempt_pending(struct gk20a *g, u32 id, |
391 | unsigned int id_type); | 391 | unsigned int id_type); |
392 | int __locked_fifo_preempt(struct gk20a *g, u32 id, bool is_tsg); | 392 | int __locked_fifo_preempt(struct gk20a *g, u32 id, bool is_tsg); |
393 | void gk20a_fifo_preempt_timeout_rc(struct gk20a *g, u32 id, | 393 | void gk20a_fifo_preempt_timeout_rc_tsg(struct gk20a *g, struct tsg_gk20a *tsg); |
394 | unsigned int id_type); | 394 | void gk20a_fifo_preempt_timeout_rc(struct gk20a *g, u32 chid); |
395 | int gk20a_fifo_setup_ramfc(struct channel_gk20a *c, | 395 | int gk20a_fifo_setup_ramfc(struct channel_gk20a *c, |
396 | u64 gpfifo_base, u32 gpfifo_entries, | 396 | u64 gpfifo_base, u32 gpfifo_entries, |
397 | unsigned long timeout, u32 flags); | 397 | unsigned long timeout, u32 flags); |