From 81868a187fa3b217368206f17b19309846e8e7fb Mon Sep 17 00:00:00 2001 From: Debarshi Dutta Date: Fri, 18 Aug 2017 16:22:29 +0530 Subject: gpu: nvgpu: Nvgpu abstraction for linux barriers. construct wrapper nvgpu_* methods to replace mb,rmb,wmb,smp_mb,smp_rmb,smp_wmb,read_barrier_depends and smp_read_barrier_depends. NVGPU-122 Change-Id: I8d24dd70fef5cb0fadaacc15f3ab11531667a0df Signed-off-by: Debarshi Reviewed-on: https://git-master.nvidia.com/r/1541199 Reviewed-by: svccoveritychecker Reviewed-by: svc-mobile-coverity GVS: Gerrit_Virtual_Submit Reviewed-by: Sourab Gupta Reviewed-by: Vijayakumar Subbu --- drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'drivers/gpu/nvgpu/vgpu') diff --git a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c index c8519905..3f03e25a 100644 --- a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "vgpu/vgpu.h" #include "gk20a/ctxsw_trace_gk20a.h" @@ -42,7 +43,7 @@ static void vgpu_channel_bind(struct channel_gk20a *ch) err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg)); WARN_ON(err || msg.ret); - wmb(); + nvgpu_smp_wmb(); nvgpu_atomic_set(&ch->bound, true); } @@ -370,7 +371,7 @@ static int vgpu_init_fifo_setup_hw(struct gk20a *g) v = gk20a_bar1_readl(g, bar1_vaddr); *cpu_vaddr = v1; - smp_mb(); + nvgpu_smp_mb(); if (v1 != gk20a_bar1_readl(g, bar1_vaddr)) { nvgpu_err(g, "bar1 broken @ gk20a!"); @@ -728,7 +729,7 @@ static void vgpu_fifo_set_ctx_mmu_error(struct gk20a *g, /* mark channel as faulted */ ch->has_timedout = true; - wmb(); + nvgpu_smp_wmb(); /* unblock pending waits */ nvgpu_cond_broadcast_interruptible(&ch->semaphore_wq); nvgpu_cond_broadcast_interruptible(&ch->notifier_wq); -- cgit v1.2.2