Move the lpt_get_iclkip() call from hsw_crt_get_config()
since that's where we have the lpt_program_iclkip() call
as well.
Tehcnically this isn't perhaps quite right since iCLKIP
is providing the CRT dotclock. So one can argue all of
it should be directly in intel_crt.c. But since the CRT
port is the only one on the PCH sticking it all into the
PCH code seems OK.
Cc: Dave Airlie <airlied@redhat.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211015071625.593-7-ville.syrjala@linux.intel.com
Reviewed-by: Dave Airlie <airlied@redhat.com>
 static void hsw_crt_get_config(struct intel_encoder *encoder,
                               struct intel_crtc_state *pipe_config)
 {
-       struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
-
        lpt_pch_get_config(pipe_config);
 
        hsw_ddi_get_config(encoder, pipe_config);
                                              DRM_MODE_FLAG_PVSYNC |
                                              DRM_MODE_FLAG_NVSYNC);
        pipe_config->hw.adjusted_mode.flags |= intel_crt_get_flags(encoder);
-
-       pipe_config->hw.adjusted_mode.crtc_clock = lpt_get_iclkip(dev_priv);
 }
 
 /* Note: The caller is required to filter out dpms modes not supported by the
 
 {
        int dotclock;
 
+       /* CRT dotclock is determined via other means */
        if (pipe_config->has_pch_encoder)
-               dotclock = intel_dotclock_calculate(pipe_config->port_clock,
-                                                   &pipe_config->fdi_m_n);
-       else if (intel_crtc_has_dp_encoder(pipe_config))
+               return;
+
+       if (intel_crtc_has_dp_encoder(pipe_config))
                dotclock = intel_dotclock_calculate(pipe_config->port_clock,
                                                    &pipe_config->dp_m_n);
        else if (pipe_config->has_hdmi_sink && pipe_config->pipe_bpp > 24)
 
                                 FDI_DP_PORT_WIDTH_SHIFT) + 1;
 
        ilk_get_fdi_m_n_config(crtc, crtc_state);
+
+       crtc_state->hw.adjusted_mode.crtc_clock = lpt_get_iclkip(dev_priv);
 }