diff --git a/drivers/gpu/nvgpu/include/nvgpu/linux/barrier.h b/drivers/gpu/nvgpu/include/nvgpu/linux/barrier.h index c10889fb6..2864b241d 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/linux/barrier.h +++ b/drivers/gpu/nvgpu/include/nvgpu/linux/barrier.h @@ -30,6 +30,12 @@ #define NV_READ_ONCE_IMPL(x) READ_ONCE(x) #define NV_WRITE_ONCE_IMPL(x, y) WRITE_ONCE(x, y) +#ifdef speculation_barrier #define nvgpu_speculation_barrier_impl() speculation_barrier() +#else +#define nvgpu_speculation_barrier_impl() ({ \ + asm volatile("dsb sy\n" \ + "isb\n" : : : "memory"); }) +#endif #endif /* __NVGPU_BARRIER_LINUX_H__ */ diff --git a/drivers/gpu/nvgpu/os/linux/nvgpu_mem.c b/drivers/gpu/nvgpu/os/linux/nvgpu_mem.c index 62d8bd622..40c609207 100644 --- a/drivers/gpu/nvgpu/os/linux/nvgpu_mem.c +++ b/drivers/gpu/nvgpu/os/linux/nvgpu_mem.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -37,6 +37,10 @@ #include "platform_gk20a.h" +#ifndef DMA_ERROR_CODE +#define DMA_ERROR_CODE DMA_MAPPING_ERROR +#endif + static u64 __nvgpu_sgl_ipa(struct gk20a *g, void *sgl) { return sg_phys((struct scatterlist *)sgl);