Lines Matching refs:fw_hdr
36 #define IVPU_FW_CHECK_API(vdev, fw_hdr, name, min_major) \
37 ivpu_fw_check_api(vdev, fw_hdr, #name, \
86 ivpu_fw_check_api(struct ivpu_device *vdev, const struct vpu_firmware_header *fw_hdr,
90 u16 major = (u16)(fw_hdr->api_version[index] >> 16);
91 u16 minor = (u16)(fw_hdr->api_version[index]);
111 const struct vpu_firmware_header *fw_hdr = (const void *)fw->file->data;
119 if (fw_hdr->header_version != VPU_FW_HEADER_VERSION) {
120 ivpu_err(vdev, "Invalid firmware header version: %u\n", fw_hdr->header_version);
124 runtime_addr = fw_hdr->boot_params_load_address;
125 runtime_size = fw_hdr->runtime_size;
126 image_load_addr = fw_hdr->image_load_address;
127 image_size = fw_hdr->image_size;
151 if (fw_hdr->shave_nn_fw_size > FW_SHAVE_NN_MAX_SIZE) {
152 ivpu_err(vdev, "SHAVE NN firmware is too big: %u\n", fw_hdr->shave_nn_fw_size);
156 if (fw_hdr->entry_point < image_load_addr ||
157 fw_hdr->entry_point >= image_load_addr + image_size) {
158 ivpu_err(vdev, "Invalid entry point: 0x%llx\n", fw_hdr->entry_point);
162 fw_hdr->header_version, fw_hdr->image_format);
165 (const char *)fw_hdr + VPU_FW_HEADER_SIZE);
167 if (IVPU_FW_CHECK_API(vdev, fw_hdr, BOOT, 3))
169 if (IVPU_FW_CHECK_API(vdev, fw_hdr, JSM, 3))
176 fw->shave_nn_size = PAGE_ALIGN(fw_hdr->shave_nn_fw_size);
178 fw->cold_boot_entry_point = fw_hdr->entry_point;