Commit 037de9f2 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: atomisp: sh_css_params: remove tests for ISP2401

Those tests are related to the input system, which is the same
for the chosen firmware, so both ISP2400 and ISP2401 will be
identical with that regards.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent b541d4c9
...@@ -104,15 +104,10 @@ ...@@ -104,15 +104,10 @@
(sizeof(char) * (binary)->in_frame_info.res.height * \ (sizeof(char) * (binary)->in_frame_info.res.height * \
(binary)->in_frame_info.padded_width) (binary)->in_frame_info.padded_width)
#define ISP2400_SCTBL_BYTES(binary) \ #define SCTBL_BYTES(binary) \
(sizeof(unsigned short) * (binary)->sctbl_height * \ (sizeof(unsigned short) * (binary)->sctbl_height * \
(binary)->sctbl_aligned_width_per_color * IA_CSS_SC_NUM_COLORS) (binary)->sctbl_aligned_width_per_color * IA_CSS_SC_NUM_COLORS)
#define ISP2401_SCTBL_BYTES(binary) \
(sizeof(unsigned short) * max((binary)->sctbl_height, (binary)->sctbl_legacy_height) * \
/* height should be the larger height between new api and legacy api */ \
(binary)->sctbl_aligned_width_per_color * IA_CSS_SC_NUM_COLORS)
#define MORPH_PLANE_BYTES(binary) \ #define MORPH_PLANE_BYTES(binary) \
(SH_CSS_MORPH_TABLE_ELEM_BYTES * (binary)->morph_tbl_aligned_width * \ (SH_CSS_MORPH_TABLE_ELEM_BYTES * (binary)->morph_tbl_aligned_width * \
(binary)->morph_tbl_height) (binary)->morph_tbl_height)
...@@ -1611,18 +1606,6 @@ ia_css_set_param_exceptions(const struct ia_css_pipe *pipe, ...@@ -1611,18 +1606,6 @@ ia_css_set_param_exceptions(const struct ia_css_pipe *pipe,
params->dp_config.r = params->wb_config.r; params->dp_config.r = params->wb_config.r;
params->dp_config.b = params->wb_config.b; params->dp_config.b = params->wb_config.b;
params->dp_config.gb = params->wb_config.gb; params->dp_config.gb = params->wb_config.gb;
if (IS_ISP2401) {
assert(pipe);
assert(pipe->mode < IA_CSS_PIPE_ID_NUM);
if (pipe->mode < IA_CSS_PIPE_ID_NUM) {
params->pipe_dp_config[pipe->mode].gr = params->wb_config.gr;
params->pipe_dp_config[pipe->mode].r = params->wb_config.r;
params->pipe_dp_config[pipe->mode].b = params->wb_config.b;
params->pipe_dp_config[pipe->mode].gb = params->wb_config.gb;
}
}
} }
/* ISP2401 */ /* ISP2401 */
...@@ -2072,16 +2055,6 @@ sh_css_init_isp_params_from_config(struct ia_css_pipe *pipe, ...@@ -2072,16 +2055,6 @@ sh_css_init_isp_params_from_config(struct ia_css_pipe *pipe,
params->output_frame = config->output_frame; params->output_frame = config->output_frame;
params->isp_parameters_id = config->isp_config_id; params->isp_parameters_id = config->isp_config_id;
/* Currently we do not offer CSS interface to set different
* configurations for DPC, i.e. depending on DPC being enabled
* before (NORM+OBC) or after. The folllowing code to set the
* DPC configuration should be updated when this interface is made
* available */
if (IS_ISP2401) {
sh_css_set_dp_config(pipe, params, config->dp_config);
ia_css_set_param_exceptions(pipe, params);
}
if (0 == if (0 ==
sh_css_select_dp_10bpp_config(pipe, &is_dp_10bpp)) { sh_css_select_dp_10bpp_config(pipe, &is_dp_10bpp)) {
/* return an error when both DPC and BDS is enabled by the /* return an error when both DPC and BDS is enabled by the
...@@ -2096,8 +2069,7 @@ sh_css_init_isp_params_from_config(struct ia_css_pipe *pipe, ...@@ -2096,8 +2069,7 @@ sh_css_init_isp_params_from_config(struct ia_css_pipe *pipe,
goto exit; goto exit;
} }
if (!IS_ISP2401) ia_css_set_param_exceptions(pipe, params);
ia_css_set_param_exceptions(pipe, params);
exit: exit:
IA_CSS_LEAVE_ERR_PRIVATE(err); IA_CSS_LEAVE_ERR_PRIVATE(err);
...@@ -2514,29 +2486,7 @@ sh_css_init_isp_params_from_global(struct ia_css_stream *stream, ...@@ -2514,29 +2486,7 @@ sh_css_init_isp_params_from_global(struct ia_css_stream *stream,
ia_css_set_ob_config(params, &default_ob_config); ia_css_set_ob_config(params, &default_ob_config);
ia_css_set_dp_config(params, &default_dp_config); ia_css_set_dp_config(params, &default_dp_config);
if (!IS_ISP2401) { ia_css_set_param_exceptions(pipe_in, params);
ia_css_set_param_exceptions(pipe_in, params);
} else {
for (i = 0; i < stream->num_pipes; i++) {
if (sh_css_select_dp_10bpp_config(stream->pipes[i],
&is_dp_10bpp) == 0) {
/* set the return value as false if both DPC and
* BDS is enabled by the user. But we do not return
* the value immediately to enable internal firmware
* feature testing. */
if (is_dp_10bpp) {
sh_css_set_dp_config(stream->pipes[i], params, &default_dp_10bpp_config);
} else {
sh_css_set_dp_config(stream->pipes[i], params, &default_dp_config);
}
} else {
retval = false;
goto exit;
}
ia_css_set_param_exceptions(stream->pipes[i], params);
}
}
ia_css_set_de_config(params, &default_de_config); ia_css_set_de_config(params, &default_de_config);
ia_css_set_gc_config(params, &default_gc_config); ia_css_set_gc_config(params, &default_gc_config);
...@@ -2641,20 +2591,9 @@ sh_css_init_isp_params_from_global(struct ia_css_stream *stream, ...@@ -2641,20 +2591,9 @@ sh_css_init_isp_params_from_global(struct ia_css_stream *stream,
retval = false; retval = false;
goto exit; goto exit;
} }
if (IS_ISP2401) {
if (stream->pipes[i]->mode < IA_CSS_PIPE_ID_NUM) {
sh_css_set_dp_config(stream->pipes[i], params,
&stream_params->pipe_dp_config[stream->pipes[i]->mode]);
ia_css_set_param_exceptions(stream->pipes[i], params);
} else {
retval = false;
goto exit;
}
}
} }
if (!IS_ISP2401) ia_css_set_param_exceptions(pipe_in, params);
ia_css_set_param_exceptions(pipe_in, params);
params->fpn_config.data = stream_params->fpn_config.data; params->fpn_config.data = stream_params->fpn_config.data;
params->config_changed[IA_CSS_FPN_ID] = params->config_changed[IA_CSS_FPN_ID] =
...@@ -2806,10 +2745,7 @@ int ia_css_pipe_set_bci_scaler_lut(struct ia_css_pipe *pipe, ...@@ -2806,10 +2745,7 @@ int ia_css_pipe_set_bci_scaler_lut(struct ia_css_pipe *pipe,
pipe->scaler_pp_lut = mmgr_NULL; pipe->scaler_pp_lut = mmgr_NULL;
if (!stream_started) { if (!stream_started) {
if (!IS_ISP2401) pipe->scaler_pp_lut = hmm_alloc(sizeof(zoom_table), HMM_BO_PRIVATE, 0, NULL, 0);
pipe->scaler_pp_lut = hmm_alloc(sizeof(zoom_table), HMM_BO_PRIVATE, 0, NULL, 0);
else
pipe->scaler_pp_lut = sh_css_params_alloc_gdc_lut();
if (pipe->scaler_pp_lut == mmgr_NULL) { if (pipe->scaler_pp_lut == mmgr_NULL) {
ia_css_debug_dtrace(IA_CSS_DEBUG_ERROR, ia_css_debug_dtrace(IA_CSS_DEBUG_ERROR,
...@@ -2851,10 +2787,7 @@ int sh_css_params_map_and_store_default_gdc_lut(void) ...@@ -2851,10 +2787,7 @@ int sh_css_params_map_and_store_default_gdc_lut(void)
host_lut_store((void *)zoom_table); host_lut_store((void *)zoom_table);
if (!IS_ISP2401) default_gdc_lut = hmm_alloc(sizeof(zoom_table), HMM_BO_PRIVATE, 0, NULL, 0);
default_gdc_lut = hmm_alloc(sizeof(zoom_table), HMM_BO_PRIVATE, 0, NULL, 0);
else
default_gdc_lut = sh_css_params_alloc_gdc_lut();
if (default_gdc_lut == mmgr_NULL) if (default_gdc_lut == mmgr_NULL)
return -ENOMEM; return -ENOMEM;
...@@ -3450,18 +3383,12 @@ sh_css_params_write_to_ddr_internal( ...@@ -3450,18 +3383,12 @@ sh_css_params_write_to_ddr_internal(
if (binary->info->sp.enable.sc) { if (binary->info->sp.enable.sc) {
u32 enable_conv; u32 enable_conv;
size_t bytes;
if (!IS_ISP2401)
bytes = ISP2400_SCTBL_BYTES(binary);
else
bytes = ISP2401_SCTBL_BYTES(binary);
enable_conv = params->shading_settings.enable_shading_table_conversion; enable_conv = params->shading_settings.enable_shading_table_conversion;
buff_realloced = reallocate_buffer(&ddr_map->sc_tbl, buff_realloced = reallocate_buffer(&ddr_map->sc_tbl,
&ddr_map_size->sc_tbl, &ddr_map_size->sc_tbl,
bytes, SCTBL_BYTES(binary),
params->sc_table_changed, params->sc_table_changed,
&err); &err);
if (err) { if (err) {
...@@ -3546,28 +3473,6 @@ sh_css_params_write_to_ddr_internal( ...@@ -3546,28 +3473,6 @@ sh_css_params_write_to_ddr_internal(
} }
} }
/* DPC configuration is made pipe specific to allow flexibility in positioning of the
* DPC kernel. The code below sets the pipe specific configuration to
* individual binaries. */
if (IS_ISP2401 &&
params->pipe_dpc_config_changed[pipe_id] && binary->info->sp.enable.dpc) {
unsigned int size =
stage->binary->info->mem_offsets.offsets.param->dmem.dp.size;
unsigned int offset =
stage->binary->info->mem_offsets.offsets.param->dmem.dp.offset;
if (size) {
ia_css_dp_encode((struct sh_css_isp_dp_params *)
&binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
&params->pipe_dp_config[pipe_id], size);
params->isp_params_changed = true;
params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
true;
}
}
if (params->config_changed[IA_CSS_MACC_ID] && binary->info->sp.enable.macc) { if (params->config_changed[IA_CSS_MACC_ID] && binary->info->sp.enable.macc) {
unsigned int i, j, idx; unsigned int i, j, idx;
unsigned int idx_map[] = { unsigned int idx_map[] = {
...@@ -3649,13 +3554,7 @@ sh_css_params_write_to_ddr_internal( ...@@ -3649,13 +3554,7 @@ sh_css_params_write_to_ddr_internal(
if (!params->pipe_dvs_6axis_config[pipe_id]) { if (!params->pipe_dvs_6axis_config[pipe_id]) {
struct ia_css_resolution dvs_offset = {0}; struct ia_css_resolution dvs_offset = {0};
if (!IS_ISP2401) { dvs_offset.width = (PIX_SHIFT_FILTER_RUN_IN_X + binary->dvs_envelope.width) / 2;
dvs_offset.width = (PIX_SHIFT_FILTER_RUN_IN_X + binary->dvs_envelope.width) / 2;
} else {
if (binary->dvs_envelope.width || binary->dvs_envelope.height) {
dvs_offset.width = (PIX_SHIFT_FILTER_RUN_IN_X + binary->dvs_envelope.width) / 2;
}
}
dvs_offset.height = (PIX_SHIFT_FILTER_RUN_IN_Y + binary->dvs_envelope.height) / 2; dvs_offset.height = (PIX_SHIFT_FILTER_RUN_IN_Y + binary->dvs_envelope.height) / 2;
params->pipe_dvs_6axis_config[pipe_id] = params->pipe_dvs_6axis_config[pipe_id] =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment