From fc73ff7214590782aaa055c7d33c83433f7c9b48 Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Wed, 16 Jul 2014 15:52:46 +0530 Subject: gpu: nvgpu: skip WFI for KEPLER_C channels In channel_finish(), we submit WFI for all the channels including channels with KEPLER_C class. Since there is no need to submit WFI for channels with KEPLER_C class, we can optimize to skip submitting WFI and directly wait on last submit fence Bug 1534272 Change-Id: I3838416cf22122728e7f1008e01d77b14a35deba Signed-off-by: Deepak Nibade --- drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index ef3d8729..de82be36 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c @@ -1728,14 +1728,14 @@ int gk20a_channel_finish(struct channel_gk20a *ch, unsigned long timeout) if (ch->has_timedout) return -ETIMEDOUT; - if (!(fence->valid && fence->wfi)) { + if (!(fence->valid && fence->wfi) && ch->obj_class != KEPLER_C) { gk20a_dbg_fn("issuing wfi, incr to finish the channel"); err = gk20a_channel_submit_wfi(ch); } if (err) return err; - BUG_ON(!(fence->valid && fence->wfi)); + BUG_ON(!(fence->valid && fence->wfi) && ch->obj_class != KEPLER_C); gk20a_dbg_fn("waiting for channel to finish thresh:%d sema:%p", fence->thresh, fence->semaphore); -- cgit v1.2.2