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/common/linux | |
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/common/linux')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/soc.c | 31 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/timers.c | 5 |
2 files changed, 34 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/soc.c b/drivers/gpu/nvgpu/common/linux/soc.c new file mode 100644 index 00000000..d2bb5275 --- /dev/null +++ b/drivers/gpu/nvgpu/common/linux/soc.c | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it | ||
5 | * under the terms and conditions of the GNU General Public License, | ||
6 | * version 2, as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
11 | * more details. | ||
12 | */ | ||
13 | |||
14 | #include <soc/tegra/chip-id.h> | ||
15 | |||
16 | #include <nvgpu/soc.h> | ||
17 | |||
18 | bool nvgpu_platform_is_silicon(struct gk20a *g) | ||
19 | { | ||
20 | return tegra_platform_is_silicon(); | ||
21 | } | ||
22 | |||
23 | bool nvgpu_platform_is_simulation(struct gk20a *g) | ||
24 | { | ||
25 | return tegra_platform_is_linsim() || tegra_platform_is_vdk(); | ||
26 | } | ||
27 | |||
28 | bool nvgpu_is_hypervisor_mode(struct gk20a *g) | ||
29 | { | ||
30 | return is_tegra_hypervisor_mode(); | ||
31 | } | ||
diff --git a/drivers/gpu/nvgpu/common/linux/timers.c b/drivers/gpu/nvgpu/common/linux/timers.c index 07eb357a..9fe84b50 100644 --- a/drivers/gpu/nvgpu/common/linux/timers.c +++ b/drivers/gpu/nvgpu/common/linux/timers.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
5 | * under the terms and conditions of the GNU General Public License, | 5 | * under the terms and conditions of the GNU General Public License, |
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/delay.h> | 18 | #include <linux/delay.h> |
19 | 19 | ||
20 | #include <nvgpu/timers.h> | 20 | #include <nvgpu/timers.h> |
21 | #include <nvgpu/soc.h> | ||
21 | 22 | ||
22 | #include "gk20a/gk20a.h" | 23 | #include "gk20a/gk20a.h" |
23 | 24 | ||
@@ -31,7 +32,7 @@ static int nvgpu_timeout_is_pre_silicon(struct nvgpu_timeout *timeout) | |||
31 | if (timeout->flags & NVGPU_TIMER_NO_PRE_SI) | 32 | if (timeout->flags & NVGPU_TIMER_NO_PRE_SI) |
32 | return 0; | 33 | return 0; |
33 | 34 | ||
34 | return !tegra_platform_is_silicon(); | 35 | return !nvgpu_platform_is_silicon(timeout->g); |
35 | } | 36 | } |
36 | 37 | ||
37 | /** | 38 | /** |