Lines Matching refs:timing
62 const struct dc_crtc_timing *timing, const uint32_t kbps) in apply_128b_132b_stream_overhead() argument
69 if (!timing->flags.DSC) { in apply_128b_132b_stream_overhead()
74 bpp = dc_fixpt_div_int(bpp, timing->pix_clk_100hz / 10); in apply_128b_132b_stream_overhead()
79 overhead_factor = dc_fixpt_from_int(timing->h_addressable); in apply_128b_132b_stream_overhead()
94 const struct dc_crtc_timing *timing, in dc_bandwidth_in_kbps_from_timing() argument
100 if (timing->flags.DSC) in dc_bandwidth_in_kbps_from_timing()
101 return dc_dsc_stream_bandwidth_in_kbps(timing, in dc_bandwidth_in_kbps_from_timing()
102 timing->dsc_cfg.bits_per_pixel, in dc_bandwidth_in_kbps_from_timing()
103 timing->dsc_cfg.num_slices_h, in dc_bandwidth_in_kbps_from_timing()
104 timing->dsc_cfg.is_dp); in dc_bandwidth_in_kbps_from_timing()
106 switch (timing->display_color_depth) { in dc_bandwidth_in_kbps_from_timing()
131 kbps = timing->pix_clk_100hz / 10; in dc_bandwidth_in_kbps_from_timing()
134 if (timing->flags.Y_ONLY != 1) { in dc_bandwidth_in_kbps_from_timing()
137 if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) in dc_bandwidth_in_kbps_from_timing()
139 else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422) in dc_bandwidth_in_kbps_from_timing()
144 kbps = apply_128b_132b_stream_overhead(timing, kbps); in dc_bandwidth_in_kbps_from_timing()
147 timing->vic == 0 && timing->hdmi_vic == 0 && in dc_bandwidth_in_kbps_from_timing()
148 timing->frl_uncompressed_video_bandwidth_in_kbps != 0) in dc_bandwidth_in_kbps_from_timing()
149 kbps = timing->frl_uncompressed_video_bandwidth_in_kbps; in dc_bandwidth_in_kbps_from_timing()
158 const struct dc_crtc_timing *timing);
165 const struct dc_crtc_timing *timing,
171 const struct dc_crtc_timing *timing,
191 const struct dc_crtc_timing *timing,
464 const struct dc_crtc_timing *timing, in dc_dsc_compute_bandwidth_range() argument
479 get_dsc_enc_caps(dsc, &dsc_enc_caps, timing->pix_clk_100hz); in dc_dsc_compute_bandwidth_range()
481 min_dsc_slice_count = get_min_dsc_slice_count_for_odm(dsc, &dsc_enc_caps, timing); in dc_dsc_compute_bandwidth_range()
484 timing->pixel_encoding, &dsc_common_caps); in dc_dsc_compute_bandwidth_range()
487 is_dsc_possible = setup_dsc_config(dsc_sink_caps, &dsc_enc_caps, 0, timing, in dc_dsc_compute_bandwidth_range()
492 config.num_slices_h, &dsc_common_caps, timing, link_encoding, range); in dc_dsc_compute_bandwidth_range()
498 const struct dc_crtc_timing *timing) in dc_dsc_dump_encoder_caps() argument
502 get_dsc_enc_caps(dsc, &dsc_enc_caps, timing->pix_clk_100hz); in dc_dsc_dump_encoder_caps()
638 const struct dc_crtc_timing *timing) in get_min_dsc_slice_count_for_odm() argument
661 dc_fixpt_div_int(dc_fixpt_from_int(dsc_div_by_10_round_up(timing->pix_clk_100hz)), in get_min_dsc_slice_count_for_odm()
663 …dc_fixpt_div_int(dc_fixpt_from_int(timing->h_addressable + timing->h_border_left + timing->h_borde… in get_min_dsc_slice_count_for_odm()
770 const struct dc_crtc_timing *timing, in compute_bpp_x16_from_target_bandwidth() argument
780 timing, num_slices_h, is_dp); in compute_bpp_x16_from_target_bandwidth()
785 bpp_x16 = dc_fixpt_div_int(bpp_x16, timing->pix_clk_100hz); in compute_bpp_x16_from_target_bandwidth()
802 const struct dc_crtc_timing *timing, in decide_dsc_bandwidth_range() argument
806 uint32_t preferred_bpp_x16 = timing->dsc_fixed_bits_per_pixel_x16; in decide_dsc_bandwidth_range()
833 range->stream_kbps = dc_bandwidth_in_kbps_from_timing(timing, link_encoding); in decide_dsc_bandwidth_range()
836 range->max_kbps = dc_dsc_stream_bandwidth_in_kbps(timing, in decide_dsc_bandwidth_range()
840 range->min_kbps = dc_dsc_stream_bandwidth_in_kbps(timing, in decide_dsc_bandwidth_range()
858 const struct dc_crtc_timing *timing, in decide_dsc_target_bpp_x16() argument
868 num_slices_h, dsc_common_caps, timing, link_encoding, &range)) { in decide_dsc_target_bpp_x16()
879 target_bandwidth_kbps, timing, num_slices_h, in decide_dsc_target_bpp_x16()
1049 const struct dc_crtc_timing *timing, in setup_dsc_config() argument
1070 …dc_dsc_get_policy_for_timing(timing, options->max_target_bpp_limit_override_x16, &policy, link_enc… in setup_dsc_config()
1071 pic_width = timing->h_addressable + timing->h_border_left + timing->h_border_right; in setup_dsc_config()
1072 pic_height = timing->v_addressable + timing->v_border_top + timing->v_border_bottom; in setup_dsc_config()
1081 …is_dsc_possible = intersect_dsc_caps(dsc_sink_caps, dsc_enc_caps, timing->pixel_encoding, &dsc_com… in setup_dsc_config()
1091 switch (timing->pixel_encoding) { in setup_dsc_config()
1122 …if (branch_max_throughput_mps && dsc_div_by_10_round_up(timing->pix_clk_100hz) > branch_max_throug… in setup_dsc_config()
1129 switch (timing->display_color_depth) { in setup_dsc_config()
1164 int pix_clk_per_slice_khz = dsc_div_by_10_round_up(timing->pix_clk_100hz) / min_slices_h; in setup_dsc_config()
1244 (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420 && slice_height % 2 != 0))) in setup_dsc_config()
1247 …if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) // For the case when pic_height < dsc_polic… in setup_dsc_config()
1266 timing, in setup_dsc_config()
1293 const struct dc_crtc_timing *timing, in dc_dsc_compute_config() argument
1300 get_dsc_enc_caps(dsc, &dsc_enc_caps, timing->pix_clk_100hz); in dc_dsc_compute_config()
1302 min_dsc_slice_count = get_min_dsc_slice_count_for_odm(dsc, &dsc_enc_caps, timing); in dc_dsc_compute_config()
1307 timing, in dc_dsc_compute_config()
1315 uint32_t dc_dsc_stream_bandwidth_in_kbps(const struct dc_crtc_timing *timing, in dc_dsc_stream_bandwidth_in_kbps() argument
1323 timing, num_slices_h, is_dp); in dc_dsc_stream_bandwidth_in_kbps()
1325 actual_bandwidth_in_kbps = dc_fixpt_from_fraction(timing->pix_clk_100hz, 10); in dc_dsc_stream_bandwidth_in_kbps()
1332 const struct dc_crtc_timing *timing, in dc_dsc_stream_bandwidth_overhead_in_kbps() argument
1343 refresh_rate = dc_fixpt_from_int(timing->pix_clk_100hz); in dc_dsc_stream_bandwidth_overhead_in_kbps()
1344 refresh_rate = dc_fixpt_div_int(refresh_rate, timing->h_total); in dc_dsc_stream_bandwidth_overhead_in_kbps()
1345 refresh_rate = dc_fixpt_div_int(refresh_rate, timing->v_total); in dc_dsc_stream_bandwidth_overhead_in_kbps()
1349 max_dsc_overhead = dc_fixpt_mul_int(max_dsc_overhead, timing->v_total); in dc_dsc_stream_bandwidth_overhead_in_kbps()
1357 void dc_dsc_get_policy_for_timing(const struct dc_crtc_timing *timing, in dc_dsc_get_policy_for_timing() argument
1383 switch (timing->display_color_depth) { in dc_dsc_get_policy_for_timing()
1396 switch (timing->pixel_encoding) { in dc_dsc_get_policy_for_timing()