On Thu, Jul 21, 2022 at 09:22:16PM +0300, Vladimir Oltean wrote: > On Thu, Jul 21, 2022 at 07:21:45PM +0200, Marek Behún wrote: > > And then came 6373X switch, which didn't support clause 37 inband AN in > > 2500base-x mode (the AN reigster returned 0xffff or something when > > 2500base-x CMODE was set). Maybe 6373X finally supports clause 73 AN > > (I don't know, but I don't think so) and that is the reason they now > > forbid clause 37 AN in HW in 2500base-x. > > > > But the problem is that by this time there is software out there then > > expects 2500base-x to have clause 37 AN enabled. Indeed a passive SFP > > cable did not work between MOX' SFP port and CN9130-CRB's SFP port > > when used with Peridot (6190), if C37 AN was disabled on 6393x and left > > enabled on Peridot. > > > > I managed to work out how to enable C37 AN on 6393x: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=163000dbc772c1eae9bdfe7c8fe30155db1efd74 > > > > So currently we try to enable C37 AN in 2500base-x mode, although > > the standard says that it shouldn't be there, and it shouldn't be there > > presumably because they want it to work with C73 AN. > > > > I don't know how to solve this issue. Maybe declare a new PHY interface > > mode constant, 2500base-x-no-c37-an ? > > So this is essentially what I'm asking, and you didn't necessarily fully > answer. I take it that there exist Marvell switches which enable in-band > autoneg for 2500base-x and switches which don't, and managed = "in-band-status" > has nothing to do with that decision. Right? I think we're getting a little too het up over this. We have 1000base-X where, when we're not using in-band-status, we don't use autoneg (some drivers that weren't caught in review annoyingly do still use autoneg, but they shouldn't). We ignore the ethtool autoneg bit. We also have 1000base-X where we're using in-band-status, and we then respect the ethtool autoneg bit. So, wouldn't it be logical if 2500base-X were implemented the same way, and on setups where 2500base-X does not support clause 37 AN, we clear the ethtool autoneg bit? If we have 2500base-X being used as the media link, surely this is the right behaviour? (This has implications for the rate adaption case, since the 2500base-X link is not the media, and therefore the state of the autoneg bit shouldn't apply to the 2500base-X link.) -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!