diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index 47e7d82e..fd249bc9 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <nvgpu/log2.h> | 30 | #include <nvgpu/log2.h> |
31 | #include <nvgpu/debug.h> | 31 | #include <nvgpu/debug.h> |
32 | #include <nvgpu/nvhost.h> | 32 | #include <nvgpu/nvhost.h> |
33 | #include <nvgpu/barrier.h> | ||
33 | 34 | ||
34 | #include "gk20a.h" | 35 | #include "gk20a.h" |
35 | #include "ctxsw_trace_gk20a.h" | 36 | #include "ctxsw_trace_gk20a.h" |
@@ -966,7 +967,7 @@ int gk20a_init_fifo_setup_hw(struct gk20a *g) | |||
966 | v = gk20a_bar1_readl(g, bar1_vaddr); | 967 | v = gk20a_bar1_readl(g, bar1_vaddr); |
967 | 968 | ||
968 | *cpu_vaddr = v1; | 969 | *cpu_vaddr = v1; |
969 | smp_mb(); | 970 | nvgpu_smp_mb(); |
970 | 971 | ||
971 | if (v1 != gk20a_bar1_readl(g, bar1_vaddr)) { | 972 | if (v1 != gk20a_bar1_readl(g, bar1_vaddr)) { |
972 | nvgpu_err(g, "bar1 broken @ gk20a: CPU wrote 0x%x, \ | 973 | nvgpu_err(g, "bar1 broken @ gk20a: CPU wrote 0x%x, \ |
@@ -1309,7 +1310,7 @@ static void gk20a_fifo_set_has_timedout_and_wake_up_wqs(struct gk20a *g, | |||
1309 | if (refch) { | 1310 | if (refch) { |
1310 | /* mark channel as faulted */ | 1311 | /* mark channel as faulted */ |
1311 | refch->has_timedout = true; | 1312 | refch->has_timedout = true; |
1312 | wmb(); | 1313 | nvgpu_smp_wmb(); |
1313 | /* unblock pending waits */ | 1314 | /* unblock pending waits */ |
1314 | nvgpu_cond_broadcast_interruptible(&refch->semaphore_wq); | 1315 | nvgpu_cond_broadcast_interruptible(&refch->semaphore_wq); |
1315 | nvgpu_cond_broadcast_interruptible(&refch->notifier_wq); | 1316 | nvgpu_cond_broadcast_interruptible(&refch->notifier_wq); |