From be3750bc9eb60f8696c20b7298cc282eea17ac1b Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Wed, 27 Sep 2017 13:21:44 -0700 Subject: gpu: nvgpu: Abstract IO aperture accessors Add abstraction of IO aperture accessors. Add new functions gk20a_io_exists() and gk20a_io_valid_reg() to remove dependencies to aperture fields from common code. Implement Linux version of the abstraction by moving gk20a_readl() and gk20a_writel() to new Linux specific io.c. Move the fields defining IO aperture to nvgpu_os_linux. Add t19x specific IO aperture initialization functions and add t19x specific section to nvgpu_os_linux. JIRA NVGPU-259 Change-Id: I09e79cda60d11a20d1099a9aaa6d2375236e94ce Signed-off-by: Terje Bergstrom Reviewed-on: https://git-master.nvidia.com/r/1569698 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/os_linux.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'drivers/gpu/nvgpu/common/linux/os_linux.h') diff --git a/drivers/gpu/nvgpu/common/linux/os_linux.h b/drivers/gpu/nvgpu/common/linux/os_linux.h index 48479843..4a3128c3 100644 --- a/drivers/gpu/nvgpu/common/linux/os_linux.h +++ b/drivers/gpu/nvgpu/common/linux/os_linux.h @@ -18,6 +18,9 @@ #include +#ifdef CONFIG_TEGRA_19x_GPU +#include +#endif #include "gk20a/gk20a.h" #include "cde.h" @@ -85,6 +88,17 @@ struct nvgpu_os_linux { struct work_struct nonstall_fn_work; struct workqueue_struct *nonstall_work_queue; + struct resource *reg_mem; + void __iomem *regs; + void __iomem *regs_saved; + + struct resource *bar1_mem; + void __iomem *bar1; + void __iomem *bar1_saved; + +#ifdef CONFIG_TEGRA_19x_GPU + struct nvgpu_os_linux_t19x t19x; +#endif #ifdef CONFIG_DEBUG_FS struct dentry *debugfs; struct dentry *debugfs_alias; -- cgit v1.2.2