summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 15f838d9..0b15783b 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -1074,4 +1074,30 @@ int gk20a_pm_init(struct device *dev);
1074int gk20a_pm_finalize_poweron(struct device *dev); 1074int gk20a_pm_finalize_poweron(struct device *dev);
1075void gk20a_remove_support(struct device *dev); 1075void gk20a_remove_support(struct device *dev);
1076 1076
1077static inline struct tsg_gk20a *tsg_gk20a_from_ch(struct channel_gk20a *ch)
1078{
1079 struct tsg_gk20a *tsg = NULL;
1080
1081 if (gk20a_is_channel_marked_as_tsg(ch))
1082 {
1083 struct gk20a *g = ch->g;
1084 struct fifo_gk20a *f = &g->fifo;
1085 tsg = &f->tsg[ch->tsgid];
1086 }
1087
1088 return tsg;
1089}
1090
1091
1092#define GK20A_TP_ARGS_SCHED(ch) \
1093 ch->hw_chid, \
1094 ch->tsgid, \
1095 ch->pid, \
1096 gk20a_is_channel_marked_as_tsg(ch) ? \
1097 tsg_gk20a_from_ch(ch)->timeslice_us : ch->timeslice_us, \
1098 ch->timeout_ms_max, \
1099 gk20a_fifo_interleave_level_name(ch->interleave_level), \
1100 gr_gk20a_preempt_mode_name(ch->ch_ctx.gr_ctx ? \
1101 ch->ch_ctx.gr_ctx->preempt_mode : 0)
1102
1077#endif /* GK20A_H */ 1103#endif /* GK20A_H */