diff options
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/platform_gp10b_tegra.c')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/platform_gp10b_tegra.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/platform_gp10b_tegra.c b/drivers/gpu/nvgpu/os/linux/platform_gp10b_tegra.c index c5527f2d..9bf8d637 100644 --- a/drivers/gpu/nvgpu/os/linux/platform_gp10b_tegra.c +++ b/drivers/gpu/nvgpu/os/linux/platform_gp10b_tegra.c | |||
@@ -141,6 +141,8 @@ static void gp10b_tegra_scale_exit(struct device *dev) | |||
141 | static int gp10b_tegra_probe(struct device *dev) | 141 | static int gp10b_tegra_probe(struct device *dev) |
142 | { | 142 | { |
143 | struct gk20a_platform *platform = dev_get_drvdata(dev); | 143 | struct gk20a_platform *platform = dev_get_drvdata(dev); |
144 | bool joint_xpu_rail = false; | ||
145 | struct gk20a *g = platform->g; | ||
144 | #ifdef CONFIG_TEGRA_GK20A_NVHOST | 146 | #ifdef CONFIG_TEGRA_GK20A_NVHOST |
145 | int ret; | 147 | int ret; |
146 | 148 | ||
@@ -163,6 +165,17 @@ static int gp10b_tegra_probe(struct device *dev) | |||
163 | platform->g->gr.ctx_vars.force_preemption_gfxp = false; | 165 | platform->g->gr.ctx_vars.force_preemption_gfxp = false; |
164 | platform->g->gr.ctx_vars.force_preemption_cilp = false; | 166 | platform->g->gr.ctx_vars.force_preemption_cilp = false; |
165 | 167 | ||
168 | #ifdef CONFIG_OF | ||
169 | joint_xpu_rail = of_property_read_bool(of_chosen, | ||
170 | "nvidia,tegra-joint_xpu_rail"); | ||
171 | #endif | ||
172 | |||
173 | if (joint_xpu_rail) { | ||
174 | nvgpu_log_info(g, "XPU rails are joint\n"); | ||
175 | platform->can_railgate_init = false; | ||
176 | __nvgpu_set_enabled(g, NVGPU_CAN_RAILGATE, false); | ||
177 | } | ||
178 | |||
166 | gp10b_tegra_get_clocks(dev); | 179 | gp10b_tegra_get_clocks(dev); |
167 | nvgpu_linux_init_clk_support(platform->g); | 180 | nvgpu_linux_init_clk_support(platform->g); |
168 | 181 | ||