From 2a2c16af5f9f1ccfc93a13e820d5381e5c881e92 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Wed, 18 Apr 2018 12:59:00 -0700 Subject: gpu: nvgpu: Move Linux files away from common Move all Linux source code files to drivers/gpu/nvgpu/os/linux from drivers/gpu/nvgpu/common/linux. This changes the meaning of common to be OS independent. JIRA NVGPU-598 JIRA NVGPU-601 Change-Id: Ib7f2a43d3688bb0d0b7dcc48469a6783fd988ce9 Signed-off-by: Terje Bergstrom Reviewed-on: https://git-master.nvidia.com/r/1747714 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/io.c | 118 ------------------------------------ 1 file changed, 118 deletions(-) delete mode 100644 drivers/gpu/nvgpu/common/linux/io.c (limited to 'drivers/gpu/nvgpu/common/linux/io.c') diff --git a/drivers/gpu/nvgpu/common/linux/io.c b/drivers/gpu/nvgpu/common/linux/io.c deleted file mode 100644 index c06512a5..00000000 --- a/drivers/gpu/nvgpu/common/linux/io.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2017-2018, 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, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - */ - -#include -#include - -#include "os_linux.h" -#include "gk20a/gk20a.h" - -void nvgpu_writel(struct gk20a *g, u32 r, u32 v) -{ - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); - - if (unlikely(!l->regs)) { - __gk20a_warn_on_no_regs(); - nvgpu_log(g, gpu_dbg_reg, "r=0x%x v=0x%x (failed)", r, v); - } else { - writel_relaxed(v, l->regs + r); - nvgpu_wmb(); - nvgpu_log(g, gpu_dbg_reg, "r=0x%x v=0x%x", r, v); - } -} - -u32 nvgpu_readl(struct gk20a *g, u32 r) -{ - u32 v = __nvgpu_readl(g, r); - - if (v == 0xffffffff) - __nvgpu_check_gpu_state(g); - - return v; -} - -u32 __nvgpu_readl(struct gk20a *g, u32 r) -{ - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); - u32 v = 0xffffffff; - - if (unlikely(!l->regs)) { - __gk20a_warn_on_no_regs(); - nvgpu_log(g, gpu_dbg_reg, "r=0x%x v=0x%x (failed)", r, v); - } else { - v = readl(l->regs + r); - nvgpu_log(g, gpu_dbg_reg, "r=0x%x v=0x%x", r, v); - } - - return v; -} - -void nvgpu_writel_check(struct gk20a *g, u32 r, u32 v) -{ - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); - - if (unlikely(!l->regs)) { - __gk20a_warn_on_no_regs(); - nvgpu_log(g, gpu_dbg_reg, "r=0x%x v=0x%x (failed)", r, v); - } else { - nvgpu_wmb(); - do { - writel_relaxed(v, l->regs + r); - } while (readl(l->regs + r) != v); - nvgpu_log(g, gpu_dbg_reg, "r=0x%x v=0x%x", r, v); - } -} - -void nvgpu_bar1_writel(struct gk20a *g, u32 b, u32 v) -{ - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); - - if (unlikely(!l->bar1)) { - __gk20a_warn_on_no_regs(); - nvgpu_log(g, gpu_dbg_reg, "b=0x%x v=0x%x (failed)", b, v); - } else { - nvgpu_wmb(); - writel_relaxed(v, l->bar1 + b); - nvgpu_log(g, gpu_dbg_reg, "b=0x%x v=0x%x", b, v); - } -} - -u32 nvgpu_bar1_readl(struct gk20a *g, u32 b) -{ - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); - u32 v = 0xffffffff; - - if (unlikely(!l->bar1)) { - __gk20a_warn_on_no_regs(); - nvgpu_log(g, gpu_dbg_reg, "b=0x%x v=0x%x (failed)", b, v); - } else { - v = readl(l->bar1 + b); - nvgpu_log(g, gpu_dbg_reg, "b=0x%x v=0x%x", b, v); - } - - return v; -} - -bool nvgpu_io_exists(struct gk20a *g) -{ - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); - - return l->regs != NULL; -} - -bool nvgpu_io_valid_reg(struct gk20a *g, u32 r) -{ - struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); - - return r < resource_size(l->regs); -} -- cgit v1.2.2