diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/fifo_gv11b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/fifo_gv11b.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c index 30e03092..f00e806f 100644 --- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c | |||
@@ -664,6 +664,13 @@ static u32 gv11b_fifo_get_runlists_mask(struct gk20a *g, u32 act_eng_bitmask, | |||
664 | return runlists_mask; | 664 | return runlists_mask; |
665 | } | 665 | } |
666 | 666 | ||
667 | int gv11b_fifo_reschedule_runlist(struct channel_gk20a *ch, bool preempt_next) | ||
668 | { | ||
669 | /* gv11b allows multiple outstanding preempts, | ||
670 | so always preempt next for best reschedule effect */ | ||
671 | return nvgpu_fifo_reschedule_runlist(ch, true, false); | ||
672 | } | ||
673 | |||
667 | static void gv11b_fifo_issue_runlist_preempt(struct gk20a *g, | 674 | static void gv11b_fifo_issue_runlist_preempt(struct gk20a *g, |
668 | u32 runlists_mask) | 675 | u32 runlists_mask) |
669 | { | 676 | { |
@@ -842,7 +849,6 @@ int gv11b_fifo_preempt_tsg(struct gk20a *g, u32 tsgid) | |||
842 | return ret; | 849 | return ret; |
843 | } | 850 | } |
844 | 851 | ||
845 | |||
846 | static int gv11b_fifo_preempt_runlists(struct gk20a *g, u32 runlists_mask) | 852 | static int gv11b_fifo_preempt_runlists(struct gk20a *g, u32 runlists_mask) |
847 | { | 853 | { |
848 | int ret = 0; | 854 | int ret = 0; |