Lines Matching refs:hsfw
289 gm200_acr_hsfw_load(struct nvkm_acr *acr, struct nvkm_acr_hsfw *hsfw, in gm200_acr_hsfw_load() argument
303 if (hsfw->sig.patch_loc) { in gm200_acr_hsfw_load()
306 memcpy(hsfw->image + hsfw->sig.patch_loc, in gm200_acr_hsfw_load()
307 hsfw->sig.prod.data, in gm200_acr_hsfw_load()
308 hsfw->sig.prod.size); in gm200_acr_hsfw_load()
311 memcpy(hsfw->image + hsfw->sig.patch_loc, in gm200_acr_hsfw_load()
312 hsfw->sig.dbg.data, in gm200_acr_hsfw_load()
313 hsfw->sig.dbg.size); in gm200_acr_hsfw_load()
321 hsf->func = hsfw->func; in gm200_acr_hsfw_load()
322 hsf->name = hsfw->name; in gm200_acr_hsfw_load()
325 hsf->imem_size = hsfw->imem_size; in gm200_acr_hsfw_load()
326 hsf->imem_tag = hsfw->imem_tag; in gm200_acr_hsfw_load()
327 hsf->imem = kmemdup(hsfw->imem, hsfw->imem_size, GFP_KERNEL); in gm200_acr_hsfw_load()
331 hsf->non_sec_addr = hsfw->non_sec_addr; in gm200_acr_hsfw_load()
332 hsf->non_sec_size = hsfw->non_sec_size; in gm200_acr_hsfw_load()
333 hsf->sec_addr = hsfw->sec_addr; in gm200_acr_hsfw_load()
334 hsf->sec_size = hsfw->sec_size; in gm200_acr_hsfw_load()
335 hsf->data_addr = hsfw->data_addr; in gm200_acr_hsfw_load()
336 hsf->data_size = hsfw->data_size; in gm200_acr_hsfw_load()
340 hsfw->image_size, 0x1000, false, &hsf->ucode); in gm200_acr_hsfw_load()
345 nvkm_wobj(hsf->ucode, 0, hsfw->image, hsfw->image_size); in gm200_acr_hsfw_load()
368 gm200_acr_unload_load(struct nvkm_acr *acr, struct nvkm_acr_hsfw *hsfw) in gm200_acr_unload_load() argument
370 return gm200_acr_hsfw_load(acr, hsfw, &acr->subdev.device->pmu->falcon); in gm200_acr_unload_load()
398 gm200_acr_load_load(struct nvkm_acr *acr, struct nvkm_acr_hsfw *hsfw) in gm200_acr_load_load() argument
400 struct flcn_acr_desc *desc = (void *)&hsfw->image[hsfw->data_addr]; in gm200_acr_load_load()
412 return gm200_acr_hsfw_load(acr, hsfw, &acr->subdev.device->pmu->falcon); in gm200_acr_load_load()