summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/os_linux.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-09-27 16:21:44 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-13 18:19:55 -0400
commitbe3750bc9eb60f8696c20b7298cc282eea17ac1b (patch)
treeb36fb818ce58a96fc7f2822480433057bd28faf4 /drivers/gpu/nvgpu/common/linux/os_linux.h
parentff9c3fc20a27444cd1ff7d9402965023e425f404 (diff)
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 <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1569698 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/os_linux.h')
-rw-r--r--drivers/gpu/nvgpu/common/linux/os_linux.h14
1 files changed, 14 insertions, 0 deletions
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 @@
18 18
19#include <linux/cdev.h> 19#include <linux/cdev.h>
20 20
21#ifdef CONFIG_TEGRA_19x_GPU
22#include <nvgpu/linux/os_linux_t19x.h>
23#endif
21#include "gk20a/gk20a.h" 24#include "gk20a/gk20a.h"
22#include "cde.h" 25#include "cde.h"
23 26
@@ -85,6 +88,17 @@ struct nvgpu_os_linux {
85 struct work_struct nonstall_fn_work; 88 struct work_struct nonstall_fn_work;
86 struct workqueue_struct *nonstall_work_queue; 89 struct workqueue_struct *nonstall_work_queue;
87 90
91 struct resource *reg_mem;
92 void __iomem *regs;
93 void __iomem *regs_saved;
94
95 struct resource *bar1_mem;
96 void __iomem *bar1;
97 void __iomem *bar1_saved;
98
99#ifdef CONFIG_TEGRA_19x_GPU
100 struct nvgpu_os_linux_t19x t19x;
101#endif
88#ifdef CONFIG_DEBUG_FS 102#ifdef CONFIG_DEBUG_FS
89 struct dentry *debugfs; 103 struct dentry *debugfs;
90 struct dentry *debugfs_alias; 104 struct dentry *debugfs_alias;