Add C20 HDMI state calculations and put HDMI table definitions
in use.

Signed-off-by: Mika Kahola <mika.kah...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_cx0_phy.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c 
b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
index 3c0c6bf190d6..088f59c26dde 100644
--- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
@@ -1340,9 +1340,19 @@ intel_c20_pll_tables_get(struct intel_crtc_state 
*crtc_state,
 int intel_c20pll_calc_state(struct intel_crtc_state *crtc_state,
                            struct intel_encoder *encoder)
 {
+       struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+       enum phy phy = intel_port_to_phy(i915, encoder->port);
        const struct intel_c20pll_state * const *tables;
        int i;
 
+       if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI)) {
+               if (intel_c20_phy_check_hdmi_link_rate(crtc_state->port_clock) 
!= MODE_OK) {
+                       drm_dbg_kms(&i915->drm, "Can't support HDMI link rate 
%d on phy %c.\n",
+                                   crtc_state->port_clock, phy_name(phy));
+                       return -EINVAL;
+               }
+       }
+
        tables = intel_c20_pll_tables_get(crtc_state, encoder);
        if (!tables)
                return -EINVAL;
-- 
2.34.1

Reply via email to