On to, 2016-11-17 at 11:17 -0800, Rodrigo Vivi wrote: > According to Bspec we need to > "Poll for PORT_REF_DW3_A grc_done == 1b" > only on ports B and C initialization sequence when > copying rcomp from port A. > > So let's follow the spec and only poll for that case > and not on every port A initialization. > > v2: Also remove the grc_done check from bxt_ddi_phy_is_enabled() > otherwise it might believe it is disabled and force it to re program. > > Cc: Imre Deak <imre.deak@xxxxxxxxx> > Cc: Ander Conselvan de Oliveira > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dpio_phy.c | 15 +++------------ > 1 file changed, 3 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dpio_phy.c b/drivers/gpu/drm/i915/intel_dpio_phy.c > index 7a8e82d..321a2ee 100644 > --- a/drivers/gpu/drm/i915/intel_dpio_phy.c > +++ b/drivers/gpu/drm/i915/intel_dpio_phy.c > @@ -255,14 +255,6 @@ bool bxt_ddi_phy_is_enabled(struct drm_i915_private *dev_priv, > return false; > } > > - if (phy_info->rcomp_phy == -1 && > - !(I915_READ(BXT_PORT_REF_DW3(phy)) & GRC_DONE)) { > - DRM_DEBUG_DRIVER("DDI PHY %d powered, but GRC isn't done\n", > - phy); > - > - return false; > - } > - > if (!(I915_READ(BXT_PHY_CTL_FAMILY(phy)) & COMMON_RESET_DIS)) { > DRM_DEBUG_DRIVER("DDI PHY %d powered, but still in reset\n", > phy); > @@ -367,6 +359,9 @@ static void _bxt_ddi_phy_init(struct drm_i915_private *dev_priv, > > if (phy_info->rcomp_phy != -1) { > uint32_t grc_code; > + > + bxt_phy_wait_grc_done(dev_priv, phy_info->rcomp_phy); > + > /* > * PHY0 isn't connected to an RCOMP resistor so copy over > * the corresponding calibrated value from PHY1, and disable > @@ -387,10 +382,6 @@ static void _bxt_ddi_phy_init(struct drm_i915_private *dev_priv, > val = I915_READ(BXT_PHY_CTL_FAMILY(phy)); > val |= COMMON_RESET_DIS; > I915_WRITE(BXT_PHY_CTL_FAMILY(phy), val); > - > - if (phy_info->rcomp_phy == -1) > - bxt_phy_wait_grc_done(dev_priv, phy); > - > } > > void bxt_ddi_phy_uninit(struct drm_i915_private *dev_priv, enum dpio_phy phy) _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx