diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-11-07 12:40:15 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-08 01:19:05 -0500 |
commit | a51219e526cca5fdee33faf25268662bdd9453cb (patch) | |
tree | c5fb8e63a972dd849eb9492104c32cbdc83a41aa /drivers | |
parent | ac5d3fcf04c9599626fd205aa4e85536390841a1 (diff) |
gpu: nvgpu: Store VBIOS version in g->bios
Store VBIOS version in g->bios instead of GPU characteristics. This
removes a few Linux dependencies from common code, because GPU
characteristics is defined in Linux IOCTL header.
JIRA NVGPU-259
Change-Id: I9aab3d37b7ca000edd59c92b8601a96ee288e2bb
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1593684
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/vbios/bios.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/bios_gp106.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/mclk_gp106.c | 4 |
5 files changed, 12 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c index 08a831b9..d3961f79 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | |||
@@ -208,6 +208,9 @@ gk20a_ctrl_ioctl_gpu_characteristics( | |||
208 | pgpu->impl = g->params.gpu_impl; | 208 | pgpu->impl = g->params.gpu_impl; |
209 | pgpu->rev = g->params.gpu_rev; | 209 | pgpu->rev = g->params.gpu_rev; |
210 | 210 | ||
211 | pgpu->vbios_version = g->bios.vbios_version; | ||
212 | pgpu->vbios_oem_version = g->bios.vbios_oem_version; | ||
213 | |||
211 | if (request->gpu_characteristics_buf_size > 0) { | 214 | if (request->gpu_characteristics_buf_size > 0) { |
212 | size_t write_size = sizeof(*pgpu); | 215 | size_t write_size = sizeof(*pgpu); |
213 | 216 | ||
diff --git a/drivers/gpu/nvgpu/common/vbios/bios.c b/drivers/gpu/nvgpu/common/vbios/bios.c index 44affbb9..fa700a66 100644 --- a/drivers/gpu/nvgpu/common/vbios/bios.c +++ b/drivers/gpu/nvgpu/common/vbios/bios.c | |||
@@ -350,8 +350,8 @@ static void nvgpu_bios_parse_biosdata(struct gk20a *g, int offset) | |||
350 | biosdata.version, | 350 | biosdata.version, |
351 | biosdata.oem_version); | 351 | biosdata.oem_version); |
352 | 352 | ||
353 | g->gpu_characteristics.vbios_version = biosdata.version; | 353 | g->bios.vbios_version = biosdata.version; |
354 | g->gpu_characteristics.vbios_oem_version = biosdata.oem_version; | 354 | g->bios.vbios_oem_version = biosdata.oem_version; |
355 | } | 355 | } |
356 | 356 | ||
357 | static void nvgpu_bios_parse_nvinit_ptrs(struct gk20a *g, int offset) | 357 | static void nvgpu_bios_parse_nvinit_ptrs(struct gk20a *g, int offset) |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 365c7252..96333277 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -1035,6 +1035,9 @@ struct nvgpu_bios_ucode { | |||
1035 | }; | 1035 | }; |
1036 | 1036 | ||
1037 | struct nvgpu_bios { | 1037 | struct nvgpu_bios { |
1038 | u32 vbios_version; | ||
1039 | u8 vbios_oem_version; | ||
1040 | |||
1038 | u8 *data; | 1041 | u8 *data; |
1039 | size_t size; | 1042 | size_t size; |
1040 | 1043 | ||
diff --git a/drivers/gpu/nvgpu/gp106/bios_gp106.c b/drivers/gpu/nvgpu/gp106/bios_gp106.c index d42f2e14..8511d3c2 100644 --- a/drivers/gpu/nvgpu/gp106/bios_gp106.c +++ b/drivers/gpu/nvgpu/gp106/bios_gp106.c | |||
@@ -211,9 +211,9 @@ int gp106_bios_init(struct gk20a *g) | |||
211 | if (err) | 211 | if (err) |
212 | goto free_firmware; | 212 | goto free_firmware; |
213 | 213 | ||
214 | if (g->gpu_characteristics.vbios_version < g->vbios_min_version) { | 214 | if (g->bios.vbios_version < g->vbios_min_version) { |
215 | nvgpu_err(g, "unsupported VBIOS version %08x", | 215 | nvgpu_err(g, "unsupported VBIOS version %08x", |
216 | g->gpu_characteristics.vbios_version); | 216 | g->bios.vbios_version); |
217 | err = -EINVAL; | 217 | err = -EINVAL; |
218 | goto free_firmware; | 218 | goto free_firmware; |
219 | } | 219 | } |
diff --git a/drivers/gpu/nvgpu/gp106/mclk_gp106.c b/drivers/gpu/nvgpu/gp106/mclk_gp106.c index b7a2c91d..600f9c30 100644 --- a/drivers/gpu/nvgpu/gp106/mclk_gp106.c +++ b/drivers/gpu/nvgpu/gp106/mclk_gp106.c | |||
@@ -3235,10 +3235,10 @@ int gp106_mclk_init(struct gk20a *g) | |||
3235 | g->mem_config_idx = GP106_MEM_CONFIG_GDDR5_PG418; | 3235 | g->mem_config_idx = GP106_MEM_CONFIG_GDDR5_PG418; |
3236 | if ((g->pci_vendor_id == PCI_VENDOR_ID_NVIDIA) && | 3236 | if ((g->pci_vendor_id == PCI_VENDOR_ID_NVIDIA) && |
3237 | (g->pci_device_id == 0x1c75) && | 3237 | (g->pci_device_id == 0x1c75) && |
3238 | (g->gpu_characteristics.vbios_version == 0x86065800)) { | 3238 | (g->bios.vbios_version == 0x86065800)) { |
3239 | 3239 | ||
3240 | g->mem_config_idx = | 3240 | g->mem_config_idx = |
3241 | (g->gpu_characteristics.vbios_oem_version == 0x12) ? | 3241 | (g->bios.vbios_oem_version == 0x12) ? |
3242 | GP106_MEM_CONFIG_GDDR5_PG419_8606580012 : | 3242 | GP106_MEM_CONFIG_GDDR5_PG419_8606580012 : |
3243 | GP106_MEM_CONFIG_GDDR5_PG419; | 3243 | GP106_MEM_CONFIG_GDDR5_PG419; |
3244 | } | 3244 | } |