From 8c76c9806300a022bc1d0ba1e10f5026ea9a05c1 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 10 Jan 2019 15:43:37 -0800 Subject: [PATCH] gpu: nvgpu: Def sim_readl() and sim_writel() for POSIX Allow POSIX build by defining stubs for sim_readl() and sim_writel(). Add their declarations in include/nvgpu/sim.h to replace the build specific ones. JIRA NVGPU-1734 Change-Id: Ie51393e7e3bc54f3eadb01e8df15dd96343aa14a Signed-off-by: Terje Bergstrom Reviewed-on: https://git-master.nvidia.com/r/1992457 Reviewed-by: svc-misra-checker GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/Makefile.sources | 1 + drivers/gpu/nvgpu/include/nvgpu/linux/sim.h | 3 -- drivers/gpu/nvgpu/include/nvgpu/sim.h | 4 ++- drivers/gpu/nvgpu/os/posix/posix-sim.c | 35 +++++++++++++++++++++ 4 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 drivers/gpu/nvgpu/os/posix/posix-sim.c diff --git a/drivers/gpu/nvgpu/Makefile.sources b/drivers/gpu/nvgpu/Makefile.sources index 97c59c2e6..6142d8272 100644 --- a/drivers/gpu/nvgpu/Makefile.sources +++ b/drivers/gpu/nvgpu/Makefile.sources @@ -45,6 +45,7 @@ srcs := os/posix/nvgpu.c \ os/posix/lock.c \ os/posix/stubs.c \ os/posix/posix-fault-injection.c \ + os/posix/posix-sim.c \ common/init/nvgpu_init.c \ common/mm/allocators/nvgpu_allocator.c \ common/mm/allocators/bitmap_allocator.c \ diff --git a/drivers/gpu/nvgpu/include/nvgpu/linux/sim.h b/drivers/gpu/nvgpu/include/nvgpu/linux/sim.h index 99c6348b6..8fc4b7054 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/linux/sim.h +++ b/drivers/gpu/nvgpu/include/nvgpu/linux/sim.h @@ -29,9 +29,6 @@ struct sim_nvgpu_linux { void (*remove_support_linux)(struct gk20a *g); }; -void sim_writel(struct sim_nvgpu *sim, u32 r, u32 v); -u32 sim_readl(struct sim_nvgpu *sim, u32 r); - int nvgpu_init_sim_support_linux(struct gk20a *g, struct platform_device *dev); void nvgpu_remove_sim_support_linux(struct gk20a *g); diff --git a/drivers/gpu/nvgpu/include/nvgpu/sim.h b/drivers/gpu/nvgpu/include/nvgpu/sim.h index 071fd95c4..0f0af38d1 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/sim.h +++ b/drivers/gpu/nvgpu/include/nvgpu/sim.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -54,5 +54,7 @@ int nvgpu_alloc_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem); void nvgpu_free_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem); void nvgpu_free_sim_support(struct gk20a *g); void nvgpu_remove_sim_support(struct gk20a *g); +void sim_writel(struct sim_nvgpu *sim, u32 r, u32 v); +u32 sim_readl(struct sim_nvgpu *sim, u32 r); #endif /* NVGPU_SIM_H */ diff --git a/drivers/gpu/nvgpu/os/posix/posix-sim.c b/drivers/gpu/nvgpu/os/posix/posix-sim.c new file mode 100644 index 000000000..626ac8787 --- /dev/null +++ b/drivers/gpu/nvgpu/os/posix/posix-sim.c @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include +#include + +void sim_writel(struct sim_nvgpu *sim, u32 r, u32 v) +{ + BUG(); +} + +u32 sim_readl(struct sim_nvgpu *sim, u32 r) +{ + BUG(); + return 0; +}