Lines Matching defs:bi

13 static void imgu_css_fw_show_binary(struct device *dev, struct imgu_fw_info *bi,
19 bi->type, bi->blob.size, name);
20 if (bi->type != IMGU_FW_ISP_FIRMWARE)
24 bi->info.isp.sp.id, bi->info.isp.sp.pipeline.mode,
25 bi->info.isp.sp.bds.supported_bds_factors,
26 bi->info.isp.sp.enable.vf_veceven,
27 bi->info.isp.sp.vf_dec.is_variable,
28 bi->info.isp.num_output_pins);
31 bi->info.isp.sp.input.min_width,
32 bi->info.isp.sp.input.min_height,
33 bi->info.isp.sp.input.max_width,
34 bi->info.isp.sp.input.max_height,
35 bi->info.isp.sp.enable.input_yuv ? "yuv420 " : "",
36 bi->info.isp.sp.enable.input_feeder ||
37 bi->info.isp.sp.enable.input_raw ? "raw8 raw10 " : "",
38 bi->info.isp.sp.enable.input_raw ? "raw12" : "");
41 bi->info.isp.sp.internal.max_width,
42 bi->info.isp.sp.internal.max_height);
45 bi->info.isp.sp.output.min_width,
46 bi->info.isp.sp.output.min_height,
47 bi->info.isp.sp.output.max_width,
48 bi->info.isp.sp.output.max_height);
49 for (i = 0; i < bi->info.isp.num_output_formats; i++)
50 dev_dbg(dev, " %i", bi->info.isp.output_formats[i]);
52 for (i = 0; i < bi->info.isp.num_vf_formats; i++)
53 dev_dbg(dev, " %i", bi->info.isp.vf_formats[i]);
57 unsigned int imgu_css_fw_obgrid_size(const struct imgu_fw_info *bi)
59 unsigned int width = DIV_ROUND_UP(bi->info.isp.sp.internal.max_width,
61 unsigned int height = DIV_ROUND_UP(bi->info.isp.sp.internal.max_height,
68 bi->info.isp.sp.iterator.num_stripes;
78 struct imgu_fw_info *bi =
82 bi->info.isp.sp.mem_initializers.params[cls][mem].size)
149 struct imgu_fw_info *bi = &css->fwp->binary_header[i];
150 const char *name = (void *)css->fwp + bi->blob.prog_name_offset;
153 if (bi->blob.prog_name_offset >= css->fw->size)
155 len = strnlen(name, css->fw->size - bi->blob.prog_name_offset);
156 if (len + 1 > css->fw->size - bi->blob.prog_name_offset ||
160 if (bi->blob.size != bi->blob.text_size + bi->blob.icache_size
161 + bi->blob.data_size + bi->blob.padding_size)
163 if (bi->blob.offset + bi->blob.size > css->fw->size)
166 if (bi->type == IMGU_FW_BOOTLOADER_FIRMWARE) {
168 if (bi->info.bl.sw_state >= css->iomem_length ||
169 bi->info.bl.num_dma_cmds >= css->iomem_length ||
170 bi->info.bl.dma_cmd_list >= css->iomem_length)
173 if (bi->type == IMGU_FW_SP_FIRMWARE ||
174 bi->type == IMGU_FW_SP1_FIRMWARE) {
175 css->fw_sp[bi->type == IMGU_FW_SP_FIRMWARE ? 0 : 1] = i;
176 if (bi->info.sp.per_frame_data >= css->iomem_length ||
177 bi->info.sp.init_dmem_data >= css->iomem_length ||
178 bi->info.sp.host_sp_queue >= css->iomem_length ||
179 bi->info.sp.isp_started >= css->iomem_length ||
180 bi->info.sp.sw_state >= css->iomem_length ||
181 bi->info.sp.sleep_mode >= css->iomem_length ||
182 bi->info.sp.invalidate_tlb >= css->iomem_length ||
183 bi->info.sp.host_sp_com >= css->iomem_length ||
184 bi->info.sp.output + 12 >= css->iomem_length ||
185 bi->info.sp.host_sp_queues_initialized >=
189 if (bi->type != IMGU_FW_ISP_FIRMWARE)
192 if (bi->info.isp.sp.pipeline.mode >= IPU3_CSS_PIPE_ID_NUM)
195 if (bi->info.isp.sp.iterator.num_stripes >
199 if (bi->info.isp.num_vf_formats > IMGU_ABI_FRAME_FORMAT_NUM ||
200 bi->info.isp.num_output_formats > IMGU_ABI_FRAME_FORMAT_NUM)
203 for (j = 0; j < bi->info.isp.num_output_formats; j++)
204 if (bi->info.isp.output_formats[j] >=
207 for (j = 0; j < bi->info.isp.num_vf_formats; j++)
208 if (bi->info.isp.vf_formats[j] >=
212 if (bi->info.isp.sp.block.block_width <= 0 ||
213 bi->info.isp.sp.block.block_width > BLOCK_MAX ||
214 bi->info.isp.sp.block.output_block_height <= 0 ||
215 bi->info.isp.sp.block.output_block_height > BLOCK_MAX)
218 if (bi->blob.memory_offsets.offsets[IMGU_ABI_PARAM_CLASS_PARAM]
221 bi->blob.memory_offsets.offsets[IMGU_ABI_PARAM_CLASS_CONFIG]
224 bi->blob.memory_offsets.offsets[IMGU_ABI_PARAM_CLASS_STATE]
229 imgu_css_fw_show_binary(dev, bi, name);
244 struct imgu_fw_info *bi = &css->fwp->binary_header[i];
245 void *blob = (void *)css->fwp + bi->blob.offset;
246 size_t size = bi->blob.size;