Lines Matching refs:acc

1728 				   struct imgu_abi_acc_param *acc)  in imgu_css_cfg_acc_stripe()  argument
1738 memset(acc, 0, sizeof(*acc)); in imgu_css_cfg_acc_stripe()
1742 if (imgu_css_osys_calc(css, pipe, stripes, &acc->osys, &scaler_luma, in imgu_css_cfg_acc_stripe()
1743 &scaler_chroma, acc->stripe.block_stripes)) in imgu_css_cfg_acc_stripe()
1757 acc->stripe.num_of_stripes = stripes; in imgu_css_cfg_acc_stripe()
1758 acc->stripe.input_frame.width = in imgu_css_cfg_acc_stripe()
1760 acc->stripe.input_frame.height = in imgu_css_cfg_acc_stripe()
1762 acc->stripe.input_frame.bayer_order = in imgu_css_cfg_acc_stripe()
1766 acc->stripe.bds_out_stripes[i].height = in imgu_css_cfg_acc_stripe()
1768 acc->stripe.bds_out_stripes[0].offset = 0; in imgu_css_cfg_acc_stripe()
1770 acc->stripe.bds_out_stripes[0].width = in imgu_css_cfg_acc_stripe()
1774 acc->stripe.bds_out_stripes[0].width = in imgu_css_cfg_acc_stripe()
1775 acc->stripe.bds_out_stripes[1].width = in imgu_css_cfg_acc_stripe()
1784 acc->stripe.bds_out_stripes[0].width += f; in imgu_css_cfg_acc_stripe()
1787 acc->stripe.bds_out_stripes[0].width += f; in imgu_css_cfg_acc_stripe()
1788 acc->stripe.bds_out_stripes[1].width += f; in imgu_css_cfg_acc_stripe()
1791 acc->stripe.bds_out_stripes[1].offset = in imgu_css_cfg_acc_stripe()
1792 acc->stripe.bds_out_stripes[0].width - 2 * f; in imgu_css_cfg_acc_stripe()
1795 acc->stripe.effective_stripes[0].height = in imgu_css_cfg_acc_stripe()
1797 acc->stripe.effective_stripes[0].offset = 0; in imgu_css_cfg_acc_stripe()
1798 acc->stripe.bds_out_stripes_no_overlap[0].height = in imgu_css_cfg_acc_stripe()
1800 acc->stripe.bds_out_stripes_no_overlap[0].offset = 0; in imgu_css_cfg_acc_stripe()
1801 acc->stripe.output_stripes[0].height = in imgu_css_cfg_acc_stripe()
1803 acc->stripe.output_stripes[0].offset = 0; in imgu_css_cfg_acc_stripe()
1805 acc->stripe.down_scaled_stripes[0].width = in imgu_css_cfg_acc_stripe()
1807 acc->stripe.down_scaled_stripes[0].height = in imgu_css_cfg_acc_stripe()
1809 acc->stripe.down_scaled_stripes[0].offset = 0; in imgu_css_cfg_acc_stripe()
1811 acc->stripe.effective_stripes[0].width = in imgu_css_cfg_acc_stripe()
1813 acc->stripe.bds_out_stripes_no_overlap[0].width = in imgu_css_cfg_acc_stripe()
1816 acc->stripe.output_stripes[0].width = in imgu_css_cfg_acc_stripe()
1823 acc->stripe.down_scaled_stripes[0] = in imgu_css_cfg_acc_stripe()
1824 acc->stripe.bds_out_stripes[0]; in imgu_css_cfg_acc_stripe()
1825 acc->stripe.down_scaled_stripes[1] = in imgu_css_cfg_acc_stripe()
1826 acc->stripe.bds_out_stripes[1]; in imgu_css_cfg_acc_stripe()
1828 acc->stripe.down_scaled_stripes[1].width += in imgu_css_cfg_acc_stripe()
1832 acc->stripe.effective_stripes[0].width = bds_ds * in imgu_css_cfg_acc_stripe()
1833 acc->stripe.down_scaled_stripes[0].width / in imgu_css_cfg_acc_stripe()
1835 acc->stripe.effective_stripes[1].width = bds_ds * in imgu_css_cfg_acc_stripe()
1836 acc->stripe.down_scaled_stripes[1].width / in imgu_css_cfg_acc_stripe()
1838 acc->stripe.effective_stripes[1].height = in imgu_css_cfg_acc_stripe()
1840 acc->stripe.effective_stripes[1].offset = bds_ds * in imgu_css_cfg_acc_stripe()
1841 acc->stripe.down_scaled_stripes[1].offset / in imgu_css_cfg_acc_stripe()
1844 acc->stripe.bds_out_stripes_no_overlap[0].width = in imgu_css_cfg_acc_stripe()
1845 acc->stripe.bds_out_stripes_no_overlap[1].offset = in imgu_css_cfg_acc_stripe()
1847 acc->stripe.bds_out_stripes_no_overlap[1].width = in imgu_css_cfg_acc_stripe()
1850 acc->stripe.bds_out_stripes_no_overlap[1].height = in imgu_css_cfg_acc_stripe()
1853 acc->stripe.output_stripes[0].width = in imgu_css_cfg_acc_stripe()
1854 acc->stripe.down_scaled_stripes[0].width - f; in imgu_css_cfg_acc_stripe()
1855 acc->stripe.output_stripes[1].width = in imgu_css_cfg_acc_stripe()
1856 acc->stripe.down_scaled_stripes[1].width - f; in imgu_css_cfg_acc_stripe()
1857 acc->stripe.output_stripes[1].height = in imgu_css_cfg_acc_stripe()
1859 acc->stripe.output_stripes[1].offset = in imgu_css_cfg_acc_stripe()
1860 acc->stripe.output_stripes[0].width; in imgu_css_cfg_acc_stripe()
1863 acc->stripe.output_system_in_frame_width = in imgu_css_cfg_acc_stripe()
1865 acc->stripe.output_system_in_frame_height = in imgu_css_cfg_acc_stripe()
1868 acc->stripe.effective_frame_width = in imgu_css_cfg_acc_stripe()
1870 acc->stripe.bds_frame_width = css_pipe->rect[IPU3_CSS_RECT_BDS].width; in imgu_css_cfg_acc_stripe()
1871 acc->stripe.out_frame_width = in imgu_css_cfg_acc_stripe()
1873 acc->stripe.out_frame_height = in imgu_css_cfg_acc_stripe()
1875 acc->stripe.gdc_in_buffer_width = in imgu_css_cfg_acc_stripe()
1878 acc->stripe.gdc_in_buffer_height = in imgu_css_cfg_acc_stripe()
1880 acc->stripe.gdc_in_buffer_offset_x = IMGU_GDC_BUF_X; in imgu_css_cfg_acc_stripe()
1881 acc->stripe.gdc_in_buffer_offset_y = IMGU_GDC_BUF_Y; in imgu_css_cfg_acc_stripe()
1882 acc->stripe.display_frame_width = in imgu_css_cfg_acc_stripe()
1884 acc->stripe.display_frame_height = in imgu_css_cfg_acc_stripe()
1886 acc->stripe.bds_aligned_frame_width = in imgu_css_cfg_acc_stripe()
1891 acc->stripe.half_overlap_vectors = in imgu_css_cfg_acc_stripe()
1894 acc->stripe.half_overlap_vectors = 0; in imgu_css_cfg_acc_stripe()
1900 struct imgu_abi_acc_param *acc, in imgu_css_cfg_acc_dvs() argument
1907 acc->dvs_stat.operations_data.process_lines_data[0].lines = in imgu_css_cfg_acc_dvs()
1909 acc->dvs_stat.operations_data.process_lines_data[0].cfg_set = 0; in imgu_css_cfg_acc_dvs()
1910 acc->dvs_stat.operations_data.ops[0].op_type = in imgu_css_cfg_acc_dvs()
1912 acc->dvs_stat.operations_data.ops[0].op_indicator = in imgu_css_cfg_acc_dvs()
1915 acc->dvs_stat.cfg.grd_config[i].enable = 0; in imgu_css_cfg_acc_dvs()
1919 struct imgu_abi_acc_param *acc, in acc_bds_per_stripe_data() argument
1924 acc->bds.per_stripe.aligned_data[i].data.crop.hor_crop_en = 0; in acc_bds_per_stripe_data()
1925 acc->bds.per_stripe.aligned_data[i].data.crop.hor_crop_start = 0; in acc_bds_per_stripe_data()
1926 acc->bds.per_stripe.aligned_data[i].data.crop.hor_crop_end = 0; in acc_bds_per_stripe_data()
1927 acc->bds.per_stripe.aligned_data[i].data.hor_ctrl0 = in acc_bds_per_stripe_data()
1928 acc->bds.hor.hor_ctrl0; in acc_bds_per_stripe_data()
1929 acc->bds.per_stripe.aligned_data[i].data.hor_ctrl0.out_frame_width = in acc_bds_per_stripe_data()
1930 acc->stripe.down_scaled_stripes[i].width; in acc_bds_per_stripe_data()
1931 acc->bds.per_stripe.aligned_data[i].data.ver_ctrl1.out_frame_width = in acc_bds_per_stripe_data()
1932 acc->stripe.down_scaled_stripes[i].width; in acc_bds_per_stripe_data()
1933 acc->bds.per_stripe.aligned_data[i].data.ver_ctrl1.out_frame_height = in acc_bds_per_stripe_data()
1945 struct imgu_abi_acc_param *acc, in imgu_css_cfg_acc() argument
1954 acc->stripe.bds_aligned_frame_width; in imgu_css_cfg_acc()
1966 if (imgu_css_cfg_acc_stripe(css, pipe, acc)) in imgu_css_cfg_acc()
1983 acc->input_feeder.data.row_stride = pixm->plane_fmt[0].bytesperline; in imgu_css_cfg_acc()
1984 acc->input_feeder.data.start_row_address = in imgu_css_cfg_acc()
1986 ofs_y * acc->input_feeder.data.row_stride; in imgu_css_cfg_acc()
1987 acc->input_feeder.data.start_pixel = ofs_x % IMGU_PIXELS_PER_WORD; in imgu_css_cfg_acc()
1989 acc->input_feeder.data_per_stripe.input_feeder_data[0].data = in imgu_css_cfg_acc()
1990 acc->input_feeder.data; in imgu_css_cfg_acc()
1992 ofs_x += acc->stripe.effective_stripes[1].offset; in imgu_css_cfg_acc()
1995 &acc->input_feeder.data_per_stripe.input_feeder_data[1].data; in imgu_css_cfg_acc()
1996 feeder_data->row_stride = acc->input_feeder.data.row_stride; in imgu_css_cfg_acc()
1999 ofs_y * acc->input_feeder.data.row_stride; in imgu_css_cfg_acc()
2014 acc->bnr = acc_user->bnr; in imgu_css_cfg_acc()
2017 acc->bnr = acc_old->bnr; in imgu_css_cfg_acc()
2020 acc->bnr = imgu_css_bnr_defaults; in imgu_css_cfg_acc()
2023 acc->bnr.column_size = tnr_frame_width; in imgu_css_cfg_acc()
2029 acc->green_disparity = acc_user->green_disparity; in imgu_css_cfg_acc()
2032 acc->green_disparity = acc_old->green_disparity; in imgu_css_cfg_acc()
2035 memset(&acc->green_disparity, 0, sizeof(acc->green_disparity)); in imgu_css_cfg_acc()
2042 acc->dm = acc_user->dm; in imgu_css_cfg_acc()
2045 acc->dm = acc_old->dm; in imgu_css_cfg_acc()
2048 acc->dm = imgu_css_dm_defaults; in imgu_css_cfg_acc()
2051 acc->dm.frame_width = tnr_frame_width; in imgu_css_cfg_acc()
2057 acc->ccm = acc_user->ccm; in imgu_css_cfg_acc()
2060 acc->ccm = acc_old->ccm; in imgu_css_cfg_acc()
2063 acc->ccm = imgu_css_ccm_defaults; in imgu_css_cfg_acc()
2070 acc->gamma = acc_user->gamma; in imgu_css_cfg_acc()
2073 acc->gamma = acc_old->gamma; in imgu_css_cfg_acc()
2076 acc->gamma.gc_ctrl.enable = 1; in imgu_css_cfg_acc()
2077 acc->gamma.gc_lut = imgu_css_gamma_lut; in imgu_css_cfg_acc()
2084 acc->csc = acc_user->csc; in imgu_css_cfg_acc()
2087 acc->csc = acc_old->csc; in imgu_css_cfg_acc()
2090 acc->csc = imgu_css_csc_defaults; in imgu_css_cfg_acc()
2097 acc->cds = acc_user->cds; in imgu_css_cfg_acc()
2100 acc->cds = acc_old->cds; in imgu_css_cfg_acc()
2103 acc->cds = imgu_css_cds_defaults; in imgu_css_cfg_acc()
2110 acc->shd.shd = acc_user->shd.shd; in imgu_css_cfg_acc()
2111 acc->shd.shd_lut = acc_user->shd.shd_lut; in imgu_css_cfg_acc()
2114 acc->shd.shd = acc_old->shd.shd; in imgu_css_cfg_acc()
2115 acc->shd.shd_lut = acc_old->shd.shd_lut; in imgu_css_cfg_acc()
2118 acc->shd.shd = imgu_css_shd_defaults; in imgu_css_cfg_acc()
2119 memset(&acc->shd.shd_lut, 0, sizeof(acc->shd.shd_lut)); in imgu_css_cfg_acc()
2122 if (acc->shd.shd.grid.width <= 0) in imgu_css_cfg_acc()
2125 acc->shd.shd.grid.grid_height_per_slice = in imgu_css_cfg_acc()
2126 IMGU_ABI_SHD_MAX_CELLS_PER_SET / acc->shd.shd.grid.width; in imgu_css_cfg_acc()
2128 if (acc->shd.shd.grid.grid_height_per_slice <= 0) in imgu_css_cfg_acc()
2131 acc->shd.shd.general.init_set_vrt_offst_ul = in imgu_css_cfg_acc()
2132 (-acc->shd.shd.grid.y_start >> in imgu_css_cfg_acc()
2133 acc->shd.shd.grid.block_height_log2) % in imgu_css_cfg_acc()
2134 acc->shd.shd.grid.grid_height_per_slice; in imgu_css_cfg_acc()
2136 if (imgu_css_shd_ops_calc(&acc->shd.shd_ops, &acc->shd.shd.grid, in imgu_css_cfg_acc()
2141 imgu_css_cfg_acc_dvs(css, acc, pipe); in imgu_css_cfg_acc()
2147 acc->iefd = acc_user->iefd; in imgu_css_cfg_acc()
2150 acc->iefd = acc_old->iefd; in imgu_css_cfg_acc()
2153 acc->iefd = imgu_css_iefd_defaults; in imgu_css_cfg_acc()
2160 acc->yds_c0 = acc_user->yds_c0; in imgu_css_cfg_acc()
2163 acc->yds_c0 = acc_old->yds_c0; in imgu_css_cfg_acc()
2166 acc->yds_c0 = imgu_css_yds_defaults; in imgu_css_cfg_acc()
2173 acc->chnr_c0 = acc_user->chnr_c0; in imgu_css_cfg_acc()
2176 acc->chnr_c0 = acc_old->chnr_c0; in imgu_css_cfg_acc()
2179 acc->chnr_c0 = imgu_css_chnr_defaults; in imgu_css_cfg_acc()
2186 acc->y_ee_nr = acc_user->y_ee_nr; in imgu_css_cfg_acc()
2189 acc->y_ee_nr = acc_old->y_ee_nr; in imgu_css_cfg_acc()
2192 acc->y_ee_nr = imgu_css_y_ee_nr_defaults; in imgu_css_cfg_acc()
2199 acc->yds = acc_user->yds; in imgu_css_cfg_acc()
2202 acc->yds = acc_old->yds; in imgu_css_cfg_acc()
2205 acc->yds = imgu_css_yds_defaults; in imgu_css_cfg_acc()
2212 acc->chnr = acc_user->chnr; in imgu_css_cfg_acc()
2215 acc->chnr = acc_old->chnr; in imgu_css_cfg_acc()
2218 acc->chnr = imgu_css_chnr_defaults; in imgu_css_cfg_acc()
2224 acc->ytm.entries[i] = i * 32; in imgu_css_cfg_acc()
2225 acc->ytm.enable = 0; /* Always disabled on IPU3 */ in imgu_css_cfg_acc()
2231 acc->yds2 = acc_user->yds2; in imgu_css_cfg_acc()
2234 acc->yds2 = acc_old->yds2; in imgu_css_cfg_acc()
2237 acc->yds2 = imgu_css_yds_defaults; in imgu_css_cfg_acc()
2244 acc->tcc = acc_user->tcc; in imgu_css_cfg_acc()
2247 acc->tcc = acc_old->tcc; in imgu_css_cfg_acc()
2250 memset(&acc->tcc, 0, sizeof(acc->tcc)); in imgu_css_cfg_acc()
2252 acc->tcc.gen_control.en = 1; in imgu_css_cfg_acc()
2253 acc->tcc.gen_control.blend_shift = 3; in imgu_css_cfg_acc()
2254 acc->tcc.gen_control.gain_according_to_y_only = 1; in imgu_css_cfg_acc()
2255 acc->tcc.gen_control.gamma = 8; in imgu_css_cfg_acc()
2256 acc->tcc.gen_control.delta = 0; in imgu_css_cfg_acc()
2259 acc->tcc.macc_table.entries[i].a = 1024; in imgu_css_cfg_acc()
2260 acc->tcc.macc_table.entries[i].b = 0; in imgu_css_cfg_acc()
2261 acc->tcc.macc_table.entries[i].c = 0; in imgu_css_cfg_acc()
2262 acc->tcc.macc_table.entries[i].d = 1024; in imgu_css_cfg_acc()
2265 acc->tcc.inv_y_lut.entries[6] = 1023; in imgu_css_cfg_acc()
2267 acc->tcc.inv_y_lut.entries[i] = 1024 >> (i - 6); in imgu_css_cfg_acc()
2269 acc->tcc.gain_pcwl = imgu_css_tcc_gain_pcwl_lut; in imgu_css_cfg_acc()
2270 acc->tcc.r_sqr_lut = imgu_css_tcc_r_sqr_lut; in imgu_css_cfg_acc()
2279 memset(&acc->dpc, 0, sizeof(acc->dpc)); in imgu_css_cfg_acc()
2290 acc->bds.hor.hor_ctrl1.hor_crop_en = 0; in imgu_css_cfg_acc()
2291 acc->bds.hor.hor_ctrl1.hor_crop_start = 0; in imgu_css_cfg_acc()
2292 acc->bds.hor.hor_ctrl1.hor_crop_end = 0; in imgu_css_cfg_acc()
2293 acc->bds.hor.hor_ctrl0.sample_patrn_length = in imgu_css_cfg_acc()
2295 acc->bds.hor.hor_ctrl0.hor_ds_en = cfg_bds->hor_ds_en; in imgu_css_cfg_acc()
2296 acc->bds.hor.hor_ctrl0.min_clip_val = IMGU_BDS_MIN_CLIP_VAL; in imgu_css_cfg_acc()
2297 acc->bds.hor.hor_ctrl0.max_clip_val = IMGU_BDS_MAX_CLIP_VAL; in imgu_css_cfg_acc()
2298 acc->bds.hor.hor_ctrl0.out_frame_width = in imgu_css_cfg_acc()
2300 acc->bds.hor.hor_ptrn_arr = cfg_bds->ptrn_arr; in imgu_css_cfg_acc()
2301 acc->bds.hor.hor_phase_arr = cfg_bds->hor_phase_arr; in imgu_css_cfg_acc()
2302 acc->bds.hor.hor_ctrl2.input_frame_height = in imgu_css_cfg_acc()
2304 acc->bds.ver.ver_ctrl0.min_clip_val = IMGU_BDS_MIN_CLIP_VAL; in imgu_css_cfg_acc()
2305 acc->bds.ver.ver_ctrl0.max_clip_val = IMGU_BDS_MAX_CLIP_VAL; in imgu_css_cfg_acc()
2306 acc->bds.ver.ver_ctrl0.sample_patrn_length = in imgu_css_cfg_acc()
2308 acc->bds.ver.ver_ctrl0.ver_ds_en = cfg_bds->ver_ds_en; in imgu_css_cfg_acc()
2309 acc->bds.ver.ver_ptrn_arr = cfg_bds->ptrn_arr; in imgu_css_cfg_acc()
2310 acc->bds.ver.ver_phase_arr = cfg_bds->ver_phase_arr; in imgu_css_cfg_acc()
2311 acc->bds.ver.ver_ctrl1.out_frame_width = in imgu_css_cfg_acc()
2313 acc->bds.ver.ver_ctrl1.out_frame_height = in imgu_css_cfg_acc()
2316 acc_bds_per_stripe_data(css, acc, i, pipe); in imgu_css_cfg_acc()
2318 acc->bds.enabled = cfg_bds->hor_ds_en || cfg_bds->ver_ds_en; in imgu_css_cfg_acc()
2324 acc->anr.transform = acc_user->anr.transform; in imgu_css_cfg_acc()
2325 acc->anr.stitch.anr_stitch_en = in imgu_css_cfg_acc()
2327 memcpy(acc->anr.stitch.pyramid, acc_user->anr.stitch.pyramid, in imgu_css_cfg_acc()
2328 sizeof(acc->anr.stitch.pyramid)); in imgu_css_cfg_acc()
2331 acc->anr.transform = acc_old->anr.transform; in imgu_css_cfg_acc()
2332 acc->anr.stitch.anr_stitch_en = in imgu_css_cfg_acc()
2334 memcpy(acc->anr.stitch.pyramid, acc_old->anr.stitch.pyramid, in imgu_css_cfg_acc()
2335 sizeof(acc->anr.stitch.pyramid)); in imgu_css_cfg_acc()
2338 acc->anr = imgu_css_anr_defaults; in imgu_css_cfg_acc()
2342 acc->anr.search.enable = 1; in imgu_css_cfg_acc()
2343 acc->anr.transform.enable = 1; in imgu_css_cfg_acc()
2344 acc->anr.tile2strm.enable = 1; in imgu_css_cfg_acc()
2345 acc->anr.tile2strm.frame_width = in imgu_css_cfg_acc()
2347 acc->anr.search.frame_width = acc->anr.tile2strm.frame_width; in imgu_css_cfg_acc()
2348 acc->anr.stitch.frame_width = acc->anr.tile2strm.frame_width; in imgu_css_cfg_acc()
2349 acc->anr.tile2strm.frame_height = css_pipe->rect[IPU3_CSS_RECT_BDS].height; in imgu_css_cfg_acc()
2350 acc->anr.search.frame_height = acc->anr.tile2strm.frame_height; in imgu_css_cfg_acc()
2351 acc->anr.stitch.frame_height = acc->anr.tile2strm.frame_height; in imgu_css_cfg_acc()
2356 if (acc->anr.transform.xreset + width > IPU3_UAPI_ANR_MAX_RESET) in imgu_css_cfg_acc()
2357 acc->anr.transform.xreset = IPU3_UAPI_ANR_MAX_RESET - width; in imgu_css_cfg_acc()
2358 if (acc->anr.transform.xreset < IPU3_UAPI_ANR_MIN_RESET) in imgu_css_cfg_acc()
2359 acc->anr.transform.xreset = IPU3_UAPI_ANR_MIN_RESET; in imgu_css_cfg_acc()
2361 if (acc->anr.transform.yreset + height > IPU3_UAPI_ANR_MAX_RESET) in imgu_css_cfg_acc()
2362 acc->anr.transform.yreset = IPU3_UAPI_ANR_MAX_RESET - height; in imgu_css_cfg_acc()
2363 if (acc->anr.transform.yreset < IPU3_UAPI_ANR_MIN_RESET) in imgu_css_cfg_acc()
2364 acc->anr.transform.yreset = IPU3_UAPI_ANR_MIN_RESET; in imgu_css_cfg_acc()
2370 acc->awb_fr.config = acc_user->awb_fr; in imgu_css_cfg_acc()
2373 acc->awb_fr.config = acc_old->awb_fr.config; in imgu_css_cfg_acc()
2376 acc->awb_fr.config = imgu_css_awb_fr_defaults; in imgu_css_cfg_acc()
2379 imgu_css_grid_end_calc(&acc->awb_fr.config.grid_cfg); in imgu_css_cfg_acc()
2381 if (acc->awb_fr.config.grid_cfg.width <= 0) in imgu_css_cfg_acc()
2384 acc->awb_fr.config.grid_cfg.height_per_slice = in imgu_css_cfg_acc()
2386 acc->awb_fr.config.grid_cfg.width; in imgu_css_cfg_acc()
2389 acc->awb_fr.stripes[i] = acc->awb_fr.config; in imgu_css_cfg_acc()
2391 if (acc->awb_fr.config.grid_cfg.x_start >= in imgu_css_cfg_acc()
2392 acc->stripe.down_scaled_stripes[1].offset + min_overlap) { in imgu_css_cfg_acc()
2394 acc->awb_fr.stripes[0].grid_cfg.y_start &= in imgu_css_cfg_acc()
2396 } else if (acc->awb_fr.config.grid_cfg.x_end <= in imgu_css_cfg_acc()
2397 acc->stripe.bds_out_stripes[0].width - min_overlap) { in imgu_css_cfg_acc()
2399 acc->awb_fr.stripes[1].grid_cfg.y_start &= in imgu_css_cfg_acc()
2405 acc->awb_fr.stripes[0].grid_cfg.width = in imgu_css_cfg_acc()
2406 (acc->stripe.bds_out_stripes[0].width - min_overlap - in imgu_css_cfg_acc()
2407 acc->awb_fr.config.grid_cfg.x_start + 1) >> in imgu_css_cfg_acc()
2408 acc->awb_fr.config.grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2409 acc->awb_fr.stripes[1].grid_cfg.width = in imgu_css_cfg_acc()
2410 acc->awb_fr.config.grid_cfg.width - in imgu_css_cfg_acc()
2411 acc->awb_fr.stripes[0].grid_cfg.width; in imgu_css_cfg_acc()
2413 b_w_log2 = acc->awb_fr.stripes[0].grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2414 end = imgu_css_grid_end(acc->awb_fr.stripes[0].grid_cfg.x_start, in imgu_css_cfg_acc()
2415 acc->awb_fr.stripes[0].grid_cfg.width, in imgu_css_cfg_acc()
2417 acc->awb_fr.stripes[0].grid_cfg.x_end = end; in imgu_css_cfg_acc()
2419 acc->awb_fr.stripes[1].grid_cfg.x_start = in imgu_css_cfg_acc()
2420 (acc->awb_fr.stripes[0].grid_cfg.x_end + 1 - in imgu_css_cfg_acc()
2421 acc->stripe.down_scaled_stripes[1].offset) & in imgu_css_cfg_acc()
2423 b_w_log2 = acc->awb_fr.stripes[1].grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2424 end = imgu_css_grid_end(acc->awb_fr.stripes[1].grid_cfg.x_start, in imgu_css_cfg_acc()
2425 acc->awb_fr.stripes[1].grid_cfg.width, in imgu_css_cfg_acc()
2427 acc->awb_fr.stripes[1].grid_cfg.x_end = end; in imgu_css_cfg_acc()
2435 acc->awb_fr.stripes[i].grid_cfg.height_per_slice = 1; in imgu_css_cfg_acc()
2438 if (imgu_css_awb_fr_ops_calc(css, pipe, &acc->awb_fr)) in imgu_css_cfg_acc()
2445 acc->ae.grid_cfg = acc_user->ae.grid_cfg; in imgu_css_cfg_acc()
2446 acc->ae.ae_ccm = acc_user->ae.ae_ccm; in imgu_css_cfg_acc()
2448 acc->ae.weights[i] = acc_user->ae.weights[i]; in imgu_css_cfg_acc()
2451 acc->ae.grid_cfg = acc_old->ae.grid_cfg; in imgu_css_cfg_acc()
2452 acc->ae.ae_ccm = acc_old->ae.ae_ccm; in imgu_css_cfg_acc()
2454 acc->ae.weights[i] = acc_old->ae.weights[i]; in imgu_css_cfg_acc()
2460 acc->ae.grid_cfg = imgu_css_ae_grid_defaults; in imgu_css_cfg_acc()
2461 acc->ae.ae_ccm = imgu_css_ae_ccm_defaults; in imgu_css_cfg_acc()
2463 acc->ae.weights[i] = weight_def; in imgu_css_cfg_acc()
2466 b_w_log2 = acc->ae.grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2467 acc->ae.grid_cfg.x_end = imgu_css_grid_end(acc->ae.grid_cfg.x_start, in imgu_css_cfg_acc()
2468 acc->ae.grid_cfg.width, in imgu_css_cfg_acc()
2470 b_w_log2 = acc->ae.grid_cfg.block_height_log2; in imgu_css_cfg_acc()
2471 acc->ae.grid_cfg.y_end = imgu_css_grid_end(acc->ae.grid_cfg.y_start, in imgu_css_cfg_acc()
2472 acc->ae.grid_cfg.height, in imgu_css_cfg_acc()
2476 acc->ae.stripes[i].grid = acc->ae.grid_cfg; in imgu_css_cfg_acc()
2478 if (acc->ae.grid_cfg.x_start >= in imgu_css_cfg_acc()
2479 acc->stripe.down_scaled_stripes[1].offset) { in imgu_css_cfg_acc()
2481 acc->ae.stripes[0].grid.ae_en = 0; in imgu_css_cfg_acc()
2482 } else if (acc->ae.grid_cfg.x_end <= in imgu_css_cfg_acc()
2483 acc->stripe.bds_out_stripes[0].width) { in imgu_css_cfg_acc()
2485 acc->ae.stripes[1].grid.ae_en = 0; in imgu_css_cfg_acc()
2490 acc->ae.stripes[0].grid.width = in imgu_css_cfg_acc()
2491 (acc->stripe.bds_out_stripes[0].width - in imgu_css_cfg_acc()
2492 acc->ae.grid_cfg.x_start + 1) >> in imgu_css_cfg_acc()
2493 acc->ae.grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2495 acc->ae.stripes[1].grid.width = in imgu_css_cfg_acc()
2496 acc->ae.grid_cfg.width - acc->ae.stripes[0].grid.width; in imgu_css_cfg_acc()
2498 b_w_log2 = acc->ae.stripes[0].grid.block_width_log2; in imgu_css_cfg_acc()
2499 acc->ae.stripes[0].grid.x_end = in imgu_css_cfg_acc()
2500 imgu_css_grid_end(acc->ae.stripes[0].grid.x_start, in imgu_css_cfg_acc()
2501 acc->ae.stripes[0].grid.width, in imgu_css_cfg_acc()
2504 acc->ae.stripes[1].grid.x_start = in imgu_css_cfg_acc()
2505 (acc->ae.stripes[0].grid.x_end + 1 - in imgu_css_cfg_acc()
2506 acc->stripe.down_scaled_stripes[1].offset) & in imgu_css_cfg_acc()
2508 b_w_log2 = acc->ae.stripes[1].grid.block_width_log2; in imgu_css_cfg_acc()
2509 acc->ae.stripes[1].grid.x_end = in imgu_css_cfg_acc()
2510 imgu_css_grid_end(acc->ae.stripes[1].grid.x_start, in imgu_css_cfg_acc()
2511 acc->ae.stripes[1].grid.width, in imgu_css_cfg_acc()
2519 acc->af.config.filter_config = acc_user->af.filter_config; in imgu_css_cfg_acc()
2520 acc->af.config.grid_cfg = acc_user->af.grid_cfg; in imgu_css_cfg_acc()
2523 acc->af.config = acc_old->af.config; in imgu_css_cfg_acc()
2526 acc->af.config.filter_config = in imgu_css_cfg_acc()
2528 acc->af.config.grid_cfg = imgu_css_af_defaults.grid_cfg; in imgu_css_cfg_acc()
2531 imgu_css_grid_end_calc(&acc->af.config.grid_cfg); in imgu_css_cfg_acc()
2533 if (acc->af.config.grid_cfg.width <= 0) in imgu_css_cfg_acc()
2536 acc->af.config.grid_cfg.height_per_slice = in imgu_css_cfg_acc()
2537 IMGU_ABI_AF_MAX_CELLS_PER_SET / acc->af.config.grid_cfg.width; in imgu_css_cfg_acc()
2538 acc->af.config.frame_size.width = in imgu_css_cfg_acc()
2540 acc->af.config.frame_size.height = in imgu_css_cfg_acc()
2543 if (acc->stripe.bds_out_stripes[0].width <= min_overlap) in imgu_css_cfg_acc()
2547 acc->af.stripes[i].grid_cfg = acc->af.config.grid_cfg; in imgu_css_cfg_acc()
2548 acc->af.stripes[i].frame_size.height = in imgu_css_cfg_acc()
2550 acc->af.stripes[i].frame_size.width = in imgu_css_cfg_acc()
2551 acc->stripe.bds_out_stripes[i].width; in imgu_css_cfg_acc()
2554 if (acc->af.config.grid_cfg.x_start >= in imgu_css_cfg_acc()
2555 acc->stripe.down_scaled_stripes[1].offset + min_overlap) { in imgu_css_cfg_acc()
2557 acc->af.stripes[0].grid_cfg.y_start &= in imgu_css_cfg_acc()
2559 acc->af.stripes[1].grid_cfg.x_start = in imgu_css_cfg_acc()
2560 (acc->af.stripes[1].grid_cfg.x_start - in imgu_css_cfg_acc()
2561 acc->stripe.down_scaled_stripes[1].offset) & in imgu_css_cfg_acc()
2563 b_w_log2 = acc->af.stripes[1].grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2564 acc->af.stripes[1].grid_cfg.x_end = in imgu_css_cfg_acc()
2565 imgu_css_grid_end(acc->af.stripes[1].grid_cfg.x_start, in imgu_css_cfg_acc()
2566 acc->af.stripes[1].grid_cfg.width, in imgu_css_cfg_acc()
2568 } else if (acc->af.config.grid_cfg.x_end <= in imgu_css_cfg_acc()
2569 acc->stripe.bds_out_stripes[0].width - min_overlap) { in imgu_css_cfg_acc()
2571 acc->af.stripes[1].grid_cfg.y_start &= in imgu_css_cfg_acc()
2576 acc->af.stripes[0].grid_cfg.width = in imgu_css_cfg_acc()
2577 (acc->stripe.bds_out_stripes[0].width - min_overlap - in imgu_css_cfg_acc()
2578 acc->af.config.grid_cfg.x_start + 1) >> in imgu_css_cfg_acc()
2579 acc->af.config.grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2580 acc->af.stripes[1].grid_cfg.width = in imgu_css_cfg_acc()
2581 acc->af.config.grid_cfg.width - in imgu_css_cfg_acc()
2582 acc->af.stripes[0].grid_cfg.width; in imgu_css_cfg_acc()
2584 b_w_log2 = acc->af.stripes[0].grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2585 acc->af.stripes[0].grid_cfg.x_end = in imgu_css_cfg_acc()
2586 imgu_css_grid_end(acc->af.stripes[0].grid_cfg.x_start, in imgu_css_cfg_acc()
2587 acc->af.stripes[0].grid_cfg.width, in imgu_css_cfg_acc()
2590 acc->af.stripes[1].grid_cfg.x_start = in imgu_css_cfg_acc()
2591 (acc->af.stripes[0].grid_cfg.x_end + 1 - in imgu_css_cfg_acc()
2592 acc->stripe.down_scaled_stripes[1].offset) & in imgu_css_cfg_acc()
2595 b_w_log2 = acc->af.stripes[1].grid_cfg.block_width_log2; in imgu_css_cfg_acc()
2596 acc->af.stripes[1].grid_cfg.x_end = in imgu_css_cfg_acc()
2597 imgu_css_grid_end(acc->af.stripes[1].grid_cfg.x_start, in imgu_css_cfg_acc()
2598 acc->af.stripes[1].grid_cfg.width, in imgu_css_cfg_acc()
2606 acc->af.stripes[i].grid_cfg.height_per_slice = 1; in imgu_css_cfg_acc()
2609 if (imgu_css_af_ops_calc(css, pipe, &acc->af)) in imgu_css_cfg_acc()
2616 acc->awb.config = acc_user->awb.config; in imgu_css_cfg_acc()
2619 acc->awb.config = acc_old->awb.config; in imgu_css_cfg_acc()
2622 acc->awb.config = imgu_css_awb_defaults; in imgu_css_cfg_acc()
2625 if (acc->awb.config.grid.width <= 0) in imgu_css_cfg_acc()
2628 acc->awb.config.grid.height_per_slice = in imgu_css_cfg_acc()
2629 IMGU_ABI_AWB_MAX_CELLS_PER_SET / acc->awb.config.grid.width, in imgu_css_cfg_acc()
2630 imgu_css_grid_end_calc(&acc->awb.config.grid); in imgu_css_cfg_acc()
2633 acc->awb.stripes[i] = acc->awb.config; in imgu_css_cfg_acc()
2635 if (acc->awb.config.grid.x_start >= in imgu_css_cfg_acc()
2636 acc->stripe.down_scaled_stripes[1].offset + min_overlap) { in imgu_css_cfg_acc()
2638 acc->awb.stripes[0].rgbs_thr_b &= ~IPU3_UAPI_AWB_RGBS_THR_B_EN; in imgu_css_cfg_acc()
2640 acc->awb.stripes[1].grid.x_start = in imgu_css_cfg_acc()
2641 (acc->awb.stripes[1].grid.x_start - in imgu_css_cfg_acc()
2642 acc->stripe.down_scaled_stripes[1].offset) & in imgu_css_cfg_acc()
2645 b_w_log2 = acc->awb.stripes[1].grid.block_width_log2; in imgu_css_cfg_acc()
2646 acc->awb.stripes[1].grid.x_end = in imgu_css_cfg_acc()
2647 imgu_css_grid_end(acc->awb.stripes[1].grid.x_start, in imgu_css_cfg_acc()
2648 acc->awb.stripes[1].grid.width, in imgu_css_cfg_acc()
2650 } else if (acc->awb.config.grid.x_end <= in imgu_css_cfg_acc()
2651 acc->stripe.bds_out_stripes[0].width - min_overlap) { in imgu_css_cfg_acc()
2653 acc->awb.stripes[1].rgbs_thr_b &= ~IPU3_UAPI_AWB_RGBS_THR_B_EN; in imgu_css_cfg_acc()
2657 acc->awb.stripes[0].grid.width = in imgu_css_cfg_acc()
2658 (acc->stripe.bds_out_stripes[0].width - in imgu_css_cfg_acc()
2659 acc->awb.config.grid.x_start + 1) >> in imgu_css_cfg_acc()
2660 acc->awb.config.grid.block_width_log2; in imgu_css_cfg_acc()
2661 acc->awb.stripes[1].grid.width = acc->awb.config.grid.width - in imgu_css_cfg_acc()
2662 acc->awb.stripes[0].grid.width; in imgu_css_cfg_acc()
2664 b_w_log2 = acc->awb.stripes[0].grid.block_width_log2; in imgu_css_cfg_acc()
2665 acc->awb.stripes[0].grid.x_end = in imgu_css_cfg_acc()
2666 imgu_css_grid_end(acc->awb.stripes[0].grid.x_start, in imgu_css_cfg_acc()
2667 acc->awb.stripes[0].grid.width, in imgu_css_cfg_acc()
2670 acc->awb.stripes[1].grid.x_start = in imgu_css_cfg_acc()
2671 (acc->awb.stripes[0].grid.x_end + 1 - in imgu_css_cfg_acc()
2672 acc->stripe.down_scaled_stripes[1].offset) & in imgu_css_cfg_acc()
2675 b_w_log2 = acc->awb.stripes[1].grid.block_width_log2; in imgu_css_cfg_acc()
2676 acc->awb.stripes[1].grid.x_end = in imgu_css_cfg_acc()
2677 imgu_css_grid_end(acc->awb.stripes[1].grid.x_start, in imgu_css_cfg_acc()
2678 acc->awb.stripes[1].grid.width, in imgu_css_cfg_acc()
2686 acc->awb.stripes[i].grid.height_per_slice = 1; in imgu_css_cfg_acc()
2689 if (imgu_css_awb_ops_calc(css, pipe, &acc->awb)) in imgu_css_cfg_acc()