gpu: nvgpu: Add support for loading ctxsw encrypted binaries

Add checks to load encrypted CTXSW binaries for T234,
when executing in silicon; else load the non encrypted
binaries.

Jira NVGPU-9303

Change-Id: Icf55ed76b1a7340006b00d1c24472d26462a880c
Signed-off-by: mpoojary <mpoojary@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2819642
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Dinesh Kamalakannan <dineshka@nvidia.com>
Reviewed-by: Ankur Kishore <ankkishore@nvidia.com>
This commit is contained in:
mpoojary
2022-12-01 05:40:45 +00:00
committed by mobile promotions
parent 2509287e71
commit 9b73378362
16 changed files with 183 additions and 16 deletions

View File

@@ -27,6 +27,7 @@
#include <nvgpu/bug.h>
#include <nvgpu/gr/gr_falcon.h>
#include <nvgpu/gr/gr_utils.h>
#include <nvgpu/soc.h>
#include "nvgpu_acr_interface.h"
#include "acr_blob_construct.h"
@@ -190,9 +191,15 @@ int nvgpu_acr_lsf_fecs_ucode_details(struct gk20a *g, void *lsf_ucode_img)
GM20B_FECS_UCODE_SIG,
g->acr->fw_load_flag);
} else {
fecs_sig = nvgpu_request_firmware(g,
GA10B_FECS_UCODE_PKC_SIG,
g->acr->fw_load_flag);
if (nvgpu_platform_is_simulation(g)) {
fecs_sig = nvgpu_request_firmware(g,
GA10B_FECS_UCODE_PKC_SIG,
g->acr->fw_load_flag);
} else {
fecs_sig = nvgpu_request_firmware(g,
GA10B_FECS_UCODE_ENCRYPT_PKC_SIG,
g->acr->fw_load_flag);
}
}
break;
#ifdef CONFIG_NVGPU_DGPU
@@ -333,9 +340,15 @@ int nvgpu_acr_lsf_gpccs_ucode_details(struct gk20a *g, void *lsf_ucode_img)
T18x_GPCCS_UCODE_SIG,
g->acr->fw_load_flag);
} else {
gpccs_sig = nvgpu_request_firmware(g,
GA10B_GPCCS_UCODE_PKC_SIG,
g->acr->fw_load_flag);
if (nvgpu_platform_is_simulation(g)) {
gpccs_sig = nvgpu_request_firmware(g,
GA10B_GPCCS_UCODE_PKC_SIG,
g->acr->fw_load_flag);
} else {
gpccs_sig = nvgpu_request_firmware(g,
GA10B_GPCCS_UCODE_ENCRYPT_PKC_SIG,
g->acr->fw_load_flag);
}
}
break;
#ifdef CONFIG_NVGPU_DGPU