diff --git a/drivers/gpu/nvgpu/common/acr/acr.c b/drivers/gpu/nvgpu/common/acr/acr.c index 7b8ac8abb..cd5a26eab 100644 --- a/drivers/gpu/nvgpu/common/acr/acr.c +++ b/drivers/gpu/nvgpu/common/acr/acr.c @@ -154,6 +154,9 @@ int nvgpu_acr_init(struct gk20a *g) break; #endif case NVGPU_GPUID_GV11B: +#if defined(CONFIG_NVGPU_NEXT) + case NVGPU_NEXT_GPUID: +#endif nvgpu_gv11b_acr_sw_init(g, g->acr); break; #ifdef CONFIG_NVGPU_DGPU diff --git a/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c b/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c index 462deee38..fad8ef067 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c +++ b/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c @@ -104,6 +104,9 @@ int nvgpu_acr_lsf_fecs_ucode_details(struct gk20a *g, void *lsf_ucode_img) switch (ver) { case NVGPU_GPUID_GV11B: +#if defined(CONFIG_NVGPU_NEXT) + case NVGPU_NEXT_GPUID: +#endif fecs_sig = nvgpu_request_firmware(g, GM20B_FECS_UCODE_SIG, NVGPU_REQUEST_FIRMWARE_NO_WARN); break; @@ -211,6 +214,9 @@ int nvgpu_acr_lsf_gpccs_ucode_details(struct gk20a *g, void *lsf_ucode_img) switch (ver) { case NVGPU_GPUID_GV11B: +#if defined(CONFIG_NVGPU_NEXT) + case NVGPU_NEXT_GPUID: +#endif gpccs_sig = nvgpu_request_firmware(g, T18x_GPCCS_UCODE_SIG, NVGPU_REQUEST_FIRMWARE_NO_WARN); break; diff --git a/drivers/gpu/nvgpu/common/acr/acr_bootstrap.c b/drivers/gpu/nvgpu/common/acr/acr_bootstrap.c index ed4c7a027..ad76f301a 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_bootstrap.c +++ b/drivers/gpu/nvgpu/common/acr/acr_bootstrap.c @@ -161,8 +161,22 @@ int nvgpu_acr_bootstrap_hs_ucode(struct gk20a *g, struct nvgpu_acr *acr, if (acr_fw != NULL) { acr->patch_wpr_info_to_ucode(g, acr, acr_desc, true); } else { - acr_fw = nvgpu_request_firmware(g, acr_desc->acr_fw_name, - NVGPU_REQUEST_FIRMWARE_NO_SOC); + /* Firmware is stored in soc specific path in FMODEL + * Hence NVGPU_REQUEST_FIRMWARE_NO_WARN is used instead + * of NVGPU_REQUEST_FIRMWARE_NO_SOC + */ +#ifdef CONFIG_NVGPU_SIM + if (nvgpu_is_enabled(g, NVGPU_IS_FMODEL)) { + acr_fw = nvgpu_request_firmware(g, + acr_desc->acr_fw_name, + NVGPU_REQUEST_FIRMWARE_NO_WARN); + } else +#endif + { + acr_fw = nvgpu_request_firmware(g, + acr_desc->acr_fw_name, + NVGPU_REQUEST_FIRMWARE_NO_SOC); + } if (acr_fw == NULL) { nvgpu_err(g, "%s ucode get fail for %s", acr_desc->acr_fw_name, g->name);