Lines Matching refs:binary

126     const struct ia_css_binary *binary,				/* [in] */
162 left_padding_bqs = _ISP_BQS(binary->left_padding);
173 need_bds_factor_2_00 = ((binary->info->sp.bds.supported_bds_factors &
183 if (need_bds_factor_2_00 && binary->info->sp.pipeline.left_cropping > 0)
235 binary_get_shading_info_type_1(const struct ia_css_binary *binary, /* [in] */
243 assert(binary);
248 info->info.type_1.enable = binary->info->sp.enable.sc;
249 info->info.type_1.num_hor_grids = binary->sctbl_width_per_color;
250 info->info.type_1.num_ver_grids = binary->sctbl_height;
251 info->info.type_1.bqs_per_grid_cell = (1 << binary->deci_factor_log2);
262 binary,
281 ia_css_binary_get_shading_info(const struct ia_css_binary *binary, /* [in] */
290 assert(binary);
293 IA_CSS_ENTER_PRIVATE("binary=%p, type=%d, required_bds_factor=%d, stream_config=%p",
294 binary, type, required_bds_factor, stream_config);
297 err = binary_get_shading_info_type_1(binary,
308 static void sh_css_binary_common_grid_info(const struct ia_css_binary *binary,
311 assert(binary);
314 info->isp_in_width = binary->internal_frame_info.res.width;
315 info->isp_in_height = binary->internal_frame_info.res.height;
321 ia_css_binary_dvs_grid_info(const struct ia_css_binary *binary,
328 assert(binary);
337 dvs_info->enable = binary->info->sp.enable.dis;
338 dvs_info->width = binary->dis.grid.dim.width;
339 dvs_info->height = binary->dis.grid.dim.height;
340 dvs_info->aligned_width = binary->dis.grid.pad.width;
341 dvs_info->aligned_height = binary->dis.grid.pad.height;
342 dvs_info->bqs_per_grid_cell = 1 << binary->dis.deci_factor_log2;
343 dvs_info->num_hor_coefs = binary->dis.coef.dim.width;
344 dvs_info->num_ver_coefs = binary->dis.coef.dim.height;
346 sh_css_binary_common_grid_info(binary, info);
351 const struct ia_css_binary *binary,
356 sh_css_binary_common_grid_info(binary, info);
361 ia_css_binary_3a_grid_info(const struct ia_css_binary *binary,
367 IA_CSS_ENTER_PRIVATE("binary=%p, info=%p, pipe=%p",
368 binary, info, pipe);
370 assert(binary);
375 s3a_info->enable = binary->info->sp.enable.s3a;
376 s3a_info->width = binary->s3atbl_width;
377 s3a_info->height = binary->s3atbl_height;
378 s3a_info->aligned_width = binary->s3atbl_isp_width;
379 s3a_info->aligned_height = binary->s3atbl_isp_height;
380 s3a_info->bqs_per_grid_cell = (1 << binary->deci_factor_log2);
381 s3a_info->deci_factor_log2 = binary->deci_factor_log2;
383 s3a_info->use_dmem = binary->info->sp.s3a.s3atbl_use_dmem;
464 /* we don't have this binary, skip it */
493 struct ia_css_binary_xinfo *binary = &all_binaries[i];
496 ret = binary_init_info(binary, i, &binary_found);
501 /* Prepend new binary information */
502 binary->next = binary_infos[binary->sp.pipeline.mode];
503 binary_infos[binary->sp.pipeline.mode] = binary;
504 binary->blob = &sh_css_blob_info[i];
505 binary->mem_offsets = sh_css_blob_info[i].mem_offsets;
617 * primary and the video binary. */
647 struct ia_css_binary *binary,
674 assert(binary);
676 binary->info = xinfo;
679 /* binary->css_params has been filled by accelerator itself. */
681 &binary->mem_params, &binary->css_params,
706 binary->dvs_envelope.width = dvs_env_width;
707 binary->dvs_envelope.height = dvs_env_height;
719 binary->internal_frame_info.format = bin_out_info->format;
721 binary->internal_frame_info.res.width = isp_internal_width;
722 binary->internal_frame_info.padded_width = CEIL_MUL(isp_internal_width, 2 * ISP_VEC_NELEMS);
723 binary->internal_frame_info.res.height = isp_internal_height;
724 binary->internal_frame_info.raw_bit_depth = bits_per_pixel;
728 binary->effective_in_frame_res.width = in_info->res.width;
729 binary->effective_in_frame_res.height = in_info->res.height;
734 binary->in_frame_info.res.width = in_info->res.width +
736 binary->in_frame_info.res.height = in_info->res.height +
739 binary->in_frame_info.res.width += dvs_env_width;
740 binary->in_frame_info.res.height += dvs_env_height;
742 binary->in_frame_info.padded_width =
750 binary->in_frame_info.format = in_info->format;
751 binary->in_frame_info.raw_bayer_order = in_info->raw_bayer_order;
752 binary->in_frame_info.crop_info = in_info->crop_info;
760 binary->in_frame_info.raw_bit_depth = bits_per_pixel;
765 binary->out_frame_info[i].res.width = out_info[i]->res.width;
766 binary->out_frame_info[i].res.height = out_info[i]->res.height;
767 binary->out_frame_info[i].padded_width = out_info[i]->padded_width;
769 binary->out_frame_info[i].raw_bit_depth = bits_per_pixel;
773 * To do this cleanly, the binary should specify in its info
776 binary->out_frame_info[i].raw_bit_depth = 16;
778 binary->out_frame_info[i].format = out_info[i]->format;
784 err = ia_css_vf_configure(binary, bin_out_info,
789 &binary->mem_params,
790 &binary->css_params);
795 binary->vf_downscale_log2 = vf_log_ds;
797 binary->online = online;
798 binary->input_format = stream_format;
805 binary->vf_frame_info.format = vf_info->format;
816 binary->out_frame_info[0].res.width =
818 binary->out_frame_info[0].padded_width = vf_out_width;
819 binary->out_frame_info[0].res.height = vf_out_height;
821 binary->vf_frame_info.res.width = 0;
822 binary->vf_frame_info.padded_width = 0;
823 binary->vf_frame_info.res.height = 0;
829 binary->vf_frame_info.res.width =
831 binary->vf_frame_info.padded_width = vf_out_width;
832 binary->vf_frame_info.res.height = vf_out_height;
836 binary->vf_frame_info.res.width = 0;
837 binary->vf_frame_info.padded_width = 0;
838 binary->vf_frame_info.res.height = 0;
843 binary->morph_tbl_width =
845 binary->morph_tbl_aligned_width =
847 binary->morph_tbl_height =
851 binary->morph_tbl_width = 0;
852 binary->morph_tbl_aligned_width = 0;
853 binary->morph_tbl_height = 0;
856 sc_3a_dis_width = binary->in_frame_info.res.width;
857 sc_3a_dis_padded_width = binary->in_frame_info.padded_width;
858 sc_3a_dis_height = binary->in_frame_info.res.height;
879 binary->deci_factor_log2 = s3a_log_deci;
883 binary->s3atbl_width =
886 binary->s3atbl_height =
889 binary->s3atbl_isp_width =
892 binary->s3atbl_isp_height =
897 binary->s3atbl_width = 0;
898 binary->s3atbl_height = 0;
899 binary->s3atbl_isp_width = 0;
900 binary->s3atbl_isp_height = 0;
905 binary->sctbl_width_per_color = _ISP_SCTBL_WIDTH_PER_COLOR(sc_3a_dis_padded_width, s3a_log_deci);
906 binary->sctbl_aligned_width_per_color = SH_CSS_MAX_SCTBL_ALIGNED_WIDTH_PER_COLOR;
907 binary->sctbl_height = _ISP_SCTBL_HEIGHT(sc_3a_dis_height, s3a_log_deci);
910 binary->sctbl_width_per_color = 0;
911 binary->sctbl_aligned_width_per_color = 0;
912 binary->sctbl_height = 0;
914 ia_css_sdis_init_info(&binary->dis,
921 binary->left_padding = 2 * ISP_VEC_NELEMS - info->pipeline.left_cropping;
923 binary->left_padding = 0;
929 struct ia_css_binary *binary) {
956 assert(binary);
959 "ia_css_binary_find() enter: descr=%p, (mode=%d), binary=%p\n",
961 binary);
1005 /* print a map of the binary file */
1046 "ia_css_binary_find() [%d] continue: binary is not striped\n",
1280 /* reconfigure any variable properties of the binary */
1285 binary, &dvs_env,
1291 binary_init_metrics(&binary->metrics, &binary->info->sp);
1304 "Using binary %s (id %d), type %d, mode %d, continuous %s\n",
1316 struct ia_css_binary *binary)
1318 int ret = __ia_css_binary_find(descr, binary);
1321 dev_dbg(atomisp_dev, "Seeking for binary failed at:");
1332 /* For IPU3 (SkyCam) this pointer is guaranteed to be NULL simply because such a binary does not exist */
1339 ia_css_binary_destroy_isp_parameters(struct ia_css_binary *binary)
1341 if (binary) {
1342 ia_css_isp_param_destroy_isp_parameters(&binary->mem_params,
1343 &binary->css_params);
1358 /* -1 to account for sp binary which is not stored in all_binaries */