All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marek Behún" <kabel@kernel.org>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Cc: andrew@lunn.ch, netdev@vger.kernel.org, olteanv@gmail.com,
	pavana.sharma@digi.com
Subject: Re: mv88e6xxx: 2500base-x inband AN is broken on Amethyst? what to do?
Date: Wed, 13 Jan 2021 21:08:39 +0100	[thread overview]
Message-ID: <20210113210839.40bb9446@kernel.org> (raw)
In-Reply-To: <20210113102849.GG1551@shell.armlinux.org.uk>

OK, so I did some tests with Peridot and 88X3310:

On 88E6390 switch, when CMODE in the port register for a port capable of
SerDes is set to 1000base-x, the switch self-configures the SerDes PHY
to inband AN:
  register 4.2000 has value 0x1940

but when CMODE is set to 2500base-x, the switch self-configure the PHY
without inband AN:
  register 4.2000 has value 0x0940

Also the 88X3310 PHY, when configured with MACTYPE=4
 (that is the mode that switches host interface between
  10gbase-r/5gbase-r/2500base-x/sgmii, depending on copper speed)
and when copper speed is 2500, the PHY self-configures without inband
AN:
  register 4.2000 has value 0x0140

It seems to me that on these Marvell devices, they consider 2500base-x
not capable of inband AN and disable it by default.

Moreover when the PHY has disabled inband AN and the Peridot switch has
it enabled (by software), they won't link. I tried enabling the inband
AN on the PHY, but it does not seem to work. Peridot can only
communicate with the PHY in 2500base-x with inband AN disabled.

This means that the commit
  a5a6858b793ff ("net: dsa: mv88e6xxx: extend phylink to Serdes PHYs")
causes a regression, since the code started enabling inband AN on
2500base-x mode on the mv88e6390 family, and they stopped working with
the PHY.

Russell, could we, for now, just edit the code so that when
  mv88e6390_serdes_pcs_config
is being configured with inband mode in 2500base-x, the inband mode
won't be enabled and the function will print a warning?
This could come with a Fixes tag so that it is backported to stable.

Afterwards we can work on refactoring the phylink code so that either
the driver can inform phylink whether 2500base-x inband AN is supported,
or maybe we can determine from some documentation or whatnot whether
inband AN is supported on 2500base-x at all.

Marek

  parent reply	other threads:[~2021-01-13 20:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-13  0:18 mv88e6xxx: 2500base-x inband AN is broken on Amethyst? what to do? Marek Behún
2021-01-13  4:22 ` Marek Behun
2021-01-13 10:28 ` Russell King - ARM Linux admin
2021-01-13 17:03   ` Marek Behún
2021-01-13 20:08   ` Marek Behún [this message]
2021-01-13 21:21     ` Russell King - ARM Linux admin
2021-01-13 21:37       ` Marek Behún
2021-01-13 21:48         ` Russell King - ARM Linux admin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210113210839.40bb9446@kernel.org \
    --to=kabel@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pavana.sharma@digi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.