Lines Matching full:timing

27  * This file owns timing validation against various link limitations. (ex.
38 static uint32_t get_tmds_output_pixel_clock_100hz(const struct dc_crtc_timing *timing) in get_tmds_output_pixel_clock_100hz() argument
41 uint32_t pxl_clk = timing->pix_clk_100hz; in get_tmds_output_pixel_clock_100hz()
43 if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) in get_tmds_output_pixel_clock_100hz()
45 else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422) in get_tmds_output_pixel_clock_100hz()
48 if (timing->display_color_depth == COLOR_DEPTH_101010) in get_tmds_output_pixel_clock_100hz()
50 else if (timing->display_color_depth == COLOR_DEPTH_121212) in get_tmds_output_pixel_clock_100hz()
57 const struct dc_crtc_timing *timing, in dp_active_dongle_validate_timing() argument
66 if (timing->pixel_encoding == PIXEL_ENCODING_RGB) in dp_active_dongle_validate_timing()
77 switch (timing->pixel_encoding) { in dp_active_dongle_validate_timing()
94 switch (timing->display_color_depth) { in dp_active_dongle_validate_timing()
115 switch (timing->timing_3d_format) { in dp_active_dongle_validate_timing()
126 struct dc_crtc_timing outputTiming = *timing; in dp_active_dongle_validate_timing()
129 if (timing->flags.DSC && !timing->dsc_cfg.is_frl) in dp_active_dongle_validate_timing()
130 /* DP input has DSC, HDMI FRL output doesn't have DSC, remove DSC from output timing */ in dp_active_dongle_validate_timing()
137 if (get_tmds_output_pixel_clock_100hz(timing) > (dongle_caps->dp_hdmi_max_pixel_clk_in_khz * 10)) in dp_active_dongle_validate_timing()
146 if (dongle_caps->dfp_cap_ext.max_pixel_rate_in_mps < (timing->pix_clk_100hz / 10000)) in dp_active_dongle_validate_timing()
149 if (dongle_caps->dfp_cap_ext.max_video_h_active_width < timing->h_addressable) in dp_active_dongle_validate_timing()
152 if (dongle_caps->dfp_cap_ext.max_video_v_active_height < timing->v_addressable) in dp_active_dongle_validate_timing()
155 if (timing->pixel_encoding == PIXEL_ENCODING_RGB) { in dp_active_dongle_validate_timing()
158 if (timing->display_color_depth == COLOR_DEPTH_666 && in dp_active_dongle_validate_timing()
161 else if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
164 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
167 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
170 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
173 } else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR444) { in dp_active_dongle_validate_timing()
176 if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
179 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
182 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
185 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
188 } else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422) { in dp_active_dongle_validate_timing()
191 if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
194 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
197 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
200 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
203 } else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) { in dp_active_dongle_validate_timing()
206 if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
209 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
212 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
215 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
262 const struct dc_crtc_timing *timing) in dp_validate_mode_timing() argument
270 if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420 && in dp_validate_mode_timing()
276 if ((timing->pix_clk_100hz / 10) == (uint32_t) 25175 && in dp_validate_mode_timing()
277 timing->h_addressable == (uint32_t) 640 && in dp_validate_mode_timing()
278 timing->v_addressable == (uint32_t) 480) in dp_validate_mode_timing()
289 req_bw = dc_bandwidth_in_kbps_from_timing(timing, dc_link_get_highest_encoding_format(link)); in dp_validate_mode_timing()
314 const struct dc_crtc_timing *timing) in link_validate_mode_timing() argument
326 if (max_pix_clk != 0 && get_tmds_output_pixel_clock_100hz(timing) > max_pix_clk) in link_validate_mode_timing()
330 if (!dp_active_dongle_validate_timing(timing, dpcd_caps)) in link_validate_mode_timing()
338 timing)) in link_validate_mode_timing()
350 * This function calculates the bandwidth required for the stream timing
371 bw_needed[num_dpias] = dc_bandwidth_in_kbps_from_timing(&stream[i].timing, in link_validate_dpia_bandwidth()
392 bw_needed[j] += dc_bandwidth_in_kbps_from_timing(&stream[i].timing, in link_validate_dpia_bandwidth()