[Intel-gfx] [PATCH v2 10/26] drm/i915: Extract intel_crtc_dotclock()
Jani Nikula
jani.nikula at linux.intel.com
Mon May 16 12:43:18 UTC 2022
On Wed, 04 May 2022, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at 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.syrjala at 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.nikula at 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
More information about the Intel-gfx
mailing list