From 174e6ad1b22cb7aab1bd250679231e4dec568a65 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 26 Sep 2016 14:02:11 -0700 Subject: gpu: nvgpu: VBIOS version check Add a minimum VBIOS version field for each SKU. This requires the gk20a_platform structure to be per SKU. Also sets power_on back to false if there was any error in booting GPU. Bug 1811880 Change-Id: I23ef312f0db7061b31a3d503ded7e41ef45ad6b3 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1227229 (cherry picked from commit 69c9ab4349ec7526a7f8a2fcad01f9128ed4769c) Reviewed-on: http://git-master/r/1239428 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gm206/bios_gm206.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'drivers/gpu/nvgpu/gm206/bios_gm206.c') diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c index ea65e392..aa40f410 100644 --- a/drivers/gpu/nvgpu/gm206/bios_gm206.c +++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c @@ -894,6 +894,14 @@ static int gm206_bios_init(struct gk20a *g) gk20a_err(g->dev, "no valid VBIOS found"); return -EINVAL; } + + if (g->gpu_characteristics.vbios_version < + platform->vbios_min_version) { + gk20a_err(g->dev, "unsupported VBIOS version %08x", + g->gpu_characteristics.vbios_version); + return -EINVAL; + } + g->bios_blob.data = g->bios.data; g->bios_blob.size = g->bios.size; -- cgit v1.2.2