Lines Matching full:timing
41 const struct dc_crtc_timing *timing) in dc_dsc_bandwidth_in_kbps_from_timing() argument
46 if (timing->flags.DSC) { in dc_dsc_bandwidth_in_kbps_from_timing()
47 kbps = (timing->pix_clk_100hz * timing->dsc_cfg.bits_per_pixel); in dc_dsc_bandwidth_in_kbps_from_timing()
52 switch (timing->display_color_depth) { in dc_dsc_bandwidth_in_kbps_from_timing()
77 kbps = timing->pix_clk_100hz / 10; in dc_dsc_bandwidth_in_kbps_from_timing()
80 if (timing->flags.Y_ONLY != 1) { in dc_dsc_bandwidth_in_kbps_from_timing()
83 if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) in dc_dsc_bandwidth_in_kbps_from_timing()
85 else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422) in dc_dsc_bandwidth_in_kbps_from_timing()
314 /* Get DSC bandwidth range based on [min_bpp, max_bpp] target bitrate range, and timing's pixel clo…
321 const struct dc_crtc_timing *timing, in get_dsc_bandwidth_range() argument
325 range->stream_kbps = dc_dsc_bandwidth_in_kbps_from_timing(timing); in get_dsc_bandwidth_range()
328 range->max_kbps = dsc_div_by_10_round_up(max_bpp * timing->pix_clk_100hz); in get_dsc_bandwidth_range()
333 …range->max_target_bpp_x16 = calc_dsc_bpp_x16(range->stream_kbps, timing->pix_clk_100hz, dsc_caps->… in get_dsc_bandwidth_range()
337 range->min_kbps = dsc_div_by_10_round_up(min_bpp * timing->pix_clk_100hz); in get_dsc_bandwidth_range()
358 const struct dc_crtc_timing *timing, in decide_dsc_target_bpp_x16() argument
367 dsc_common_caps, timing, &range); in decide_dsc_target_bpp_x16()
378 …*target_bpp_x16 = calc_dsc_bpp_x16(target_bandwidth_kbps, timing->pix_clk_100hz, dsc_common_caps->… in decide_dsc_target_bpp_x16()
532 * timing - The stream timing to fit into 'target_bandwidth_kbps' or apply
540 …* dsc_stream_bitrate_kbps = (int)ceil(timing->pix_clk_khz * dsc_cfg.bits_per…
546 const struct dc_crtc_timing *timing, in setup_dsc_config() argument
566 dc_dsc_get_policy_for_timing(timing, &policy); in setup_dsc_config()
567 pic_width = timing->h_addressable + timing->h_border_left + timing->h_border_right; in setup_dsc_config()
568 pic_height = timing->v_addressable + timing->v_border_top + timing->v_border_bottom; in setup_dsc_config()
577 …is_dsc_possible = intersect_dsc_caps(dsc_sink_caps, dsc_enc_caps, timing->pixel_encoding, &dsc_com… in setup_dsc_config()
586 timing, in setup_dsc_config()
595 // Validate available DSC settings against the mode timing in setup_dsc_config()
599 switch (timing->pixel_encoding) { in setup_dsc_config()
630 …if (branch_max_throughput_mps && dsc_div_by_10_round_up(timing->pix_clk_100hz) > branch_max_throug… in setup_dsc_config()
637 switch (timing->display_color_depth) { in setup_dsc_config()
675 int pix_clk_per_slice_khz = dsc_div_by_10_round_up(timing->pix_clk_100hz) / min_slices_h; in setup_dsc_config()
729 (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420 && slice_height % 2 != 0))) in setup_dsc_config()
732 …if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) // For the case when pic_height < dsc_polic… in setup_dsc_config()
861 * timing's pixel clock and uncompressed bandwidth.
870 const struct dc_crtc_timing *timing, in dc_dsc_compute_bandwidth_range() argument
878 get_dsc_enc_caps(dsc, &dsc_enc_caps, timing->pix_clk_100hz); in dc_dsc_compute_bandwidth_range()
881 timing->pixel_encoding, &dsc_common_caps); in dc_dsc_compute_bandwidth_range()
884 is_dsc_possible = setup_dsc_config(dsc_sink_caps, &dsc_enc_caps, 0, timing, in dc_dsc_compute_bandwidth_range()
888 get_dsc_bandwidth_range(min_bpp, max_bpp, &dsc_common_caps, timing, range); in dc_dsc_compute_bandwidth_range()
898 const struct dc_crtc_timing *timing, in dc_dsc_compute_config() argument
904 get_dsc_enc_caps(dsc, &dsc_enc_caps, timing->pix_clk_100hz); in dc_dsc_compute_config()
908 timing, dsc_min_slice_height_override, dsc_cfg); in dc_dsc_compute_config()
912 void dc_dsc_get_policy_for_timing(const struct dc_crtc_timing *timing, struct dc_dsc_policy *policy) in dc_dsc_get_policy_for_timing() argument
935 switch (timing->display_color_depth) { in dc_dsc_get_policy_for_timing()
948 switch (timing->pixel_encoding) { in dc_dsc_get_policy_for_timing()