On Wed, Aug 25, 2021 at 06:47:49PM +0300, Jani Nikula wrote: > Move FDI related functions to intel_fdi.c. Don't bother with renaming as > we'll make the functions static shortly. > > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_display.c | 49 -------------------- > drivers/gpu/drm/i915/display/intel_fdi.c | 49 ++++++++++++++++++++ > drivers/gpu/drm/i915/display/intel_fdi.h | 1 + > 3 files changed, 50 insertions(+), 49 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index 3a9afe04ce0a..f62bbff7a6be 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -2010,55 +2010,6 @@ static void ilk_pch_transcoder_set_timings(const struct intel_crtc_state *crtc_s > intel_de_read(dev_priv, VSYNCSHIFT(cpu_transcoder))); > } > > -static void cpt_set_fdi_bc_bifurcation(struct drm_i915_private *dev_priv, bool enable) > -{ > - u32 temp; > - > - temp = intel_de_read(dev_priv, SOUTH_CHICKEN1); > - if (!!(temp & FDI_BC_BIFURCATION_SELECT) == enable) > - return; > - > - drm_WARN_ON(&dev_priv->drm, > - intel_de_read(dev_priv, FDI_RX_CTL(PIPE_B)) & > - FDI_RX_ENABLE); > - drm_WARN_ON(&dev_priv->drm, > - intel_de_read(dev_priv, FDI_RX_CTL(PIPE_C)) & > - FDI_RX_ENABLE); > - > - temp &= ~FDI_BC_BIFURCATION_SELECT; > - if (enable) > - temp |= FDI_BC_BIFURCATION_SELECT; > - > - drm_dbg_kms(&dev_priv->drm, "%sabling fdi C rx\n", > - enable ? "en" : "dis"); > - intel_de_write(dev_priv, SOUTH_CHICKEN1, temp); > - intel_de_posting_read(dev_priv, SOUTH_CHICKEN1); > -} > - > -static void ivb_update_fdi_bc_bifurcation(const struct intel_crtc_state *crtc_state) > -{ > - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); > - struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); > - > - switch (crtc->pipe) { > - case PIPE_A: > - break; > - case PIPE_B: > - if (crtc_state->fdi_lanes > 2) > - cpt_set_fdi_bc_bifurcation(dev_priv, false); > - else > - cpt_set_fdi_bc_bifurcation(dev_priv, true); > - > - break; > - case PIPE_C: > - cpt_set_fdi_bc_bifurcation(dev_priv, true); > - > - break; > - default: > - BUG(); > - } > -} > - > /* > * Finds the encoder associated with the given CRTC. This can only be > * used when we know that the CRTC isn't feeding multiple encoders! > diff --git a/drivers/gpu/drm/i915/display/intel_fdi.c b/drivers/gpu/drm/i915/display/intel_fdi.c > index 88a78dafd54d..f8ffd5c032ae 100644 > --- a/drivers/gpu/drm/i915/display/intel_fdi.c > +++ b/drivers/gpu/drm/i915/display/intel_fdi.c > @@ -170,6 +170,55 @@ int ilk_fdi_compute_config(struct intel_crtc *crtc, > return ret; > } > > +static void cpt_set_fdi_bc_bifurcation(struct drm_i915_private *dev_priv, bool enable) > +{ > + u32 temp; > + > + temp = intel_de_read(dev_priv, SOUTH_CHICKEN1); > + if (!!(temp & FDI_BC_BIFURCATION_SELECT) == enable) > + return; > + > + drm_WARN_ON(&dev_priv->drm, > + intel_de_read(dev_priv, FDI_RX_CTL(PIPE_B)) & > + FDI_RX_ENABLE); > + drm_WARN_ON(&dev_priv->drm, > + intel_de_read(dev_priv, FDI_RX_CTL(PIPE_C)) & > + FDI_RX_ENABLE); > + > + temp &= ~FDI_BC_BIFURCATION_SELECT; > + if (enable) > + temp |= FDI_BC_BIFURCATION_SELECT; > + > + drm_dbg_kms(&dev_priv->drm, "%sabling fdi C rx\n", > + enable ? "en" : "dis"); > + intel_de_write(dev_priv, SOUTH_CHICKEN1, temp); > + intel_de_posting_read(dev_priv, SOUTH_CHICKEN1); > +} > + > +void ivb_update_fdi_bc_bifurcation(const struct intel_crtc_state *crtc_state) > +{ > + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); > + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); > + > + switch (crtc->pipe) { > + case PIPE_A: > + break; > + case PIPE_B: > + if (crtc_state->fdi_lanes > 2) > + cpt_set_fdi_bc_bifurcation(dev_priv, false); > + else > + cpt_set_fdi_bc_bifurcation(dev_priv, true); > + > + break; > + case PIPE_C: > + cpt_set_fdi_bc_bifurcation(dev_priv, true); > + > + break; > + default: > + BUG(); > + } > +} > + > void intel_fdi_normal_train(struct intel_crtc *crtc) > { > struct drm_device *dev = crtc->base.dev; > diff --git a/drivers/gpu/drm/i915/display/intel_fdi.h b/drivers/gpu/drm/i915/display/intel_fdi.h > index cda9a32c25ba..135802e4da68 100644 > --- a/drivers/gpu/drm/i915/display/intel_fdi.h > +++ b/drivers/gpu/drm/i915/display/intel_fdi.h > @@ -16,6 +16,7 @@ int intel_fdi_link_freq(struct drm_i915_private *i915, > const struct intel_crtc_state *pipe_config); > int ilk_fdi_compute_config(struct intel_crtc *intel_crtc, > struct intel_crtc_state *pipe_config); > +void ivb_update_fdi_bc_bifurcation(const struct intel_crtc_state *crtc_state); > void intel_fdi_normal_train(struct intel_crtc *crtc); > void ilk_fdi_disable(struct intel_crtc *crtc); > void ilk_fdi_pll_disable(struct intel_crtc *intel_crtc); > -- > 2.20.1 >