[Intel-gfx] [PATCH 2/5] drm/i915: Extract intel_ddi_power_up_lanes()
Imre Deak
imre.deak at intel.com
Fri Jan 29 16:57:31 UTC 2021
On Thu, Jan 28, 2021 at 05:59:45PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Reduce the copypasta by pulling the combo PHY lane
> power up stuff into a helper. We'll have a third user soon.
>
> Cc: stable at vger.kernel.org
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Imre Deak <imre.deak at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_ddi.c | 35 +++++++++++++-----------
> 1 file changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index c94650488dc1..88cc6e2fbe91 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -3641,6 +3641,23 @@ static void intel_ddi_disable_fec_state(struct intel_encoder *encoder,
> intel_de_posting_read(dev_priv, dp_tp_ctl_reg(encoder, crtc_state));
> }
>
> +static void intel_ddi_power_up_lanes(struct intel_encoder *encoder,
> + const struct intel_crtc_state *crtc_state)
> +{
> + struct drm_i915_private *i915 = to_i915(encoder->base.dev);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> + enum phy phy = intel_port_to_phy(i915, encoder->port);
> +
> + if (intel_phy_is_combo(i915, phy)) {
> + bool lane_reversal =
> + dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL;
> +
> + intel_combo_phy_power_up_lanes(i915, phy, false,
> + crtc_state->lane_count,
> + lane_reversal);
> + }
> +}
> +
> static void tgl_ddi_pre_enable_dp(struct intel_atomic_state *state,
> struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state,
> @@ -3732,14 +3749,7 @@ static void tgl_ddi_pre_enable_dp(struct intel_atomic_state *state,
> * 7.f Combo PHY: Configure PORT_CL_DW10 Static Power Down to power up
> * the used lanes of the DDI.
> */
> - if (intel_phy_is_combo(dev_priv, phy)) {
> - bool lane_reversal =
> - dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL;
> -
> - intel_combo_phy_power_up_lanes(dev_priv, phy, false,
> - crtc_state->lane_count,
> - lane_reversal);
> - }
> + intel_ddi_power_up_lanes(encoder, crtc_state);
>
> /*
> * 7.g Configure and enable DDI_BUF_CTL
> @@ -3830,14 +3840,7 @@ static void hsw_ddi_pre_enable_dp(struct intel_atomic_state *state,
> else
> intel_prepare_dp_ddi_buffers(encoder, crtc_state);
>
> - if (intel_phy_is_combo(dev_priv, phy)) {
> - bool lane_reversal =
> - dig_port->saved_port_bits & DDI_BUF_PORT_REVERSAL;
> -
> - intel_combo_phy_power_up_lanes(dev_priv, phy, false,
> - crtc_state->lane_count,
> - lane_reversal);
> - }
> + intel_ddi_power_up_lanes(encoder, crtc_state);
>
> intel_ddi_init_dp_buf_reg(encoder, crtc_state);
> if (!is_mst)
> --
> 2.26.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list