diff --git a/msm/sde/sde_encoder_dce.c b/msm/sde/sde_encoder_dce.c index 7281351e17..c1156094d8 100644 --- a/msm/sde/sde_encoder_dce.c +++ b/msm/sde/sde_encoder_dce.c @@ -133,22 +133,22 @@ static int _dce_dsc_initial_line_calc(struct msm_display_dsc_info *dsc, split_panel_enable = 0; container_slice_width = (native_422 ? dsc->config.slice_width / 2 : dsc->config.slice_width); - max_muxword_size = ((rtl_max_bpc >= 12) ? 64 : 48); + max_muxword_size = (rtl_max_bpc >= 12) ? 64 : 48; max_se_size = 4 * (rtl_max_bpc + 1); max_ssm_delay = max_se_size + max_muxword_size - 1; - mux_word_size = (bpc >= 12 ? 64 : 48); - compress_bpp_group = (native_422 ? 2 * bpp : bpp); - input_ssm_out_latency = pipeline_latency + (3 * (max_ssm_delay + 2) - * num_of_active_ss); - rtl_num_components = (native_420 | native_422 ? 4 : 3); - ob_data_width_4comps = ((rtl_output_data_width >= (2 * + mux_word_size = (bpc >= 12) ? 64 : 48; + compress_bpp_group = native_422 ? (2 * bpp) : bpp; + input_ssm_out_latency = pipeline_latency + 3 * (max_ssm_delay + 2) + * num_of_active_ss; + rtl_num_components = (native_420 || native_422) ? 4 : 3; + ob_data_width_4comps = (rtl_output_data_width >= (2 * max_muxword_size)) ? rtl_output_data_width : - (2 * rtl_output_data_width)); - ob_data_width_3comps = (rtl_output_data_width >= max_muxword_size ? - rtl_output_data_width : 2 * rtl_output_data_width); - ob_data_width = (rtl_num_components == 4 ? - ob_data_width_4comps : ob_data_width_3comps); + (2 * rtl_output_data_width); + ob_data_width_3comps = (rtl_output_data_width >= max_muxword_size) ? + rtl_output_data_width : 2 * rtl_output_data_width; + ob_data_width = (rtl_num_components == 4) ? + ob_data_width_4comps : ob_data_width_3comps; obuf_latency = DIV_ROUND_UP((9 * ob_data_width + mux_word_size), compress_bpp_group) + 1; base_hs_latency = dsc->config.initial_xmit_delay + @@ -157,13 +157,13 @@ static int _dce_dsc_initial_line_calc(struct msm_display_dsc_info *dsc, output_rate_ratio_complement = ob_data_width - compress_bpp_group; output_rate_extra_budget_bits = (output_rate_ratio_complement * chunk_bits) >> - (ob_data_width == 128 ? 7 : 6); + ((ob_data_width == 128) ? 7 : 6); multi_hs_c = split_panel_enable * multiplex_mode_enable; multi_hs_d = (num_of_active_ss > 1) * (ob_data_width > compress_bpp_group); - multi_hs_extra_budget_bits = (multi_hs_c ? + multi_hs_extra_budget_bits = multi_hs_c ? chunk_bits : (multi_hs_d ? chunk_bits : - output_rate_extra_budget_bits)); + output_rate_extra_budget_bits); multi_hs_extra_latency = DIV_ROUND_UP(multi_hs_extra_budget_bits, compress_bpp_group); dsc->initial_lines = DIV_ROUND_UP((base_hs_latency +