From 97108797a28faaf3c7249345611f68817a99f522 Mon Sep 17 00:00:00 2001 From: Richard Zhao Date: Fri, 12 Feb 2016 14:15:52 -0800 Subject: gpu: nvgpu: enable semaphore acquire timeout only when timeouts_enabled is set Bug 1727687 Change-Id: I7a7a4a2011b029474122fdbfbeb02b6302a5902b Signed-off-by: Richard Zhao Reviewed-on: http://git-master/r/1011486 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 6eecebf5..654388cb 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c @@ -214,6 +214,12 @@ u32 channel_gk20a_pbdma_acquire_val(struct channel_gk20a *c) u64 timeout; int val_len; + val = pbdma_acquire_retry_man_2_f() | + pbdma_acquire_retry_exp_2_f(); + + if (!c->g->timeouts_enabled) + return val; + timeout = gk20a_get_channel_watchdog_timeout(c); do_div(timeout, 2); /* set acquire timeout to half of channel wdt */ timeout *= 1000000UL; /* ms -> ns */ @@ -232,11 +238,10 @@ u32 channel_gk20a_pbdma_acquire_val(struct channel_gk20a *c) man = timeout; } - val = pbdma_acquire_retry_man_2_f() | - pbdma_acquire_retry_exp_2_f() | - pbdma_acquire_timeout_exp_f(exp) | + val |= pbdma_acquire_timeout_exp_f(exp) | pbdma_acquire_timeout_man_f(man) | pbdma_acquire_timeout_en_enable_f(); + return val; } -- cgit v1.2.2