summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/common/linux/soc.c5
-rw-r--r--drivers/gpu/nvgpu/common/nvgpu_common.c5
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/soc.h1
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
28bool nvgpu_platform_is_fpga(struct gk20a *g)
29{
30 return tegra_platform_is_fpga();
31}
32
28bool nvgpu_is_hypervisor_mode(struct gk20a *g) 33bool 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
69static void nvgpu_init_timeslice(struct gk20a *g) 74static 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
45struct channel_gk20a; 47struct channel_gk20a;
46 48
47enum /* global_ctx_buffer */ { 49enum /* 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
18bool nvgpu_platform_is_silicon(struct gk20a *g); 18bool nvgpu_platform_is_silicon(struct gk20a *g);
19bool nvgpu_platform_is_simulation(struct gk20a *g); 19bool nvgpu_platform_is_simulation(struct gk20a *g);
20bool nvgpu_platform_is_fpga(struct gk20a *g);
20bool nvgpu_is_hypervisor_mode(struct gk20a *g); 21bool nvgpu_is_hypervisor_mode(struct gk20a *g);
21 22
22#endif 23#endif