On Wed, 04 May 2022, Ville Syrjala <ville.syrj...@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrj...@linux.intel.com>
>
> Extract intel_crtc_dotclock() from ddi_dotclock_get(). We'll reuse
> this during state computation in order to determine the actual final
> dotclcok after the DPLL computation has been done (which may not give
> us the exact same port_clock that we fed in).
>
> v2: Add the prototype
>
> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>

Okay, seems like intel_crtc_dotclock() might be in the wrong place now,
but okay for now.

Reviewed-by: Jani Nikula <jani.nik...@intel.com>


> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c     | 18 ++++++++++++------
>  drivers/gpu/drm/i915/display/intel_display.h |  1 +
>  2 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 9e6fa59eabba..0cf2d4fba6a8 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -322,14 +322,10 @@ static int icl_calc_tbt_pll_link(struct 
> drm_i915_private *dev_priv,
>       }
>  }
>  
> -static void ddi_dotclock_get(struct intel_crtc_state *pipe_config)
> +int intel_crtc_dotclock(const struct intel_crtc_state *pipe_config)
>  {
>       int dotclock;
>  
> -     /* CRT dotclock is determined via other means */
> -     if (pipe_config->has_pch_encoder)
> -             return;
> -
>       if (intel_crtc_has_dp_encoder(pipe_config))
>               dotclock = intel_dotclock_calculate(pipe_config->port_clock,
>                                                   &pipe_config->dp_m_n);
> @@ -345,7 +341,17 @@ static void ddi_dotclock_get(struct intel_crtc_state 
> *pipe_config)
>       if (pipe_config->pixel_multiplier)
>               dotclock /= pipe_config->pixel_multiplier;
>  
> -     pipe_config->hw.adjusted_mode.crtc_clock = dotclock;
> +     return dotclock;
> +}
> +
> +static void ddi_dotclock_get(struct intel_crtc_state *pipe_config)
> +{
> +     /* CRT dotclock is determined via other means */
> +     if (pipe_config->has_pch_encoder)
> +             return;
> +
> +     pipe_config->hw.adjusted_mode.crtc_clock =
> +             intel_crtc_dotclock(pipe_config);
>  }
>  
>  void intel_ddi_set_dp_msa(const struct intel_crtc_state *crtc_state,
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h 
> b/drivers/gpu/drm/i915/display/intel_display.h
> index 187910d94ec6..7af6b5a413dc 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -635,6 +635,7 @@ void intel_cpu_transcoder_get_m2_n2(struct intel_crtc 
> *crtc,
>  void i9xx_crtc_clock_get(struct intel_crtc *crtc,
>                        struct intel_crtc_state *pipe_config);
>  int intel_dotclock_calculate(int link_freq, const struct intel_link_m_n 
> *m_n);
> +int intel_crtc_dotclock(const struct intel_crtc_state *pipe_config);
>  enum intel_display_power_domain intel_port_to_power_domain(struct 
> intel_digital_port *dig_port);
>  enum intel_display_power_domain
>  intel_aux_power_domain(struct intel_digital_port *dig_port);

-- 
Jani Nikula, Intel Open Source Graphics Center

Reply via email to