diff --git a/drivers/gpu/nvgpu/common/acr/acr.c b/drivers/gpu/nvgpu/common/acr/acr.c index b84decac5..c4c2d38f0 100644 --- a/drivers/gpu/nvgpu/common/acr/acr.c +++ b/drivers/gpu/nvgpu/common/acr/acr.c @@ -86,7 +86,7 @@ int nvgpu_acr_bootstrap_hs_acr(struct gk20a *g, struct nvgpu_acr *acr) return -EINVAL; } - err = acr->bootstrap_hs_acr(g, acr, &acr->acr); + err = acr->bootstrap_hs_acr(g, acr); if (err != 0) { nvgpu_err(g, "ACR bootstrap failed"); } diff --git a/drivers/gpu/nvgpu/common/acr/acr_priv.h b/drivers/gpu/nvgpu/common/acr/acr_priv.h index 673c738d9..a66ff63c3 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_priv.h +++ b/drivers/gpu/nvgpu/common/acr/acr_priv.h @@ -142,8 +142,7 @@ struct nvgpu_acr { struct nvgpu_mem *mem); void (*patch_wpr_info_to_ucode)(struct gk20a *g, struct nvgpu_acr *acr, struct hs_acr *acr_desc, bool is_recovery); - int (*bootstrap_hs_acr)(struct gk20a *g, struct nvgpu_acr *acr, - struct hs_acr *acr_desc); + int (*bootstrap_hs_acr)(struct gk20a *g, struct nvgpu_acr *acr); void (*get_wpr_info)(struct gk20a *g, struct wpr_carveout_info *inf); }; diff --git a/drivers/gpu/nvgpu/common/acr/acr_sw_gm20b.c b/drivers/gpu/nvgpu/common/acr/acr_sw_gm20b.c index 5bfa2cfee..e253bc49a 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_sw_gm20b.c +++ b/drivers/gpu/nvgpu/common/acr/acr_sw_gm20b.c @@ -34,6 +34,20 @@ #include "acr_bootstrap.h" #include "acr_blob_construct_v0.h" +static int gm20b_bootstrap_hs_acr(struct gk20a *g, struct nvgpu_acr *acr) +{ + int err = 0; + + nvgpu_log_fn(g, " "); + + err = nvgpu_acr_bootstrap_hs_ucode(g, g->acr, &g->acr->acr); + if (err != 0) { + nvgpu_err(g, "ACR bootstrap failed"); + } + + return err; +} + static void gm20b_acr_patch_wpr_info_to_ucode(struct gk20a *g, struct nvgpu_acr *acr, struct hs_acr *acr_desc, bool is_recovery) { @@ -145,7 +159,7 @@ void nvgpu_gm20b_acr_sw_init(struct gk20a *g, struct nvgpu_acr *acr) acr->prepare_ucode_blob = nvgpu_acr_prepare_ucode_blob_v0; acr->get_wpr_info = nvgpu_acr_wpr_info_sys; acr->alloc_blob_space = nvgpu_acr_alloc_blob_space_sys; - acr->bootstrap_hs_acr = nvgpu_acr_bootstrap_hs_ucode; + acr->bootstrap_hs_acr = gm20b_bootstrap_hs_acr; acr->patch_wpr_info_to_ucode = gm20b_acr_patch_wpr_info_to_ucode; } diff --git a/drivers/gpu/nvgpu/common/acr/acr_sw_gv11b.c b/drivers/gpu/nvgpu/common/acr/acr_sw_gv11b.c index 7b81090f1..f900ec781 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_sw_gv11b.c +++ b/drivers/gpu/nvgpu/common/acr/acr_sw_gv11b.c @@ -35,6 +35,20 @@ #include "acr_bootstrap.h" #include "acr_sw_gv11b.h" +static int gv11b_bootstrap_hs_acr(struct gk20a *g, struct nvgpu_acr *acr) +{ + int err = 0; + + nvgpu_log_fn(g, " "); + + err = nvgpu_acr_bootstrap_hs_ucode(g, g->acr, &g->acr->acr); + if (err != 0) { + nvgpu_err(g, "ACR bootstrap failed"); + } + + return err; +} + static void gv11b_acr_patch_wpr_info_to_ucode(struct gk20a *g, struct nvgpu_acr *acr, struct hs_acr *acr_desc, bool is_recovery) { @@ -177,6 +191,6 @@ void nvgpu_gv11b_acr_sw_init(struct gk20a *g, struct nvgpu_acr *acr) acr->prepare_ucode_blob = nvgpu_acr_prepare_ucode_blob_v1; acr->get_wpr_info = nvgpu_acr_wpr_info_sys; acr->alloc_blob_space = nvgpu_acr_alloc_blob_space_sys; - acr->bootstrap_hs_acr = nvgpu_acr_bootstrap_hs_ucode; + acr->bootstrap_hs_acr = gv11b_bootstrap_hs_acr; acr->patch_wpr_info_to_ucode = gv11b_acr_patch_wpr_info_to_ucode; } diff --git a/drivers/gpu/nvgpu/common/acr/acr_sw_tu104.c b/drivers/gpu/nvgpu/common/acr/acr_sw_tu104.c index 554d420b7..fd3e8c0b6 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_sw_tu104.c +++ b/drivers/gpu/nvgpu/common/acr/acr_sw_tu104.c @@ -33,8 +33,7 @@ #include "acr_sw_gv11b.h" #include "acr_sw_tu104.h" -static int tu104_bootstrap_hs_acr(struct gk20a *g, struct nvgpu_acr *acr, - struct hs_acr *acr_type) +static int tu104_bootstrap_hs_acr(struct gk20a *g, struct nvgpu_acr *acr) { int err = 0;