/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/subdev/acr/ |
D | lsfw.c | 29 nvkm_acr_lsfw_del(struct nvkm_acr_lsfw *lsfw) in nvkm_acr_lsfw_del() argument 31 nvkm_blob_dtor(&lsfw->img); in nvkm_acr_lsfw_del() 32 kfree(lsfw->sigs); in nvkm_acr_lsfw_del() 33 nvkm_firmware_put(lsfw->sig); in nvkm_acr_lsfw_del() 34 list_del(&lsfw->head); in nvkm_acr_lsfw_del() 35 kfree(lsfw); in nvkm_acr_lsfw_del() 41 struct nvkm_acr_lsfw *lsfw, *lsft; in nvkm_acr_lsfw_del_all() local 42 list_for_each_entry_safe(lsfw, lsft, &acr->lsfw, head) { in nvkm_acr_lsfw_del_all() 43 nvkm_acr_lsfw_del(lsfw); in nvkm_acr_lsfw_del_all() 50 struct nvkm_acr_lsfw *lsfw; in nvkm_acr_lsfw_get() local [all …]
|
D | ga102.c | 31 struct nvkm_acr_lsfw *lsfw; in ga102_acr_wpr_patch() local 42 list_for_each_entry(lsfw, &acr->lsfw, head) { in ga102_acr_wpr_patch() 43 if (lsfw->id != hdr.wpr.falcon_id) in ga102_acr_wpr_patch() 49 lsfw->func->bld_patch(acr, lsb->bl_data_off, adjust); in ga102_acr_wpr_patch() 61 ga102_acr_wpr_build_lsb(struct nvkm_acr *acr, struct nvkm_acr_lsfw *lsfw) in ga102_acr_wpr_build_lsb() argument 66 if (WARN_ON(lsfw->sig->size != sizeof(hdr->signature))) in ga102_acr_wpr_build_lsb() 77 memcpy(&hdr->signature, lsfw->sig->data, lsfw->sig->size); in ga102_acr_wpr_build_lsb() 78 hdr->ucode_off = lsfw->offset.img; in ga102_acr_wpr_build_lsb() 79 hdr->ucode_size = lsfw->ucode_size; in ga102_acr_wpr_build_lsb() 80 hdr->data_size = lsfw->data_size; in ga102_acr_wpr_build_lsb() [all …]
|
D | gm200.c | 70 struct nvkm_acr_lsf *lsfw; in gm200_acr_wpr_patch() local 77 list_for_each_entry(lsfw, &acr->lsfw, head) { in gm200_acr_wpr_patch() 78 if (lsfw->id != hdr.falcon_id) in gm200_acr_wpr_patch() 84 lsfw->func->bld_patch(acr, lsb.tail.bl_data_off, adjust); in gm200_acr_wpr_patch() 94 gm200_acr_wpr_build_lsb_tail(struct nvkm_acr_lsfw *lsfw, in gm200_acr_wpr_build_lsb_tail() argument 97 hdr->ucode_off = lsfw->offset.img; in gm200_acr_wpr_build_lsb_tail() 98 hdr->ucode_size = lsfw->ucode_size; in gm200_acr_wpr_build_lsb_tail() 99 hdr->data_size = lsfw->data_size; in gm200_acr_wpr_build_lsb_tail() 100 hdr->bl_code_size = lsfw->bootloader_size; in gm200_acr_wpr_build_lsb_tail() 101 hdr->bl_imem_off = lsfw->bootloader_imem_offset; in gm200_acr_wpr_build_lsb_tail() [all …]
|
D | gp102.c | 37 struct nvkm_acr_lsfw *lsfw; in gp102_acr_wpr_patch() local 44 list_for_each_entry(lsfw, &acr->lsfw, head) { in gp102_acr_wpr_patch() 45 if (lsfw->id != hdr.falcon_id) in gp102_acr_wpr_patch() 51 lsfw->func->bld_patch(acr, lsb.tail.bl_data_off, adjust); in gp102_acr_wpr_patch() 62 gp102_acr_wpr_build_lsb(struct nvkm_acr *acr, struct nvkm_acr_lsfw *lsfw) in gp102_acr_wpr_build_lsb() argument 66 if (WARN_ON(lsfw->sig->size != sizeof(hdr.signature))) in gp102_acr_wpr_build_lsb() 69 memcpy(&hdr.signature, lsfw->sig->data, lsfw->sig->size); in gp102_acr_wpr_build_lsb() 70 gm200_acr_wpr_build_lsb_tail(lsfw, &hdr.tail); in gp102_acr_wpr_build_lsb() 72 nvkm_wobj(acr->wpr, lsfw->offset.lsb, &hdr, sizeof(hdr)); in gp102_acr_wpr_build_lsb() 79 struct nvkm_acr_lsfw *lsfw; in gp102_acr_wpr_build() local [all …]
|
D | tu102.c | 45 struct nvkm_acr_lsfw *lsfw; in tu102_acr_wpr_build() local 53 list_for_each_entry(lsfw, &acr->lsfw, head) { in tu102_acr_wpr_build() 54 struct lsf_signature_v1 *sig = (void *)lsfw->sig->data; in tu102_acr_wpr_build() 56 .falcon_id = lsfw->id, in tu102_acr_wpr_build() 57 .lsb_offset = lsfw->offset.lsb, in tu102_acr_wpr_build() 69 ret = gp102_acr_wpr_build_lsb(acr, lsfw); in tu102_acr_wpr_build() 74 nvkm_wobj(acr->wpr, lsfw->offset.img, in tu102_acr_wpr_build() 75 lsfw->img.data, in tu102_acr_wpr_build() 76 lsfw->img.size); in tu102_acr_wpr_build() 79 lsfw->func->bld_write(acr, lsfw->offset.bld, lsfw); in tu102_acr_wpr_build()
|
D | base.c | 220 struct nvkm_acr_lsfw *lsfw, *lsft; in nvkm_acr_oneinit() local 236 list_for_each_entry_safe(lsfw, lsft, &acr->lsfw, head) { in nvkm_acr_oneinit() 239 if (!lsfw->func) { in nvkm_acr_oneinit() 240 nvkm_acr_lsfw_del(lsfw); in nvkm_acr_oneinit() 248 ret = nvkm_falcon_get(lsfw->falcon, subdev); in nvkm_acr_oneinit() 252 nvkm_falcon_put(lsfw->falcon, subdev); in nvkm_acr_oneinit() 256 lsf->func = lsfw->func; in nvkm_acr_oneinit() 257 lsf->falcon = lsfw->falcon; in nvkm_acr_oneinit() 258 lsf->id = lsfw->id; in nvkm_acr_oneinit() 275 list_for_each_entry_safe(lsfw, lsft, &acr->lsfw, head) { in nvkm_acr_oneinit() [all …]
|
D | Kbuild | 3 nvkm-y += nvkm/subdev/acr/lsfw.o
|
/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/engine/sec2/ |
D | gp102.c | 91 struct nvkm_acr_lsfw *lsfw) in gp102_sec2_acr_bld_write() argument 95 .code_dma_base = lsfw->offset.img + lsfw->app_start_offset, in gp102_sec2_acr_bld_write() 96 .code_size_total = lsfw->app_size, in gp102_sec2_acr_bld_write() 97 .code_size_to_load = lsfw->app_resident_code_size, in gp102_sec2_acr_bld_write() 98 .code_entry_point = lsfw->app_imem_entry, in gp102_sec2_acr_bld_write() 99 .data_dma_base = lsfw->offset.img + lsfw->app_start_offset + in gp102_sec2_acr_bld_write() 100 lsfw->app_resident_data_offset, in gp102_sec2_acr_bld_write() 101 .data_size = lsfw->app_resident_data_size, in gp102_sec2_acr_bld_write() 102 .overlay_dma_base = lsfw->offset.img + lsfw->app_start_offset, in gp102_sec2_acr_bld_write() 104 .argv = lsfw->falcon->func->emem_addr, in gp102_sec2_acr_bld_write() [all …]
|
/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/engine/gr/ |
D | gp108.c | 41 struct nvkm_acr_lsfw *lsfw) in gp108_gr_acr_bld_write() argument 43 const u64 base = lsfw->offset.img + lsfw->app_start_offset; in gp108_gr_acr_bld_write() 44 const u64 code = base + lsfw->app_resident_code_offset; in gp108_gr_acr_bld_write() 45 const u64 data = base + lsfw->app_resident_data_offset; in gp108_gr_acr_bld_write() 49 .non_sec_code_off = lsfw->app_resident_code_offset, in gp108_gr_acr_bld_write() 50 .non_sec_code_size = lsfw->app_resident_code_size, in gp108_gr_acr_bld_write() 51 .code_entry_point = lsfw->app_imem_entry, in gp108_gr_acr_bld_write() 53 .data_size = lsfw->app_resident_data_size, in gp108_gr_acr_bld_write()
|
D | gm20b.c | 53 struct nvkm_acr_lsfw *lsfw) in gm20b_gr_acr_bld_write() argument 55 const u64 base = lsfw->offset.img + lsfw->app_start_offset; in gm20b_gr_acr_bld_write() 56 const u64 code = (base + lsfw->app_resident_code_offset) >> 8; in gm20b_gr_acr_bld_write() 57 const u64 data = (base + lsfw->app_resident_data_offset) >> 8; in gm20b_gr_acr_bld_write() 61 .non_sec_code_off = lsfw->app_resident_code_offset, in gm20b_gr_acr_bld_write() 62 .non_sec_code_size = lsfw->app_resident_code_size, in gm20b_gr_acr_bld_write() 63 .code_entry_point = lsfw->app_imem_entry, in gm20b_gr_acr_bld_write() 65 .data_size = lsfw->app_resident_data_size, in gm20b_gr_acr_bld_write()
|
D | gm200.c | 58 struct nvkm_acr_lsfw *lsfw) in gm200_gr_acr_bld_write() argument 60 const u64 base = lsfw->offset.img + lsfw->app_start_offset; in gm200_gr_acr_bld_write() 61 const u64 code = base + lsfw->app_resident_code_offset; in gm200_gr_acr_bld_write() 62 const u64 data = base + lsfw->app_resident_data_offset; in gm200_gr_acr_bld_write() 66 .non_sec_code_off = lsfw->app_resident_code_offset, in gm200_gr_acr_bld_write() 67 .non_sec_code_size = lsfw->app_resident_code_size, in gm200_gr_acr_bld_write() 68 .code_entry_point = lsfw->app_imem_entry, in gm200_gr_acr_bld_write() 70 .data_size = lsfw->app_resident_data_size, in gm200_gr_acr_bld_write()
|
/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/ |
D | gm20b.c | 88 struct nvkm_acr_lsfw *lsfw) in gm20b_pmu_acr_bld_write() argument 90 const u64 base = lsfw->offset.img + lsfw->app_start_offset; in gm20b_pmu_acr_bld_write() 91 const u64 code = (base + lsfw->app_resident_code_offset) >> 8; in gm20b_pmu_acr_bld_write() 92 const u64 data = (base + lsfw->app_resident_data_offset) >> 8; in gm20b_pmu_acr_bld_write() 96 .code_size_total = lsfw->app_size, in gm20b_pmu_acr_bld_write() 97 .code_size_to_load = lsfw->app_resident_code_size, in gm20b_pmu_acr_bld_write() 98 .code_entry_point = lsfw->app_imem_entry, in gm20b_pmu_acr_bld_write() 100 .data_size = lsfw->app_resident_data_size, in gm20b_pmu_acr_bld_write() 103 .argv = lsfw->falcon->data.limit - sizeof(struct nv_pmu_args), in gm20b_pmu_acr_bld_write()
|
/linux-6.6.21/drivers/gpu/drm/nouveau/include/nvkm/subdev/ |
D | acr.h | 40 struct list_head lsfw, lsf; member
|