summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsmadhavan <smadhavan@nvidia.com>2021-04-07 04:37:26 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2021-10-11 15:56:53 -0400
commit725a5eaa801098f5f59762a87b7200803e82551c (patch)
tree36e8a41ccd39417efe208bff9fe5b6193ff278c6
parent3af391e862bd580b9748b383c808d5ed63d52c1b (diff)
nvgpu: gpu: adds support for ACR dbg/prod.
ACR ucode is encrypted using different keys for prod/dbg boards. This change adds a check to select ACR ucode based on board type. ACR ucode binaries are also renamed with "nv_" prefix to conform to release naming conventions. Bug 2672836 Change-Id: I48818f018f903c0d03642c12485d60e392121eb6 Signed-off-by: smadhavan <smadhavan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2492587 (cherry picked from commit 5dacead521aaee1bd8a3b2e9db3e281c085038f7) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2597878 Reviewed-by: Mayur Poojary <mpoojary@nvidia.com> Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: Mayur Poojary <mpoojary@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
-rw-r--r--drivers/gpu/nvgpu/gm20b/acr_gm20b.c8
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h2
2 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
index 4f684191..fe9cf93f 100644
--- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2015-2018, NVIDIA CORPORATION. All rights reserved. 2 * Copyright (c) 2015-2021, NVIDIA CORPORATION. All rights reserved.
3 * 3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a 4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"), 5 * copy of this software and associated documentation files (the "Software"),
@@ -1372,7 +1372,11 @@ static void gm20b_acr_default_sw_init(struct gk20a *g, struct hs_acr *hs_acr)
1372 1372
1373 /* ACR HS ucode type & f/w name*/ 1373 /* ACR HS ucode type & f/w name*/
1374 hs_acr->acr_type = ACR_DEFAULT; 1374 hs_acr->acr_type = ACR_DEFAULT;
1375 hs_acr->acr_fw_name = HSBIN_ACR_UCODE_IMAGE; 1375 if (!g->ops.pmu.is_debug_mode_enabled(g)) {
1376 hs_acr->acr_fw_name = GM20B_HSBIN_ACR_PROD_UCODE;
1377 } else {
1378 hs_acr->acr_fw_name = GM20B_HSBIN_ACR_DBG_UCODE;
1379 }
1376 1380
1377 /* bootlader interface used by ACR HS bootloader*/ 1381 /* bootlader interface used by ACR HS bootloader*/
1378 hs_acr->ptr_bl_dmem_desc = &hs_acr->bl_dmem_desc; 1382 hs_acr->ptr_bl_dmem_desc = &hs_acr->bl_dmem_desc;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h b/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h
index 06d39595..cdb7bb86 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h
@@ -39,6 +39,8 @@ struct hs_acr;
39struct nvgpu_acr; 39struct nvgpu_acr;
40 40
41#define HSBIN_ACR_BL_UCODE_IMAGE "pmu_bl.bin" 41#define HSBIN_ACR_BL_UCODE_IMAGE "pmu_bl.bin"
42#define GM20B_HSBIN_ACR_PROD_UCODE "nv_acr_ucode_prod.bin"
43#define GM20B_HSBIN_ACR_DBG_UCODE "nv_acr_ucode_dbg.bin"
42#define HSBIN_ACR_UCODE_IMAGE "acr_ucode.bin" 44#define HSBIN_ACR_UCODE_IMAGE "acr_ucode.bin"
43#define HSBIN_ACR_PROD_UCODE "acr_ucode_prod.bin" 45#define HSBIN_ACR_PROD_UCODE "acr_ucode_prod.bin"
44#define HSBIN_ACR_DBG_UCODE "acr_ucode_dbg.bin" 46#define HSBIN_ACR_DBG_UCODE "acr_ucode_dbg.bin"