public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Stefan Eichenberger <eichest@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"David S. Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Dimitri Fedrau" <dima.fedrau@gmail.com>,
	"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
	netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org
Subject: Re: [net-next 3/3] net: phy: marvell-88q2xxx: Enable auto negotiation for mv88q2110
Date: Sat, 14 Sep 2024 16:00:01 +0200	[thread overview]
Message-ID: <ZuWW4UOtOGI_KmSg@eichest-laptop> (raw)
In-Reply-To: <70b86181-7bcf-42d7-b5a8-d26ac0c4c573@lunn.ch>

Hi Niklas and Andrew,

On Tue, Sep 10, 2024 at 10:23:18PM +0200, Andrew Lunn wrote:
> On Fri, Sep 06, 2024 at 03:39:51PM +0200, Niklas Söderlund wrote:
> > The initial marvell-88q2xxx driver only supported the Marvell 88Q2110
> > PHY without auto negotiation support. The reason documented states that
> > the provided initialization sequence did not to work. Now a method to
> > enable auto negotiation have been found by comparing the initialization
> > of other supported devices and an out-of-tree PHY driver.
> > 
> > Perform the minimal needed initialization of the PHY to get auto
> > negotiation working and remove the limitation that disables the auto
> > negotiation feature for the mv88q2110 device.
> > 
> > With this change a 1000Mbps full duplex link is able to be negotiated
> > between two mv88q2110 and the link works perfectly. The other side also
> > reflects the manually configure settings of the master device.
> > 
> >     # ethtool eth0
> >     Settings for eth0:
> >             Supported ports: [  ]
> >             Supported link modes:   100baseT1/Full
> >                                     1000baseT1/Full
> >             Supported pause frame use: Symmetric Receive-only
> >             Supports auto-negotiation: Yes
> >             Supported FEC modes: Not reported
> >             Advertised link modes:  100baseT1/Full
> >                                     1000baseT1/Full
> >             Advertised pause frame use: No
> >             Advertised auto-negotiation: Yes
> >             Advertised FEC modes: Not reported
> >             Link partner advertised link modes:  100baseT1/Full
> >                                                  1000baseT1/Full
> >             Link partner advertised pause frame use: No
> >             Link partner advertised auto-negotiation: Yes
> >             Link partner advertised FEC modes: Not reported
> >             Speed: 1000Mb/s
> >             Duplex: Full
> >             Auto-negotiation: on
> >             master-slave cfg: preferred master
> >             master-slave status: slave
> >             Port: Twisted Pair
> >             PHYAD: 0
> >             Transceiver: external
> >             MDI-X: Unknown
> >             Link detected: yes
> >             SQI: 15/15
> > 
> > Before this change I was not able to manually configure 1000Mbps link,
> > only a 100Mpps link so this change providers an improvement in
> > performance for this device.
> > 
> >     [  5] local 10.1.0.2 port 5201 connected to 10.1.0.1 port 38346
> >     [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> >     [  5]   0.00-1.00   sec  96.8 MBytes   812 Mbits/sec    0    469 KBytes
> >     [  5]   1.00-2.00   sec  94.3 MBytes   791 Mbits/sec    0    469 KBytes
> >     [  5]   2.00-3.00   sec  96.1 MBytes   806 Mbits/sec    0    469 KBytes
> >     [  5]   3.00-4.00   sec  98.3 MBytes   825 Mbits/sec    0    469 KBytes
> >     [  5]   4.00-5.00   sec  98.4 MBytes   825 Mbits/sec    0    469 KBytes
> >     [  5]   5.00-6.00   sec  98.4 MBytes   826 Mbits/sec    0    469 KBytes
> >     [  5]   6.00-7.00   sec  98.9 MBytes   830 Mbits/sec    0    469 KBytes
> >     [  5]   7.00-8.00   sec  91.7 MBytes   769 Mbits/sec    0    469 KBytes
> >     [  5]   8.00-9.00   sec  99.4 MBytes   834 Mbits/sec    0    747 KBytes
> >     [  5]   9.00-10.00  sec   101 MBytes   851 Mbits/sec    0    747 KBytes
> > 
> > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> 
> I will mark this one as 'change-requested', when in fact it is more a
> test-requested. Once we get a Tested-by: we can merge this next cycle.
> 

I was able to do a first basic test on my setup. I'm using the MV88Q2110
and connecting it to a Göpel media converter that I use as a reference.
However, with your patch applied, I can't get a link. When I set a fixed
link speed of 1GBit/s and the media converter is configured as the
master, I can normally do: 
ethtool -s end1 speed 1000 master-slave forced-slave
After that, the link came up. However, with the changes made, I can't do
this anymore. Can you reproduce this in your setup? What is your setup
like? Are you connecting two MV88Q2110 physically to each other? I'm out
of office again next week, afterwards I should be able to do some more
testing again. I think being able to set fixed link speeds is a must for
this PHY.

Regards,
Stefan

  reply	other threads:[~2024-09-14 14:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-06 13:39 [net-next 0/3] net: phy: marvell-88q2xxx: Enable auto negotiation for mv88q2110 Niklas Söderlund
2024-09-06 13:39 ` [net-next 1/3] net: phy: marvell-88q2xxx: Align soft reset for mv88q2110 and mv88q2220 Niklas Söderlund
2024-09-10 20:21   ` Andrew Lunn
2024-09-12 16:51   ` Dimitri Fedrau
2024-09-25 12:22   ` Stefan Eichenberger
2024-09-06 13:39 ` [net-next 2/3] net: phy: marvell-88q2xxx: Make register writer function generic Niklas Söderlund
2024-09-06 20:18   ` Andrew Lunn
2024-09-10 20:21   ` Andrew Lunn
2024-09-12 16:52   ` Dimitri Fedrau
2024-09-25 12:23   ` Stefan Eichenberger
2024-09-06 13:39 ` [net-next 3/3] net: phy: marvell-88q2xxx: Enable auto negotiation for mv88q2110 Niklas Söderlund
2024-09-06 20:36   ` Andrew Lunn
2024-09-06 21:39     ` Niklas Söderlund
2024-09-10 16:32       ` Andrew Lunn
2024-09-10 18:02         ` Stefan Eichenberger
2024-09-10 20:18           ` Andrew Lunn
2024-09-10 20:23   ` Andrew Lunn
2024-09-14 14:00     ` Stefan Eichenberger [this message]
2024-09-14 14:21       ` Niklas Söderlund
2024-09-14 14:43         ` Andrew Lunn
2024-09-25 13:04         ` Stefan Eichenberger
2024-10-05 11:08           ` Niklas Söderlund
2024-09-14 14:50       ` Andrew Lunn
2024-09-25 11:56         ` Stefan Eichenberger

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=ZuWW4UOtOGI_KmSg@eichest-laptop \
    --to=eichest@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=dima.fedrau@gmail.com \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    --cc=pabeni@redhat.com \
    --cc=yoshihiro.shimoda.uh@renesas.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox