diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/soc.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/nvgpu_common.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/soc.h | 1 |
4 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/soc.c b/drivers/gpu/nvgpu/common/linux/soc.c index d2bb5275..f0cbc3e7 100644 --- a/drivers/gpu/nvgpu/common/linux/soc.c +++ b/drivers/gpu/nvgpu/common/linux/soc.c | |||
@@ -25,6 +25,11 @@ bool nvgpu_platform_is_simulation(struct gk20a *g) | |||
25 | return tegra_platform_is_linsim() || tegra_platform_is_vdk(); | 25 | return tegra_platform_is_linsim() || tegra_platform_is_vdk(); |
26 | } | 26 | } |
27 | 27 | ||
28 | bool nvgpu_platform_is_fpga(struct gk20a *g) | ||
29 | { | ||
30 | return tegra_platform_is_fpga(); | ||
31 | } | ||
32 | |||
28 | bool nvgpu_is_hypervisor_mode(struct gk20a *g) | 33 | bool nvgpu_is_hypervisor_mode(struct gk20a *g) |
29 | { | 34 | { |
30 | return is_tegra_hypervisor_mode(); | 35 | return is_tegra_hypervisor_mode(); |
diff --git a/drivers/gpu/nvgpu/common/nvgpu_common.c b/drivers/gpu/nvgpu/common/nvgpu_common.c index a78da93d..0c812d34 100644 --- a/drivers/gpu/nvgpu/common/nvgpu_common.c +++ b/drivers/gpu/nvgpu/common/nvgpu_common.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include "gk20a/gk20a_scale.h" | 25 | #include "gk20a/gk20a_scale.h" |
26 | #include "gk20a/gk20a.h" | 26 | #include "gk20a/gk20a.h" |
27 | #include "gk20a/gr_gk20a.h" | ||
27 | 28 | ||
28 | #define EMC3D_DEFAULT_RATIO 750 | 29 | #define EMC3D_DEFAULT_RATIO 750 |
29 | 30 | ||
@@ -64,6 +65,10 @@ static void nvgpu_init_timeout(struct gk20a *g) | |||
64 | g->gr_idle_timeout_default = CONFIG_GK20A_DEFAULT_TIMEOUT; | 65 | g->gr_idle_timeout_default = CONFIG_GK20A_DEFAULT_TIMEOUT; |
65 | if (nvgpu_platform_is_silicon(g)) | 66 | if (nvgpu_platform_is_silicon(g)) |
66 | g->timeouts_enabled = true; | 67 | g->timeouts_enabled = true; |
68 | else if (nvgpu_platform_is_fpga(g)) { | ||
69 | g->gr_idle_timeout_default = GK20A_TIMEOUT_FPGA; | ||
70 | g->timeouts_enabled = true; | ||
71 | } | ||
67 | } | 72 | } |
68 | 73 | ||
69 | static void nvgpu_init_timeslice(struct gk20a *g) | 74 | static void nvgpu_init_timeslice(struct gk20a *g) |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index e05eeb3d..24bfb3b7 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -42,6 +42,8 @@ | |||
42 | 42 | ||
43 | #define GK20A_GR_MAX_PES_PER_GPC 3 | 43 | #define GK20A_GR_MAX_PES_PER_GPC 3 |
44 | 44 | ||
45 | #define GK20A_TIMEOUT_FPGA 100000 /* 100 sec */ | ||
46 | |||
45 | struct channel_gk20a; | 47 | struct channel_gk20a; |
46 | 48 | ||
47 | enum /* global_ctx_buffer */ { | 49 | enum /* global_ctx_buffer */ { |
diff --git a/drivers/gpu/nvgpu/include/nvgpu/soc.h b/drivers/gpu/nvgpu/include/nvgpu/soc.h index 739d5eb0..e603140c 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/soc.h +++ b/drivers/gpu/nvgpu/include/nvgpu/soc.h | |||
@@ -17,6 +17,7 @@ struct gk20a; | |||
17 | 17 | ||
18 | bool nvgpu_platform_is_silicon(struct gk20a *g); | 18 | bool nvgpu_platform_is_silicon(struct gk20a *g); |
19 | bool nvgpu_platform_is_simulation(struct gk20a *g); | 19 | bool nvgpu_platform_is_simulation(struct gk20a *g); |
20 | bool nvgpu_platform_is_fpga(struct gk20a *g); | ||
20 | bool nvgpu_is_hypervisor_mode(struct gk20a *g); | 21 | bool nvgpu_is_hypervisor_mode(struct gk20a *g); |
21 | 22 | ||
22 | #endif | 23 | #endif |