mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
drm/i915/dp: Reuse intel_hdmi_tmds_clock()
Reuse intel_hdmi_tmds_clock() for DP->HDMI TMDS clock calculations. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20211015133921.4609-9-ville.syrjala@linux.intel.com Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
This commit is contained in:
parent
5d488786a3
commit
0c63fd3d96
3 changed files with 7 additions and 16 deletions
|
@ -886,9 +886,8 @@ intel_dp_mode_valid_downstream(struct intel_connector *connector,
|
|||
return MODE_CLOCK_HIGH;
|
||||
|
||||
/* Assume 8bpc for the DP++/HDMI/DVI TMDS clock check */
|
||||
tmds_clock = target_clock;
|
||||
if (drm_mode_is_420_only(info, mode))
|
||||
tmds_clock /= 2;
|
||||
tmds_clock = intel_hdmi_tmds_clock(target_clock, 8,
|
||||
drm_mode_is_420_only(info, mode));
|
||||
|
||||
if (intel_dp->dfp.min_tmds_clock &&
|
||||
tmds_clock < intel_dp->dfp.min_tmds_clock)
|
||||
|
@ -1139,21 +1138,12 @@ static bool intel_dp_hdmi_ycbcr420(struct intel_dp *intel_dp,
|
|||
intel_dp->dfp.ycbcr_444_to_420);
|
||||
}
|
||||
|
||||
static int intel_dp_hdmi_tmds_clock(struct intel_dp *intel_dp,
|
||||
const struct intel_crtc_state *crtc_state, int bpc)
|
||||
{
|
||||
int clock = crtc_state->hw.adjusted_mode.crtc_clock * bpc / 8;
|
||||
|
||||
if (intel_dp_hdmi_ycbcr420(intel_dp, crtc_state))
|
||||
clock /= 2;
|
||||
|
||||
return clock;
|
||||
}
|
||||
|
||||
static bool intel_dp_hdmi_tmds_clock_valid(struct intel_dp *intel_dp,
|
||||
const struct intel_crtc_state *crtc_state, int bpc)
|
||||
{
|
||||
int tmds_clock = intel_dp_hdmi_tmds_clock(intel_dp, crtc_state, bpc);
|
||||
int clock = crtc_state->hw.adjusted_mode.crtc_clock;
|
||||
int tmds_clock = intel_hdmi_tmds_clock(clock, bpc,
|
||||
intel_dp_hdmi_ycbcr420(intel_dp, crtc_state));
|
||||
|
||||
if (intel_dp->dfp.min_tmds_clock &&
|
||||
tmds_clock < intel_dp->dfp.min_tmds_clock)
|
||||
|
|
|
@ -1869,7 +1869,7 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
|
|||
return MODE_OK;
|
||||
}
|
||||
|
||||
static int intel_hdmi_tmds_clock(int clock, int bpc, bool ycbcr420_output)
|
||||
int intel_hdmi_tmds_clock(int clock, int bpc, bool ycbcr420_output)
|
||||
{
|
||||
/* YCBCR420 TMDS rate requirement is half the pixel clock */
|
||||
if (ycbcr420_output)
|
||||
|
|
|
@ -46,6 +46,7 @@ bool intel_hdmi_limited_color_range(const struct intel_crtc_state *crtc_state,
|
|||
const struct drm_connector_state *conn_state);
|
||||
bool intel_hdmi_bpc_possible(const struct intel_crtc_state *crtc_state,
|
||||
int bpc, bool has_hdmi_sink, bool ycbcr420_output);
|
||||
int intel_hdmi_tmds_clock(int clock, int bpc, bool ycbcr420_output);
|
||||
int intel_hdmi_dsc_get_bpp(int src_fractional_bpp, int slice_width,
|
||||
int num_slices, int output_format, bool hdmi_all_bpp,
|
||||
int hdmi_max_chunk_bytes);
|
||||
|
|
Loading…
Reference in a new issue