Commit 9e68fa88 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Move iCLKIP readout to the pch code

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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211015071625.593-7-ville.syrjala@linux.intel.comReviewed-by: default avatarDave Airlie <airlied@redhat.com>
parent 7d9ae633
...@@ -145,8 +145,6 @@ static void intel_crt_get_config(struct intel_encoder *encoder, ...@@ -145,8 +145,6 @@ static void intel_crt_get_config(struct intel_encoder *encoder,
static void hsw_crt_get_config(struct intel_encoder *encoder, static void hsw_crt_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config) struct intel_crtc_state *pipe_config)
{ {
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
lpt_pch_get_config(pipe_config); lpt_pch_get_config(pipe_config);
hsw_ddi_get_config(encoder, pipe_config); hsw_ddi_get_config(encoder, pipe_config);
...@@ -156,8 +154,6 @@ static void hsw_crt_get_config(struct intel_encoder *encoder, ...@@ -156,8 +154,6 @@ static void hsw_crt_get_config(struct intel_encoder *encoder,
DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PVSYNC |
DRM_MODE_FLAG_NVSYNC); DRM_MODE_FLAG_NVSYNC);
pipe_config->hw.adjusted_mode.flags |= intel_crt_get_flags(encoder); 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 /* Note: The caller is required to filter out dpms modes not supported by the
......
...@@ -321,10 +321,11 @@ static void ddi_dotclock_get(struct intel_crtc_state *pipe_config) ...@@ -321,10 +321,11 @@ static void ddi_dotclock_get(struct intel_crtc_state *pipe_config)
{ {
int dotclock; int dotclock;
/* CRT dotclock is determined via other means */
if (pipe_config->has_pch_encoder) if (pipe_config->has_pch_encoder)
dotclock = intel_dotclock_calculate(pipe_config->port_clock, return;
&pipe_config->fdi_m_n);
else if (intel_crtc_has_dp_encoder(pipe_config)) if (intel_crtc_has_dp_encoder(pipe_config))
dotclock = intel_dotclock_calculate(pipe_config->port_clock, dotclock = intel_dotclock_calculate(pipe_config->port_clock,
&pipe_config->dp_m_n); &pipe_config->dp_m_n);
else if (pipe_config->has_hdmi_sink && pipe_config->pipe_bpp > 24) else if (pipe_config->has_hdmi_sink && pipe_config->pipe_bpp > 24)
......
...@@ -451,4 +451,6 @@ void lpt_pch_get_config(struct intel_crtc_state *crtc_state) ...@@ -451,4 +451,6 @@ void lpt_pch_get_config(struct intel_crtc_state *crtc_state)
FDI_DP_PORT_WIDTH_SHIFT) + 1; FDI_DP_PORT_WIDTH_SHIFT) + 1;
ilk_get_fdi_m_n_config(crtc, crtc_state); ilk_get_fdi_m_n_config(crtc, crtc_state);
crtc_state->hw.adjusted_mode.crtc_clock = lpt_get_iclkip(dev_priv);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment