[Intel-gfx] [PATCH 08/23] drm/i915: Unify the TypeC port notation in debug/error messages
Imre Deak
imre.deak at intel.com
Fri Jun 7 20:46:40 UTC 2019
On Fri, Jun 07, 2019 at 11:42:31PM +0300, Imre Deak wrote:
> On Fri, Jun 07, 2019 at 11:21:51PM +0300, Souza, Jose wrote:
> > On Tue, 2019-06-04 at 17:58 +0300, Imre Deak wrote:
> > > Unify the TypeC port notation in log messages, so that it matches the
> > > spec. For instance the first ICL TypeC port will read as 'Port
> > > C/TC#1'.
> > >
> > > Cc: José Roberto de Souza <jose.souza at intel.com>
> > > Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > > ---
> > > drivers/gpu/drm/i915/intel_tc.c | 41 +++++++++++++++++++++++++++--
> > > ----
> > > 1 file changed, 34 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_tc.c
> > > b/drivers/gpu/drm/i915/intel_tc.c
> > > index a3057c44bec6..07488235b67a 100644
> > > --- a/drivers/gpu/drm/i915/intel_tc.c
> > > +++ b/drivers/gpu/drm/i915/intel_tc.c
> > > @@ -6,6 +6,29 @@
> > > #include "i915_drv.h"
> > > #include "intel_tc.h"
> > >
> > > +static enum port intel_tc_port_to_port(struct drm_i915_private
> > > *dev_priv,
> > > + enum tc_port tc_port)
> > > +{
> > > + return tc_port + PORT_C;
> > > +}
> > > +
> > > +static const char *tc_port_name(struct drm_i915_private *dev_priv,
> > > + enum tc_port tc_port)
> > > +{
> > > + static char port_names[I915_MAX_TC_PORTS][8];
> > > +
> > > + if (WARN_ON(INTEL_GEN(dev_priv) < 11 ||
> > > + (unsigned int)tc_port >= I915_MAX_TC_PORTS))
> > > + tc_port = PORT_TC1;
> >
> > Why no WARN_ON on the tc_port >= I915_MAX_TC_PORTS?
>
> Hm, do you mean a seaparate WARN_ON()?
Well, at least it's misindented, I can fix that.
>
> >
> > > +
> > > + snprintf(&port_names[tc_port][0], sizeof(port_names[tc_port]),
> > > + "%c/TC#%d",
> > > + port_name(intel_tc_port_to_port(dev_priv, tc_port)),
> > > + tc_port + 1);
> >
> > Maybe do it only once for each port?
> >
> > if (port_names[tc_port][0])
> > return port_names[tc_port];
>
> I thought why not keep it as simple as possible (not really performance
> critical), but your version makes it clearer to the reader what the
> logic is (static array), so can change it.
>
> >
> > snprintf(&port_names[tc_port], sizeof....
> >
> > Other the above:
> >
> > Reviewed-by: José Roberto de Souza <jose.souza at intel.com>
> >
> > > +
> > > + return port_names[tc_port];
> > > +}
> > > +
> > > static const char *tc_port_mode_name(enum tc_port_mode mode)
> > > {
> > > static const char * const names[] = {
> > > @@ -85,7 +108,8 @@ static bool icl_tc_phy_connect(struct
> > > intel_digital_port *dig_port)
> > >
> > > val = I915_READ(PORT_TX_DFLEXDPPMS);
> > > if (!(val & DP_PHY_MODE_STATUS_COMPLETED(tc_port))) {
> > > - DRM_DEBUG_KMS("DP PHY for TC port %d not ready\n",
> > > tc_port);
> > > + DRM_DEBUG_KMS("Port %s: PHY not ready\n",
> > > + tc_port_name(dev_priv, tc_port));
> > > WARN_ON(dig_port->tc_legacy_port);
> > > return false;
> > > }
> > > @@ -106,7 +130,8 @@ static bool icl_tc_phy_connect(struct
> > > intel_digital_port *dig_port)
> > > */
> > > if (dig_port->tc_mode == TC_PORT_DP_ALT &&
> > > !(I915_READ(PORT_TX_DFLEXDPSP) &
> > > TC_LIVE_STATE_TC(tc_port))) {
> > > - DRM_DEBUG_KMS("TC PHY %d sudden disconnect.\n",
> > > tc_port);
> > > + DRM_DEBUG_KMS("Port %s: PHY sudden disconnect\n",
> > > + tc_port_name(dev_priv, tc_port));
> > > icl_tc_phy_disconnect(dig_port);
> > > return false;
> > > }
> > > @@ -136,8 +161,8 @@ void icl_tc_phy_disconnect(struct
> > > intel_digital_port *dig_port)
> > > I915_WRITE(PORT_TX_DFLEXDPCSSS, val);
> > > }
> > >
> > > - DRM_DEBUG_KMS("Port %c TC type %s disconnected\n",
> > > - port_name(dig_port->base.port),
> > > + DRM_DEBUG_KMS("Port %s: mode %s disconnected\n",
> > > + tc_port_name(dev_priv, tc_port),
> > > tc_port_mode_name(dig_port->tc_mode));
> > >
> > > dig_port->tc_mode = TC_PORT_TBT_ALT;
> > > @@ -162,7 +187,9 @@ static void icl_update_tc_port_type(struct
> > > drm_i915_private *dev_priv,
> > > return;
> > >
> > > if (old_mode != intel_dig_port->tc_mode)
> > > - DRM_DEBUG_KMS("Port %c has TC type %s\n",
> > > port_name(port),
> > > + DRM_DEBUG_KMS("Port %s: port has mode %s\n",
> > > + tc_port_name(dev_priv,
> > > + intel_port_to_tc(dev_priv,
> > > port)),
> > > tc_port_mode_name(intel_dig_port-
> > > >tc_mode));
> > > }
> > >
> > > @@ -191,8 +218,8 @@ bool intel_tc_port_connected(struct
> > > intel_digital_port *dig_port)
> > > */
> > > if (!dig_port->tc_legacy_port &&
> > > I915_READ(SDEISR) & SDE_TC_HOTPLUG_ICP(tc_port)) {
> > > - DRM_ERROR("VBT incorrectly claims port %c is not TypeC
> > > legacy\n",
> > > - port_name(port));
> > > + DRM_ERROR("Port %s: VBT incorrectly claims port is not
> > > TypeC legacy\n",
> > > + tc_port_name(dev_priv, tc_port));
> > > dig_port->tc_legacy_port = true;
> > > }
> > > is_legacy = dig_port->tc_legacy_port;
> _______________________________________________
> 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