mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 06:10:56 +00:00
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: 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>
This commit is contained in:
parent
7d9ae6332e
commit
9e68fa88b8
3 changed files with 6 additions and 7 deletions
|
@ -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,
|
||||||
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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue