summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/common/linux/ioctl_channel.c5
-rw-r--r--drivers/gpu/nvgpu/gk20a/css_gr_gk20a.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_channel.c b/drivers/gpu/nvgpu/common/linux/ioctl_channel.c
index e8f4c14b..b7856ca0 100644
--- a/drivers/gpu/nvgpu/common/linux/ioctl_channel.c
+++ b/drivers/gpu/nvgpu/common/linux/ioctl_channel.c
@@ -31,6 +31,7 @@
31#include <nvgpu/debug.h> 31#include <nvgpu/debug.h>
32#include <nvgpu/enabled.h> 32#include <nvgpu/enabled.h>
33#include <nvgpu/error_notifier.h> 33#include <nvgpu/error_notifier.h>
34#include <nvgpu/barrier.h>
34 35
35#include "gk20a/gk20a.h" 36#include "gk20a/gk20a.h"
36#include "gk20a/dbg_gpu_gk20a.h" 37#include "gk20a/dbg_gpu_gk20a.h"
@@ -368,6 +369,8 @@ static int gk20a_init_error_notifier(struct channel_gk20a *ch,
368 return -EINVAL; 369 return -EINVAL;
369 } 370 }
370 371
372 nvgpu_speculation_barrier();
373
371 /* map handle */ 374 /* map handle */
372 va = dma_buf_vmap(dmabuf); 375 va = dma_buf_vmap(dmabuf);
373 if (!va) { 376 if (!va) {
@@ -661,6 +664,8 @@ static int gk20a_channel_wait(struct channel_gk20a *ch,
661 return -EINVAL; 664 return -EINVAL;
662 } 665 }
663 666
667 nvgpu_speculation_barrier();
668
664 notif = dma_buf_vmap(dmabuf); 669 notif = dma_buf_vmap(dmabuf);
665 if (!notif) { 670 if (!notif) {
666 nvgpu_err(g, "failed to map notifier memory"); 671 nvgpu_err(g, "failed to map notifier memory");
diff --git a/drivers/gpu/nvgpu/gk20a/css_gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/css_gr_gk20a.c
index 40529471..114386a2 100644
--- a/drivers/gpu/nvgpu/gk20a/css_gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/css_gr_gk20a.c
@@ -31,13 +31,13 @@
31#include <nvgpu/dma.h> 31#include <nvgpu/dma.h>
32#include <nvgpu/mm.h> 32#include <nvgpu/mm.h>
33#include <nvgpu/sizes.h> 33#include <nvgpu/sizes.h>
34#include <nvgpu/barrier.h>
35#include <nvgpu/log.h>
36#include <nvgpu/bug.h>
34 37
35#include "gk20a.h" 38#include "gk20a.h"
36#include "css_gr_gk20a.h" 39#include "css_gr_gk20a.h"
37 40
38#include <nvgpu/log.h>
39#include <nvgpu/bug.h>
40
41#include <nvgpu/hw/gk20a/hw_perf_gk20a.h> 41#include <nvgpu/hw/gk20a/hw_perf_gk20a.h>
42#include <nvgpu/hw/gk20a/hw_mc_gk20a.h> 42#include <nvgpu/hw/gk20a/hw_mc_gk20a.h>
43 43
@@ -501,6 +501,8 @@ int gr_gk20a_css_attach(struct channel_gk20a *ch,
501 perfmon_count > CSS_MAX_PERFMON_IDS - CSS_FIRST_PERFMON_ID) 501 perfmon_count > CSS_MAX_PERFMON_IDS - CSS_FIRST_PERFMON_ID)
502 return -EINVAL; 502 return -EINVAL;
503 503
504 nvgpu_speculation_barrier();
505
504 gr = &g->gr; 506 gr = &g->gr;
505 507
506 nvgpu_mutex_acquire(&gr->cs_lock); 508 nvgpu_mutex_acquire(&gr->cs_lock);