From 18f9d05aae57d2ad8aabff3246653858703278b6 Mon Sep 17 00:00:00 2001 From: Sagar Kamble Date: Fri, 14 Feb 2020 20:09:45 +0530 Subject: [PATCH] gpu: nvgpu: spec_barrier & DMA_ERROR_CODE update These macros are not defined in future kernel. Bug 2834141 Change-Id: Ib2ee419b66f4d949fd538dfbb04b8cffa73c1e44 Signed-off-by: Sagar Kamble Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2299626 Tested-by: mobile promotions Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Debarshi Dutta Reviewed-by: Vijayakumar Subbu Reviewed-by: mobile promotions --- drivers/gpu/nvgpu/include/nvgpu/linux/barrier.h | 6 ++++++ drivers/gpu/nvgpu/os/linux/nvgpu_mem.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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);