[Intel-gfx] [PATCH] drm/i915/icl: implement the tc/legacy HPD {dis, }connect flows

Paulo Zanoni paulo.r.zanoni at intel.com
Wed Aug 1 17:05:40 UTC 2018


Em Qua, 2018-08-01 às 09:22 +0100, Chris Wilson escreveu:
> Quoting Paulo Zanoni (2018-08-01 00:45:04)
> > +static bool icl_tc_phy_connect(struct drm_i915_private *dev_priv,
> > +                              struct intel_digital_port *dig_port)
> > +{
> > +       enum tc_port tc_port = intel_port_to_tc(dev_priv, dig_port-
> > >base.port);
> > +       u32 val;
> > +
> > +       if (dig_port->tc_type != TC_PORT_LEGACY &&
> > +           dig_port->tc_type != TC_PORT_TYPEC)
> > +               return true;
> > +
> > +       val = I915_READ(PORT_TX_DFLEXDPPMS);
> > +       if (!(val & DP_PHY_MODE_STATUS_COMPLETED(tc_port))) {
> > +               DRM_ERROR("DP PHY for TC port %d not ready\n",
> > tc_port);
> > +               return false;
> 
> This is going to be hit as soon as someone manages to plug&unplug the
> cable rapidly enough, The callers all handle the bool return so why
> proclaim error on their behalf?

This error message is not supposed to happen since the spec says we
only get the interrupt after the PHY is actually ready. So my plan was
to have a way to find out in case the spec is wrong, which sometimes
happen.

OTOH there's actually nothing we can do here, and the callers will
indeed handle the return. I'll change it to DRM_DEBUG_KMS.

Thanks,
Paulo

> -Chris


More information about the Intel-gfx mailing list