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()
128 if (timing->flags.DSC && !timing->dsc_cfg.is_frl) in dp_active_dongle_validate_timing()
129 /* DP input has DSC, HDMI FRL output doesn't have DSC, remove DSC from output timing */ in dp_active_dongle_validate_timing()
135 if (get_tmds_output_pixel_clock_100hz(timing) > (dongle_caps->dp_hdmi_max_pixel_clk_in_khz * 10)) in dp_active_dongle_validate_timing()
144 if (dongle_caps->dfp_cap_ext.max_pixel_rate_in_mps < (timing->pix_clk_100hz / 10000)) in dp_active_dongle_validate_timing()
147 if (dongle_caps->dfp_cap_ext.max_video_h_active_width < timing->h_addressable) in dp_active_dongle_validate_timing()
150 if (dongle_caps->dfp_cap_ext.max_video_v_active_height < timing->v_addressable) in dp_active_dongle_validate_timing()
153 if (timing->pixel_encoding == PIXEL_ENCODING_RGB) { in dp_active_dongle_validate_timing()
156 if (timing->display_color_depth == COLOR_DEPTH_666 && in dp_active_dongle_validate_timing()
159 else if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
162 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
165 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
168 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
171 } else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR444) { in dp_active_dongle_validate_timing()
174 if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
177 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
180 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
183 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
186 } else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422) { in dp_active_dongle_validate_timing()
189 if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
192 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
195 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
198 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
201 } else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) { in dp_active_dongle_validate_timing()
204 if (timing->display_color_depth == COLOR_DEPTH_888 && in dp_active_dongle_validate_timing()
207 else if (timing->display_color_depth == COLOR_DEPTH_101010 && in dp_active_dongle_validate_timing()
210 else if (timing->display_color_depth == COLOR_DEPTH_121212 && in dp_active_dongle_validate_timing()
213 else if (timing->display_color_depth == COLOR_DEPTH_161616 && in dp_active_dongle_validate_timing()
260 const struct dc_crtc_timing *timing) in dp_validate_mode_timing() argument
268 if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420 && in dp_validate_mode_timing()
274 if ((timing->pix_clk_100hz / 10) == (uint32_t) 25175 && in dp_validate_mode_timing()
275 timing->h_addressable == (uint32_t) 640 && in dp_validate_mode_timing()
276 timing->v_addressable == (uint32_t) 480) in dp_validate_mode_timing()
287 req_bw = dc_bandwidth_in_kbps_from_timing(timing, dc_link_get_highest_encoding_format(link)); in dp_validate_mode_timing()
291timing->pix_clk_100hz > link->dpcd_caps.max_uncompressed_pixel_rate_cap.bits.max_uncompressed_pixe… in dp_validate_mode_timing()
293 if (is_max_uncompressed_pixel_rate_exceeded && !timing->flags.DSC) { in dp_validate_mode_timing()
319 const struct dc_crtc_timing *timing) in link_validate_mode_timing() argument
331 if (max_pix_clk != 0 && get_tmds_output_pixel_clock_100hz(timing) > max_pix_clk) in link_validate_mode_timing()
335 if (!dp_active_dongle_validate_timing(timing, dpcd_caps)) in link_validate_mode_timing()
343 timing)) in link_validate_mode_timing()
355 * This function calculates the bandwidth required for the stream timing
376 bw_needed[num_dpias] = dc_bandwidth_in_kbps_from_timing(&stream[i].timing, in link_validate_dpia_bandwidth()
397 bw_needed[j] += dc_bandwidth_in_kbps_from_timing(&stream[i].timing, in link_validate_dpia_bandwidth()