summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntony Clince Alex <aalex@nvidia.com>2018-04-26 00:29:35 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-05-09 21:25:54 -0400
commit7e66f2a63d4855e763fa768047dfc32f6f96b771 (patch)
tree2c460b497653a361eeff58e6e2ddb5601eeb43b1
parent50d1b0c72bfa5bf662c04db85e39c04ca3abfd67 (diff)
gpu: nvgpu: created os-agnostic sim header.
added a os-agnostic sim.h header which could be included in by any platform, moved out os specific headers to nvgpu/linux. JIRA VQRM-2368 Change-Id: I3861bfa75a6b8d2d909bc7223467fd68c208275b Signed-off-by: Antony Clince Alex <aalex@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1702816 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/common/linux/module.c2
-rw-r--r--drivers/gpu/nvgpu/common/linux/pci.c3
-rw-r--r--drivers/gpu/nvgpu/common/linux/sim.c7
-rw-r--r--drivers/gpu/nvgpu/common/linux/sim_pci.c4
-rw-r--r--drivers/gpu/nvgpu/common/sim.c3
-rw-r--r--drivers/gpu/nvgpu/common/sim_pci.c2
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a_sim.c2
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/linux/sim.h (renamed from drivers/gpu/nvgpu/common/linux/sim.h)9
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/linux/sim_pci.h (renamed from drivers/gpu/nvgpu/common/linux/sim_pci.h)5
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/sim.h (renamed from drivers/gpu/nvgpu/gk20a/sim_gk20a.h)27
11 files changed, 31 insertions, 35 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c
index e2b52dad..34850013 100644
--- a/drivers/gpu/nvgpu/common/linux/module.c
+++ b/drivers/gpu/nvgpu/common/linux/module.c
@@ -41,6 +41,7 @@
41#include <nvgpu/debug.h> 41#include <nvgpu/debug.h>
42#include <nvgpu/ctxsw_trace.h> 42#include <nvgpu/ctxsw_trace.h>
43#include <nvgpu/vidmem.h> 43#include <nvgpu/vidmem.h>
44#include <nvgpu/sim.h>
44 45
45#include "platform_gk20a.h" 46#include "platform_gk20a.h"
46#include "sysfs.h" 47#include "sysfs.h"
@@ -51,7 +52,6 @@
51#include "module_usermode.h" 52#include "module_usermode.h"
52#include "intr.h" 53#include "intr.h"
53#include "ioctl.h" 54#include "ioctl.h"
54#include "sim.h"
55 55
56#include "os_linux.h" 56#include "os_linux.h"
57#include "ctxsw_trace.h" 57#include "ctxsw_trace.h"
diff --git a/drivers/gpu/nvgpu/common/linux/pci.c b/drivers/gpu/nvgpu/common/linux/pci.c
index a9bcca70..b860e35e 100644
--- a/drivers/gpu/nvgpu/common/linux/pci.c
+++ b/drivers/gpu/nvgpu/common/linux/pci.c
@@ -35,8 +35,7 @@
35#include "sysfs.h" 35#include "sysfs.h"
36#include "os_linux.h" 36#include "os_linux.h"
37#include "platform_gk20a.h" 37#include "platform_gk20a.h"
38#include "sim.h" 38#include <nvgpu/sim.h>
39#include "sim_pci.h"
40 39
41#include "pci.h" 40#include "pci.h"
42#include "pci_usermode.h" 41#include "pci_usermode.h"
diff --git a/drivers/gpu/nvgpu/common/linux/sim.c b/drivers/gpu/nvgpu/common/linux/sim.c
index 5406035b..8e964f39 100644
--- a/drivers/gpu/nvgpu/common/linux/sim.c
+++ b/drivers/gpu/nvgpu/common/linux/sim.c
@@ -25,11 +25,11 @@
25#include <nvgpu/dma.h> 25#include <nvgpu/dma.h>
26#include <nvgpu/soc.h> 26#include <nvgpu/soc.h>
27#include <nvgpu/hw_sim.h> 27#include <nvgpu/hw_sim.h>
28#include <nvgpu/sim.h>
28#include "gk20a/gk20a.h" 29#include "gk20a/gk20a.h"
29#include "platform_gk20a.h" 30#include "platform_gk20a.h"
30#include "os_linux.h" 31#include "os_linux.h"
31#include "module.h" 32#include "module.h"
32#include "sim.h" /* will be removed in next patch */
33 33
34void sim_writel(struct sim_nvgpu *sim, u32 r, u32 v) 34void sim_writel(struct sim_nvgpu *sim, u32 r, u32 v)
35{ 35{
@@ -51,10 +51,9 @@ void nvgpu_remove_sim_support_linux(struct gk20a *g)
51{ 51{
52 struct sim_nvgpu_linux *sim_linux; 52 struct sim_nvgpu_linux *sim_linux;
53 53
54 if (!g->sim) { 54 if (!g->sim)
55 nvgpu_warn(g, "sim not allocated or not in sim_mode");
56 return; 55 return;
57 } 56
58 sim_linux = container_of(g->sim, struct sim_nvgpu_linux, sim); 57 sim_linux = container_of(g->sim, struct sim_nvgpu_linux, sim);
59 if (sim_linux->regs) { 58 if (sim_linux->regs) {
60 sim_writel(g->sim, sim_config_r(), sim_config_mode_disabled_v()); 59 sim_writel(g->sim, sim_config_r(), sim_config_mode_disabled_v());
diff --git a/drivers/gpu/nvgpu/common/linux/sim_pci.c b/drivers/gpu/nvgpu/common/linux/sim_pci.c
index 9dac630c..d37767b7 100644
--- a/drivers/gpu/nvgpu/common/linux/sim_pci.c
+++ b/drivers/gpu/nvgpu/common/linux/sim_pci.c
@@ -24,11 +24,10 @@
24#include <nvgpu/nvgpu_mem.h> 24#include <nvgpu/nvgpu_mem.h>
25#include <nvgpu/dma.h> 25#include <nvgpu/dma.h>
26#include <nvgpu/hw_sim_pci.h> 26#include <nvgpu/hw_sim_pci.h>
27#include <nvgpu/sim.h>
27#include "gk20a/gk20a.h" 28#include "gk20a/gk20a.h"
28#include "os_linux.h" 29#include "os_linux.h"
29#include "module.h" 30#include "module.h"
30#include "sim.h" /* will be removed in subsequent patches */
31#include "sim_pci.h"/* will be removed in subsequent patches */
32 31
33static bool _nvgpu_pci_is_simulation(struct gk20a *g, u32 sim_base) 32static bool _nvgpu_pci_is_simulation(struct gk20a *g, u32 sim_base)
34{ 33{
@@ -50,7 +49,6 @@ void nvgpu_remove_sim_support_linux_pci(struct gk20a *g)
50 is_simulation = _nvgpu_pci_is_simulation(g, sim_r()); 49 is_simulation = _nvgpu_pci_is_simulation(g, sim_r());
51 50
52 if (!is_simulation) { 51 if (!is_simulation) {
53 nvgpu_warn(g, "not in sim_mode");
54 return; 52 return;
55 } 53 }
56 54
diff --git a/drivers/gpu/nvgpu/common/sim.c b/drivers/gpu/nvgpu/common/sim.c
index 0f88ec4d..6094d063 100644
--- a/drivers/gpu/nvgpu/common/sim.c
+++ b/drivers/gpu/nvgpu/common/sim.c
@@ -26,9 +26,8 @@
26#include <nvgpu/dma.h> 26#include <nvgpu/dma.h>
27#include <nvgpu/io.h> 27#include <nvgpu/io.h>
28#include <nvgpu/hw_sim.h> 28#include <nvgpu/hw_sim.h>
29#include <nvgpu/sim.h>
29#include "gk20a/gk20a.h" 30#include "gk20a/gk20a.h"
30#include "linux/sim.h"
31
32 31
33int nvgpu_alloc_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem) 32int nvgpu_alloc_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem)
34{ 33{
diff --git a/drivers/gpu/nvgpu/common/sim_pci.c b/drivers/gpu/nvgpu/common/sim_pci.c
index b4ca7bad..a72623e9 100644
--- a/drivers/gpu/nvgpu/common/sim_pci.c
+++ b/drivers/gpu/nvgpu/common/sim_pci.c
@@ -24,8 +24,8 @@
24#include <nvgpu/nvgpu_mem.h> 24#include <nvgpu/nvgpu_mem.h>
25#include <nvgpu/dma.h> 25#include <nvgpu/dma.h>
26#include <nvgpu/hw_sim_pci.h> 26#include <nvgpu/hw_sim_pci.h>
27#include <nvgpu/sim.h>
27#include "gk20a/gk20a.h" 28#include "gk20a/gk20a.h"
28#include "linux/sim.h"
29 29
30static inline u32 sim_msg_header_size(void) 30static inline u32 sim_msg_header_size(void)
31{ 31{
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 7e1e751b..aac3380e 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -63,13 +63,13 @@ struct nvgpu_ctxsw_trace_filter;
63#include <nvgpu/rwsem.h> 63#include <nvgpu/rwsem.h>
64#include <nvgpu/clk_arb.h> 64#include <nvgpu/clk_arb.h>
65#include <nvgpu/nvlink.h> 65#include <nvgpu/nvlink.h>
66#include <nvgpu/sim.h>
66 67
67#include "clk_gk20a.h" 68#include "clk_gk20a.h"
68#include "ce2_gk20a.h" 69#include "ce2_gk20a.h"
69#include "fifo_gk20a.h" 70#include "fifo_gk20a.h"
70#include "tsg_gk20a.h" 71#include "tsg_gk20a.h"
71#include "gr_gk20a.h" 72#include "gr_gk20a.h"
72#include "sim_gk20a.h"
73#include "pmu_gk20a.h" 73#include "pmu_gk20a.h"
74#include "priv_ring_gk20a.h" 74#include "priv_ring_gk20a.h"
75#include "therm_gk20a.h" 75#include "therm_gk20a.h"
diff --git a/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a_sim.c b/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a_sim.c
index 146b0e22..9674e2d6 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a_sim.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a_sim.c
@@ -25,7 +25,7 @@
25 */ 25 */
26 26
27#include "gk20a.h" 27#include "gk20a.h"
28#include "sim_gk20a.h" 28#include <nvgpu/sim.h>
29#include "gr_ctx_gk20a.h" 29#include "gr_ctx_gk20a.h"
30 30
31#include <nvgpu/log.h> 31#include <nvgpu/log.h>
diff --git a/drivers/gpu/nvgpu/common/linux/sim.h b/drivers/gpu/nvgpu/include/nvgpu/linux/sim.h
index 12f1a255..c5aab899 100644
--- a/drivers/gpu/nvgpu/common/linux/sim.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/linux/sim.h
@@ -20,8 +20,7 @@
20#ifndef __SIM_LINUX_H__ 20#ifndef __SIM_LINUX_H__
21#define __SIM_LINUX_H__ 21#define __SIM_LINUX_H__
22 22
23#include <nvgpu/nvgpu_mem.h> 23#include <linux/platform_device.h>
24#include "gk20a/sim_gk20a.h"
25 24
26struct sim_nvgpu_linux { 25struct sim_nvgpu_linux {
27 struct sim_nvgpu sim; 26 struct sim_nvgpu sim;
@@ -32,11 +31,7 @@ struct sim_nvgpu_linux {
32 31
33void sim_writel(struct sim_nvgpu *sim, u32 r, u32 v); 32void sim_writel(struct sim_nvgpu *sim, u32 r, u32 v);
34u32 sim_readl(struct sim_nvgpu *sim, u32 r); 33u32 sim_readl(struct sim_nvgpu *sim, u32 r);
35int nvgpu_init_sim_support(struct gk20a *g); /* will be moved to common in subsequent patch */ 34
36int nvgpu_alloc_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem); /* will be moved to common in subsequent patch */
37void nvgpu_free_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem); /* will be moved to common in subsequent patch */
38void nvgpu_free_sim_support(struct gk20a *g); /* will be moved to common in subsequent patch */
39void nvgpu_remove_sim_support(struct gk20a *g); /* will be moved to common in subsequent patch */
40int nvgpu_init_sim_support_linux(struct gk20a *g, 35int nvgpu_init_sim_support_linux(struct gk20a *g,
41 struct platform_device *dev); 36 struct platform_device *dev);
42void nvgpu_remove_sim_support_linux(struct gk20a *g); 37void nvgpu_remove_sim_support_linux(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/common/linux/sim_pci.h b/drivers/gpu/nvgpu/include/nvgpu/linux/sim_pci.h
index 645dbdbd..5784ecba 100644
--- a/drivers/gpu/nvgpu/common/linux/sim_pci.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/linux/sim_pci.h
@@ -20,10 +20,7 @@
20#ifndef __SIM_PCI_LINUX_H__ 20#ifndef __SIM_PCI_LINUX_H__
21#define __SIM_PCI_LINUX_H__ 21#define __SIM_PCI_LINUX_H__
22 22
23#include "gk20a/sim_gk20a.h"
24#include "sim.h"
25
26int nvgpu_init_sim_support_pci(struct gk20a *g); /* this will be moved */
27int nvgpu_init_sim_support_linux_pci(struct gk20a *g); 23int nvgpu_init_sim_support_linux_pci(struct gk20a *g);
28void nvgpu_remove_sim_support_linux_pci(struct gk20a *g); 24void nvgpu_remove_sim_support_linux_pci(struct gk20a *g);
25
29#endif 26#endif
diff --git a/drivers/gpu/nvgpu/gk20a/sim_gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/sim.h
index e74d33d5..78b749dd 100644
--- a/drivers/gpu/nvgpu/gk20a/sim_gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/sim.h
@@ -1,9 +1,5 @@
1/* 1/*
2 * drivers/video/tegra/host/gk20a/sim_gk20a.h 2 * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * GK20A sim support
5 *
6 * Copyright (c) 2013-2018, NVIDIA CORPORATION. All rights reserved.
7 * 3 *
8 * Permission is hereby granted, free of charge, to any person obtaining a 4 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the "Software"), 5 * copy of this software and associated documentation files (the "Software"),
@@ -23,11 +19,12 @@
23 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 * DEALINGS IN THE SOFTWARE. 20 * DEALINGS IN THE SOFTWARE.
25 */ 21 */
26#ifndef __SIM_GK20A_H__ 22#ifndef __NVGPU_SIM_H__
27#define __SIM_GK20A_H__ 23#define __NVGPU_SIM_H__
28 24
29struct gk20a; 25#include <nvgpu/nvgpu_mem.h>
30 26
27struct gk20a;
31struct sim_nvgpu { 28struct sim_nvgpu {
32 struct gk20a *g; 29 struct gk20a *g;
33 u32 send_ring_put; 30 u32 send_ring_put;
@@ -41,5 +38,17 @@ struct sim_nvgpu {
41 int (*esc_readl)( 38 int (*esc_readl)(
42 struct gk20a *g, char *path, u32 index, u32 *data); 39 struct gk20a *g, char *path, u32 index, u32 *data);
43}; 40};
41#ifdef __KERNEL__
42#include "linux/sim.h"
43#include "linux/sim_pci.h"
44#else
45
46#endif
47int nvgpu_init_sim_support(struct gk20a *g);
48int nvgpu_init_sim_support_pci(struct gk20a *g);
49int nvgpu_alloc_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem);
50void nvgpu_free_sim_buffer(struct gk20a *g, struct nvgpu_mem *mem);
51void nvgpu_free_sim_support(struct gk20a *g);
52void nvgpu_remove_sim_support(struct gk20a *g);
44 53
45#endif /*__SIM_GK20A_H__*/ 54#endif