diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/driver_common.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm206/bios_gm206.c | 5 |
3 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/driver_common.c b/drivers/gpu/nvgpu/common/linux/driver_common.c index bf372859..d1905c86 100644 --- a/drivers/gpu/nvgpu/common/linux/driver_common.c +++ b/drivers/gpu/nvgpu/common/linux/driver_common.c | |||
@@ -139,6 +139,7 @@ static void nvgpu_init_vbios_vars(struct gk20a *g) | |||
139 | struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); | 139 | struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); |
140 | 140 | ||
141 | __nvgpu_set_enabled(g, NVGPU_PMU_RUN_PREOS, platform->run_preos); | 141 | __nvgpu_set_enabled(g, NVGPU_PMU_RUN_PREOS, platform->run_preos); |
142 | g->vbios_min_version = platform->vbios_min_version; | ||
142 | } | 143 | } |
143 | 144 | ||
144 | static void nvgpu_init_mm_vars(struct gk20a *g) | 145 | static void nvgpu_init_mm_vars(struct gk20a *g) |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index ab2d0b7f..8f097cac 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -1259,6 +1259,9 @@ struct gk20a { | |||
1259 | * from monitoring power, current and voltage */ | 1259 | * from monitoring power, current and voltage */ |
1260 | bool power_sensor_missing; | 1260 | bool power_sensor_missing; |
1261 | 1261 | ||
1262 | /* The minimum VBIOS version supported */ | ||
1263 | u32 vbios_min_version; | ||
1264 | |||
1262 | /* memory training sequence and mclk switch scripts */ | 1265 | /* memory training sequence and mclk switch scripts */ |
1263 | u32 mem_config_idx; | 1266 | u32 mem_config_idx; |
1264 | 1267 | ||
diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c index 381b3840..7be77ad3 100644 --- a/drivers/gpu/nvgpu/gm206/bios_gm206.c +++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <nvgpu/enabled.h> | 22 | #include <nvgpu/enabled.h> |
23 | 23 | ||
24 | #include "gk20a/gk20a.h" | 24 | #include "gk20a/gk20a.h" |
25 | #include "gk20a/platform_gk20a.h" | ||
26 | #include "gm20b/fifo_gm20b.h" | 25 | #include "gm20b/fifo_gm20b.h" |
27 | #include "bios_gm206.h" | 26 | #include "bios_gm206.h" |
28 | #include "gp106/mclk_gp106.h" | 27 | #include "gp106/mclk_gp106.h" |
@@ -171,7 +170,6 @@ out: | |||
171 | int gm206_bios_init(struct gk20a *g) | 170 | int gm206_bios_init(struct gk20a *g) |
172 | { | 171 | { |
173 | unsigned int i; | 172 | unsigned int i; |
174 | struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); | ||
175 | #ifdef CONFIG_DEBUG_FS | 173 | #ifdef CONFIG_DEBUG_FS |
176 | struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); | 174 | struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); |
177 | struct dentry *d; | 175 | struct dentry *d; |
@@ -223,8 +221,7 @@ int gm206_bios_init(struct gk20a *g) | |||
223 | if (err) | 221 | if (err) |
224 | return err; | 222 | return err; |
225 | 223 | ||
226 | if (g->gpu_characteristics.vbios_version < | 224 | if (g->gpu_characteristics.vbios_version < g->vbios_min_version) { |
227 | platform->vbios_min_version) { | ||
228 | nvgpu_err(g, "unsupported VBIOS version %08x", | 225 | nvgpu_err(g, "unsupported VBIOS version %08x", |
229 | g->gpu_characteristics.vbios_version); | 226 | g->gpu_characteristics.vbios_version); |
230 | return -EINVAL; | 227 | return -EINVAL; |