diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-03-29 18:00:24 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-11 13:56:06 -0400 |
commit | 19fdb429c2b04d13faecad8b2e5466e9f3c7b8c7 (patch) | |
tree | e92f6d93ae2593286546f983b9a1fff8638aa9a6 /drivers/gpu/nvgpu/gk20a/gk20a.c | |
parent | 1a4647272f4fe50137c79583b698c1ef6f5def12 (diff) |
gpu: nvgpu: Wrappers for checking platform type
Add nvgpu_* wrappers for determining if we're running in simulation
or silicon, and if we're running in hypervisor.
The new wrappers require struct gk20a pointer, and gk20a_fence_wait()
did not have access to one. Add struct gk20a pointer as the first
parameter.
JIRA NVGPU-16
Change-Id: I73b2b8f091ca29fb1827054abd2adaf583710331
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1331565
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 5fc57494..339656c7 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -43,6 +43,7 @@ | |||
43 | #include <nvgpu/kmem.h> | 43 | #include <nvgpu/kmem.h> |
44 | #include <nvgpu/allocator.h> | 44 | #include <nvgpu/allocator.h> |
45 | #include <nvgpu/timers.h> | 45 | #include <nvgpu/timers.h> |
46 | #include <nvgpu/soc.h> | ||
46 | 47 | ||
47 | #include "gk20a.h" | 48 | #include "gk20a.h" |
48 | #include "debug_gk20a.h" | 49 | #include "debug_gk20a.h" |
@@ -295,7 +296,7 @@ static int gk20a_init_support(struct platform_device *dev) | |||
295 | goto fail; | 296 | goto fail; |
296 | } | 297 | } |
297 | 298 | ||
298 | if (tegra_cpu_is_asim()) { | 299 | if (nvgpu_platform_is_simulation(g)) { |
299 | err = gk20a_init_sim_support(dev); | 300 | err = gk20a_init_sim_support(dev); |
300 | if (err) | 301 | if (err) |
301 | goto fail; | 302 | goto fail; |
@@ -954,9 +955,6 @@ static int gk20a_probe(struct platform_device *dev) | |||
954 | return -ENODATA; | 955 | return -ENODATA; |
955 | } | 956 | } |
956 | 957 | ||
957 | if (tegra_platform_is_linsim() || tegra_platform_is_vdk()) | ||
958 | platform->is_fmodel = true; | ||
959 | |||
960 | gk20a_dbg_fn(""); | 958 | gk20a_dbg_fn(""); |
961 | 959 | ||
962 | platform_set_drvdata(dev, platform); | 960 | platform_set_drvdata(dev, platform); |
@@ -973,6 +971,9 @@ static int gk20a_probe(struct platform_device *dev) | |||
973 | set_gk20a(dev, gk20a); | 971 | set_gk20a(dev, gk20a); |
974 | gk20a->dev = &dev->dev; | 972 | gk20a->dev = &dev->dev; |
975 | 973 | ||
974 | if (nvgpu_platform_is_simulation(gk20a)) | ||
975 | platform->is_fmodel = true; | ||
976 | |||
976 | nvgpu_kmem_init(gk20a); | 977 | nvgpu_kmem_init(gk20a); |
977 | 978 | ||
978 | gk20a->irq_stall = platform_get_irq(dev, 0); | 979 | gk20a->irq_stall = platform_get_irq(dev, 0); |
@@ -1030,7 +1031,7 @@ static int gk20a_probe(struct platform_device *dev) | |||
1030 | return err; | 1031 | return err; |
1031 | } | 1032 | } |
1032 | 1033 | ||
1033 | gk20a->mm.has_physical_mode = !is_tegra_hypervisor_mode(); | 1034 | gk20a->mm.has_physical_mode = !nvgpu_is_hypervisor_mode(gk20a); |
1034 | 1035 | ||
1035 | return 0; | 1036 | return 0; |
1036 | } | 1037 | } |