diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 11490c27a..5039f8e36 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h @@ -1541,20 +1541,6 @@ extern struct class nvgpu_class; int gk20a_prepare_poweroff(struct gk20a *g); int gk20a_finalize_poweron(struct gk20a *g); -static inline struct tsg_gk20a *tsg_gk20a_from_ch(struct channel_gk20a *ch) -{ - struct tsg_gk20a *tsg = NULL; - - if (gk20a_is_channel_marked_as_tsg(ch)) - { - struct gk20a *g = ch->g; - struct fifo_gk20a *f = &g->fifo; - tsg = &f->tsg[ch->tsgid]; - } - - return tsg; -} - static inline void gk20a_channel_trace_sched_param( void (*trace)(int chid, int tsgid, pid_t pid, u32 timeslice, u32 timeout, const char *interleave, diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c index 1488fbf98..46db3dd3b 100644 --- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c @@ -323,6 +323,19 @@ void gk20a_tsg_release(struct kref *ref) gk20a_put(g); } +struct tsg_gk20a *tsg_gk20a_from_ch(struct channel_gk20a *ch) +{ + struct tsg_gk20a *tsg = NULL; + + if (gk20a_is_channel_marked_as_tsg(ch)) { + struct gk20a *g = ch->g; + struct fifo_gk20a *f = &g->fifo; + tsg = &f->tsg[ch->tsgid]; + } + + return tsg; +} + void gk20a_init_tsg_ops(struct gpu_ops *gops) { gops->fifo.tsg_bind_channel = gk20a_tsg_bind_channel; diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h index 5a13c9128..72cff4f9f 100644 --- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h @@ -30,6 +30,7 @@ void gk20a_tsg_release(struct kref *ref); int gk20a_init_tsg_support(struct gk20a *g, u32 tsgid); void gk20a_init_tsg_ops(struct gpu_ops *gops); +struct tsg_gk20a *tsg_gk20a_from_ch(struct channel_gk20a *ch); struct tsg_gk20a { struct gk20a *g;