Lines Matching refs:hdr

29 	struct wpr_header_v2 hdr;  in ga102_acr_wpr_patch()  local
39 nvkm_robj(acr->wpr, offset, &hdr, sizeof(hdr)); in ga102_acr_wpr_patch()
40 wpr_header_v2_dump(&acr->subdev, &hdr); in ga102_acr_wpr_patch()
43 if (lsfw->id != hdr.wpr.falcon_id) in ga102_acr_wpr_patch()
46 nvkm_robj(acr->wpr, hdr.wpr.lsb_offset, lsb, sizeof(*lsb)); in ga102_acr_wpr_patch()
53 offset += sizeof(hdr); in ga102_acr_wpr_patch()
54 } while (hdr.wpr.falcon_id != WPR_HEADER_V1_FALCON_ID_INVALID); in ga102_acr_wpr_patch()
63 struct lsb_header_v2 *hdr; in ga102_acr_wpr_build_lsb() local
66 if (WARN_ON(lsfw->sig->size != sizeof(hdr->signature))) in ga102_acr_wpr_build_lsb()
69 hdr = kvzalloc(sizeof(*hdr), GFP_KERNEL); in ga102_acr_wpr_build_lsb()
70 if (!hdr) in ga102_acr_wpr_build_lsb()
73 hdr->hdr.identifier = WPR_GENERIC_HEADER_ID_LSF_LSB_HEADER; in ga102_acr_wpr_build_lsb()
74 hdr->hdr.version = 2; in ga102_acr_wpr_build_lsb()
75 hdr->hdr.size = sizeof(*hdr); 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()
81 hdr->bl_code_size = lsfw->bootloader_size; in ga102_acr_wpr_build_lsb()
82 hdr->bl_imem_off = lsfw->bootloader_imem_offset; in ga102_acr_wpr_build_lsb()
83 hdr->bl_data_off = lsfw->offset.bld; in ga102_acr_wpr_build_lsb()
84 hdr->bl_data_size = lsfw->bl_data_size; in ga102_acr_wpr_build_lsb()
85 hdr->app_code_off = lsfw->app_start_offset + lsfw->app_resident_code_offset; in ga102_acr_wpr_build_lsb()
86 hdr->app_code_size = ALIGN(lsfw->app_resident_code_size, 0x100); in ga102_acr_wpr_build_lsb()
87 hdr->app_data_off = lsfw->app_start_offset + lsfw->app_resident_data_offset; in ga102_acr_wpr_build_lsb()
88 hdr->app_data_size = ALIGN(lsfw->app_resident_data_size, 0x100); in ga102_acr_wpr_build_lsb()
89 hdr->app_imem_offset = lsfw->app_imem_offset; in ga102_acr_wpr_build_lsb()
90 hdr->app_dmem_offset = lsfw->app_dmem_offset; in ga102_acr_wpr_build_lsb()
91 hdr->flags = lsfw->func->flags; in ga102_acr_wpr_build_lsb()
92 hdr->monitor_code_offset = 0; in ga102_acr_wpr_build_lsb()
93 hdr->monitor_data_offset = 0; in ga102_acr_wpr_build_lsb()
94 hdr->manifest_offset = 0; in ga102_acr_wpr_build_lsb()
98 .fw.img = hdr->hs_fmc_params.pkc_signature, in ga102_acr_wpr_build_lsb()
115 hdr->hs_fmc_params.hs_fmc = 1; in ga102_acr_wpr_build_lsb()
116 hdr->hs_fmc_params.pkc_algo = 0; in ga102_acr_wpr_build_lsb()
117 hdr->hs_fmc_params.pkc_algo_version = 1; in ga102_acr_wpr_build_lsb()
118 hdr->hs_fmc_params.engid_mask = lsfw->engine_id; in ga102_acr_wpr_build_lsb()
119 hdr->hs_fmc_params.ucode_id = lsfw->ucode_id; in ga102_acr_wpr_build_lsb()
120 hdr->hs_fmc_params.fuse_ver = lsfw->fuse_ver; in ga102_acr_wpr_build_lsb()
126 nvkm_wobj(acr->wpr, lsfw->offset.lsb, hdr, sizeof(*hdr)); in ga102_acr_wpr_build_lsb()
127 kvfree(hdr); in ga102_acr_wpr_build_lsb()
135 struct wpr_header_v2 hdr; in ga102_acr_wpr_build() local
150 hdr.hdr.identifier = WPR_GENERIC_HEADER_ID_LSF_WPR_HEADER; in ga102_acr_wpr_build()
151 hdr.hdr.version = 2; in ga102_acr_wpr_build()
152 hdr.hdr.size = sizeof(hdr); in ga102_acr_wpr_build()
153 hdr.wpr.falcon_id = lsfw->id; in ga102_acr_wpr_build()
154 hdr.wpr.lsb_offset = lsfw->offset.lsb; in ga102_acr_wpr_build()
155 hdr.wpr.bootstrap_owner = NVKM_ACR_LSF_GSPLITE; in ga102_acr_wpr_build()
156 hdr.wpr.lazy_bootstrap = 1; in ga102_acr_wpr_build()
157 hdr.wpr.bin_version = sig->ls_ucode_version; in ga102_acr_wpr_build()
158 hdr.wpr.status = WPR_HEADER_V1_STATUS_COPY; in ga102_acr_wpr_build()
161 nvkm_wobj(acr->wpr, offset, &hdr, sizeof(hdr)); in ga102_acr_wpr_build()
162 offset += sizeof(hdr); in ga102_acr_wpr_build()
179 hdr.hdr.identifier = WPR_GENERIC_HEADER_ID_LSF_WPR_HEADER; in ga102_acr_wpr_build()
180 hdr.hdr.version = 2; in ga102_acr_wpr_build()
181 hdr.hdr.size = sizeof(hdr); in ga102_acr_wpr_build()
182 hdr.wpr.falcon_id = WPR_HEADER_V1_FALCON_ID_INVALID; in ga102_acr_wpr_build()
183 nvkm_wobj(acr->wpr, offset, &hdr, sizeof(hdr)); in ga102_acr_wpr_build()
219 const struct wpr_header_v2 *hdr = (void *)acr->wpr_fw->data; in ga102_acr_wpr_parse() local
221 while (hdr->wpr.falcon_id != WPR_HEADER_V1_FALCON_ID_INVALID) { in ga102_acr_wpr_parse()
222 wpr_header_v2_dump(&acr->subdev, hdr); in ga102_acr_wpr_parse()
223 if (!nvkm_acr_lsfw_add(NULL, acr, NULL, (hdr++)->wpr.falcon_id)) in ga102_acr_wpr_parse()