All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Frank Wunderlich <frank-w@public-files.de>
Cc: Frank Wunderlich <linux@fw-web.de>,
	linux-mediatek@lists.infradead.org,
	Alexander Couzens <lynxis@fe80.eu>, Felix Fietkau <nbd@nbd.name>,
	John Crispin <john@phrozen.org>,
	Sean Wang <sean.wang@mediatek.com>,
	Mark Lee <Mark-MC.Lee@mediatek.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: Re: Re: Re: [PATCH v2] net: mtk_sgmii: implement mtk_pcs_ops
Date: Sat, 22 Oct 2022 18:05:43 +0100	[thread overview]
Message-ID: <Y1Qi55IwJZulL1X/@shell.armlinux.org.uk> (raw)
In-Reply-To: <trinity-4470b00b-771b-466e-9f3a-a3df72758208-1666435920485@3c-app-gmx-bs49>

On Sat, Oct 22, 2022 at 12:52:00PM +0200, Frank Wunderlich wrote:
> > Gesendet: Samstag, 22. Oktober 2022 um 11:11 Uhr
> > Von: "Russell King (Oracle)" <linux@armlinux.org.uk>
> 
> > Please try this untested patch, which should setup the PCS to perform
> > autonegotiation when using in-band mode for 1000base-X, write the
> > correct to offset 8, and set the link timer correctly.
> 
> hi,
> 
> this patch breaks connectivity at least on the sfp-port (eth1).
> 
> root@bpi-r3:~# ip link set eth1 up
> [   65.457521] mtk_soc_eth 15100000.ethernet eth1: configuring for inband/1000base-x link mode
> root@bpi-r3:~# [   65.522936] offset:0 0x2c1140
> [   65.522950] offset:4 0x4d544950
> [   65.525914] offset:8 0x40e041a0
> [   65.529064] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Unknown - flow control off
> [   65.540733] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
> 
> root@bpi-r3:~# ip a a 192.168.0.19/24 dev eth1
> root@bpi-r3:~# ip r a default via 192.168.0.10
> root@bpi-r3:~# iperf3 -c 192.168.0.21 #ping does not work too
> iperf3: error - unable to send control message: Bad file descriptor
> root@bpi-r3:~# ethtool eth1
> [  177.346183] offset:0 0x2c1140
> [  177.346202] offset:4 0x4d544950
> Settings for eth[  177.349168] offset:8 0x40e041a0
> 1:
>         Supported p[  177.352477] offset:0 0x2c1140
> [  177.356952] offset:4 0x4d544950
> 
>         Supported link modes:   1000baseX/Full
>         Supported pause frame use: Symmetric Receive-only
>         Supports auto-negotiation: Yes
>         Supported FEC modes: Not reported
>         Advertised link modes:  1000baseX/Full
>         Advertised pause frame use: Symmetric Receive-only
>         Advertised auto-negotiation: Yes
>         Advertised FEC modes: Not reported
>         Speed: 1000Mb/s
>         Duplex: Unknown! (255)
>         Auto-negotiation: on
>         Port: FIBRE
>         PHYAD: 0
>         Transceiver: internal
>         Current message level: 0x000000ff (255)
>                                drv probe link timer ifdown ifup rx_err tx_err
>         Link detected: yes
> root@bpi-r3:~#
> 
> from sgmii_init
> [    1.091796] dev: 1 offset:0 0x81140
> [    1.094977] dev: 1 offset:4 0x4d544950
> [    1.098456] dev: 1 offset:8 0x1
> ...
> pcs_get_state
> [   65.522936] offset:0 0x2c1140
> [   65.522950] offset:4 0x4d544950
> [   65.525914] offset:8 0x40e041a0
> [  177.346183] offset:0 0x2c1140
> [  177.346202] offset:4 0x4d544950
> [  177.349168] offset:8 0x40e041a0
> [  177.352477] offset:0 0x2c1140
> [  177.356952] offset:4 0x4d544950

Hi,

Thanks. Well, the results suggest that the register at offset 8 is
indeed the advertisement and link-partner advertisement register. So
we have a bit of progress and a little more understanding of this
hardware.

Do you know if your link partner also thinks the link is up?

What I notice is:

mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Unknown - flow control off

The duplex is "unknown" which means you're not filling in the
state->duplex field in your pcs_get_state() function. Given the
link parter adverisement is 0x00e0, this means the link partner
supports PAUSE, 1000base-X/Half and 1000base-X/Full. The resolution
is therefore full duplex, so can we hack that in to your
pcs_get_state() so we're getting that right for this testing please?

Now, I'm wondering what SGMII_IF_MODE_BIT0 and SGMII_IF_MODE_BIT5 do
in the SGMSYS_SGMII_MODE register. Does one of these bits set the
format for the 16-bit control word that's used to convey the
advertisements. I think the next step would be to play around with
these and see what effect setting or clearing these bits has -
please can you give that a go?

Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

WARNING: multiple messages have this Message-ID (diff)
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Frank Wunderlich <frank-w@public-files.de>
Cc: Frank Wunderlich <linux@fw-web.de>,
	linux-mediatek@lists.infradead.org,
	Alexander Couzens <lynxis@fe80.eu>, Felix Fietkau <nbd@nbd.name>,
	John Crispin <john@phrozen.org>,
	Sean Wang <sean.wang@mediatek.com>,
	Mark Lee <Mark-MC.Lee@mediatek.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: Re: Re: Re: [PATCH v2] net: mtk_sgmii: implement mtk_pcs_ops
Date: Sat, 22 Oct 2022 18:05:43 +0100	[thread overview]
Message-ID: <Y1Qi55IwJZulL1X/@shell.armlinux.org.uk> (raw)
In-Reply-To: <trinity-4470b00b-771b-466e-9f3a-a3df72758208-1666435920485@3c-app-gmx-bs49>

On Sat, Oct 22, 2022 at 12:52:00PM +0200, Frank Wunderlich wrote:
> > Gesendet: Samstag, 22. Oktober 2022 um 11:11 Uhr
> > Von: "Russell King (Oracle)" <linux@armlinux.org.uk>
> 
> > Please try this untested patch, which should setup the PCS to perform
> > autonegotiation when using in-band mode for 1000base-X, write the
> > correct to offset 8, and set the link timer correctly.
> 
> hi,
> 
> this patch breaks connectivity at least on the sfp-port (eth1).
> 
> root@bpi-r3:~# ip link set eth1 up
> [   65.457521] mtk_soc_eth 15100000.ethernet eth1: configuring for inband/1000base-x link mode
> root@bpi-r3:~# [   65.522936] offset:0 0x2c1140
> [   65.522950] offset:4 0x4d544950
> [   65.525914] offset:8 0x40e041a0
> [   65.529064] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Unknown - flow control off
> [   65.540733] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
> 
> root@bpi-r3:~# ip a a 192.168.0.19/24 dev eth1
> root@bpi-r3:~# ip r a default via 192.168.0.10
> root@bpi-r3:~# iperf3 -c 192.168.0.21 #ping does not work too
> iperf3: error - unable to send control message: Bad file descriptor
> root@bpi-r3:~# ethtool eth1
> [  177.346183] offset:0 0x2c1140
> [  177.346202] offset:4 0x4d544950
> Settings for eth[  177.349168] offset:8 0x40e041a0
> 1:
>         Supported p[  177.352477] offset:0 0x2c1140
> [  177.356952] offset:4 0x4d544950
> 
>         Supported link modes:   1000baseX/Full
>         Supported pause frame use: Symmetric Receive-only
>         Supports auto-negotiation: Yes
>         Supported FEC modes: Not reported
>         Advertised link modes:  1000baseX/Full
>         Advertised pause frame use: Symmetric Receive-only
>         Advertised auto-negotiation: Yes
>         Advertised FEC modes: Not reported
>         Speed: 1000Mb/s
>         Duplex: Unknown! (255)
>         Auto-negotiation: on
>         Port: FIBRE
>         PHYAD: 0
>         Transceiver: internal
>         Current message level: 0x000000ff (255)
>                                drv probe link timer ifdown ifup rx_err tx_err
>         Link detected: yes
> root@bpi-r3:~#
> 
> from sgmii_init
> [    1.091796] dev: 1 offset:0 0x81140
> [    1.094977] dev: 1 offset:4 0x4d544950
> [    1.098456] dev: 1 offset:8 0x1
> ...
> pcs_get_state
> [   65.522936] offset:0 0x2c1140
> [   65.522950] offset:4 0x4d544950
> [   65.525914] offset:8 0x40e041a0
> [  177.346183] offset:0 0x2c1140
> [  177.346202] offset:4 0x4d544950
> [  177.349168] offset:8 0x40e041a0
> [  177.352477] offset:0 0x2c1140
> [  177.356952] offset:4 0x4d544950

Hi,

Thanks. Well, the results suggest that the register at offset 8 is
indeed the advertisement and link-partner advertisement register. So
we have a bit of progress and a little more understanding of this
hardware.

Do you know if your link partner also thinks the link is up?

What I notice is:

mtk_soc_eth 15100000.ethernet eth1: Link is Up - 1Gbps/Unknown - flow control off

The duplex is "unknown" which means you're not filling in the
state->duplex field in your pcs_get_state() function. Given the
link parter adverisement is 0x00e0, this means the link partner
supports PAUSE, 1000base-X/Half and 1000base-X/Full. The resolution
is therefore full duplex, so can we hack that in to your
pcs_get_state() so we're getting that right for this testing please?

Now, I'm wondering what SGMII_IF_MODE_BIT0 and SGMII_IF_MODE_BIT5 do
in the SGMSYS_SGMII_MODE register. Does one of these bits set the
format for the 16-bit control word that's used to convey the
advertisements. I think the next step would be to play around with
these and see what effect setting or clearing these bits has -
please can you give that a go?

Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-10-22 17:06 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20 14:44 [PATCH v2] net: mtk_sgmii: implement mtk_pcs_ops Frank Wunderlich
2022-10-20 14:44 ` Frank Wunderlich
2022-10-20 14:44 ` Frank Wunderlich
2022-10-20 16:17 ` Russell King (Oracle)
2022-10-20 16:17   ` Russell King (Oracle)
2022-10-20 16:17   ` Russell King (Oracle)
2022-10-21  6:04   ` Frank Wunderlich
2022-10-21  6:04     ` Frank Wunderlich
2022-10-21  7:24     ` Russell King (Oracle)
2022-10-21  7:24       ` Russell King (Oracle)
     [not found]       ` <9E91B812-8687-463D-8B98-3C4BF26CBE08@fw-web.de>
2022-10-21  9:00         ` Russell King (Oracle)
2022-10-21  9:00           ` Russell King (Oracle)
2022-10-21  9:00           ` Russell King (Oracle)
2022-10-21  9:06     ` Russell King (Oracle)
2022-10-21  9:06       ` Russell King (Oracle)
2022-10-21 17:47       ` Aw: " Frank Wunderlich
2022-10-21 17:47         ` Frank Wunderlich
2022-10-21 18:31         ` Russell King (Oracle)
2022-10-21 18:31           ` Russell King (Oracle)
2022-10-21 19:52           ` Aw: " Frank Wunderlich
2022-10-21 19:52             ` Frank Wunderlich
2022-10-21 21:28             ` Russell King (Oracle)
2022-10-21 21:28               ` Russell King (Oracle)
2022-10-22  6:25               ` Frank Wunderlich
2022-10-22  6:25                 ` Frank Wunderlich
2022-10-22  9:11                 ` Russell King (Oracle)
2022-10-22  9:11                   ` Russell King (Oracle)
2022-10-22  9:11                   ` Russell King (Oracle)
2022-10-22 10:52                   ` Aw: " Frank Wunderlich
2022-10-22 10:52                     ` Frank Wunderlich
2022-10-22 17:05                     ` Russell King (Oracle) [this message]
2022-10-22 17:05                       ` Russell King (Oracle)
2022-10-22 17:53                       ` Aw: " Frank Wunderlich
2022-10-22 17:53                         ` Frank Wunderlich
2022-10-22 19:18                         ` Russell King (Oracle)
2022-10-22 19:18                           ` Russell King (Oracle)
2022-10-23  7:26                           ` Aw: " Frank Wunderlich
2022-10-23  7:26                             ` Frank Wunderlich
2022-10-23  9:43                             ` Russell King (Oracle)
2022-10-23  9:43                               ` Russell King (Oracle)
2022-10-23 15:05                               ` Aw: " Frank Wunderlich
2022-10-23 15:05                                 ` Frank Wunderlich
2022-10-23 15:46                                 ` Russell King (Oracle)
2022-10-23 15:46                                   ` Russell King (Oracle)
2022-10-23 16:41                                   ` Aw: " Frank Wunderlich
2022-10-23 16:41                                     ` Frank Wunderlich
2022-10-23 17:52                                     ` Russell King (Oracle)
2022-10-23 17:52                                       ` Russell King (Oracle)
2022-10-23 19:03                                       ` Aw: " Frank Wunderlich
2022-10-23 19:03                                         ` Frank Wunderlich
2022-10-23 19:21                                         ` Frank Wunderlich
2022-10-23 19:21                                           ` Frank Wunderlich
2022-10-23 20:09                                           ` Russell King (Oracle)
2022-10-23 20:09                                             ` Russell King (Oracle)
2022-10-24  9:27                                             ` Russell King (Oracle)
2022-10-24  9:27                                               ` Russell King (Oracle)
2022-10-24 14:45                                               ` Aw: " Frank Wunderlich
2022-10-24 14:45                                                 ` Frank Wunderlich
2022-10-24 14:56                                                 ` Russell King (Oracle)
2022-10-24 14:56                                                   ` Russell King (Oracle)
2022-10-25  8:03                                                   ` Frank Wunderlich
2022-10-25  8:03                                                     ` Frank Wunderlich
2023-01-16 13:08                                                     ` Bjørn Mork
2023-01-16 13:08                                                       ` Bjørn Mork
2023-01-16 13:47                                                       ` Russell King (Oracle)
2023-01-16 13:47                                                         ` Russell King (Oracle)
2023-01-16 13:47                                                         ` Russell King (Oracle)
2023-01-16 14:45                                                         ` Bjørn Mork
2023-01-16 14:45                                                           ` Bjørn Mork
2023-01-16 14:45                                                           ` Bjørn Mork
2023-01-16 14:59                                                           ` Russell King (Oracle)
2023-01-16 14:59                                                             ` Russell King (Oracle)
2023-01-16 14:59                                                             ` Russell King (Oracle)
2023-01-16 15:21                                                             ` Bjørn Mork
2023-01-16 15:21                                                               ` Bjørn Mork
2023-01-16 15:21                                                               ` Bjørn Mork
2023-01-16 15:32                                                               ` Russell King (Oracle)
2023-01-16 15:32                                                                 ` Russell King (Oracle)
2023-01-16 15:32                                                                 ` Russell King (Oracle)
2023-01-16 16:33                                                                 ` Bjørn Mork
2023-01-16 16:33                                                                   ` Bjørn Mork
2023-01-16 16:33                                                                   ` Bjørn Mork
2023-01-16 16:43                                                                   ` Russell King (Oracle)
2023-01-16 16:43                                                                     ` Russell King (Oracle)
2023-01-16 16:43                                                                     ` Russell King (Oracle)
2023-01-16 16:48                                                                     ` Bjørn Mork
2023-01-16 16:48                                                                       ` Bjørn Mork
2023-01-16 16:48                                                                       ` Bjørn Mork
2023-01-16 16:45                                                                   ` Bjørn Mork
2023-01-16 16:45                                                                     ` Bjørn Mork
2023-01-16 16:45                                                                     ` Bjørn Mork
2023-01-16 17:47                                                                     ` Russell King (Oracle)
2023-01-16 17:47                                                                       ` Russell King (Oracle)
2023-01-16 17:47                                                                       ` Russell King (Oracle)
2023-01-16 17:59                                                                       ` Bjørn Mork
2023-01-16 17:59                                                                         ` Bjørn Mork
2023-01-16 17:59                                                                         ` Bjørn Mork
2023-01-16 18:04                                                                         ` Bjørn Mork
2023-01-16 18:04                                                                           ` Bjørn Mork
2023-01-16 18:04                                                                           ` Bjørn Mork
2023-01-16 18:14                                                                           ` Russell King (Oracle)
2023-01-16 18:14                                                                             ` Russell King (Oracle)
2023-01-16 18:14                                                                             ` Russell King (Oracle)
2023-01-16 18:30                                                                             ` Bjørn Mork
2023-01-16 18:30                                                                               ` Bjørn Mork
2023-01-16 18:30                                                                               ` Bjørn Mork
2023-01-16 18:50                                                                               ` Bjørn Mork
2023-01-16 18:50                                                                                 ` Bjørn Mork
2023-01-16 18:50                                                                                 ` Bjørn Mork
2023-01-16 19:15                                                                                 ` Russell King (Oracle)
2023-01-16 19:15                                                                                   ` Russell King (Oracle)
2023-01-16 19:15                                                                                   ` Russell King (Oracle)
2023-01-16 18:54                                                                               ` Russell King (Oracle)
2023-01-16 18:54                                                                                 ` Russell King (Oracle)
2023-01-16 18:54                                                                                 ` Russell King (Oracle)
2023-01-16 18:59                                                                                 ` Bjørn Mork
2023-01-16 18:59                                                                                   ` Bjørn Mork
2023-01-16 18:59                                                                                   ` Bjørn Mork
2023-01-16 18:06                                                                         ` Russell King (Oracle)
2023-01-16 18:06                                                                           ` Russell King (Oracle)
2023-01-16 18:06                                                                           ` Russell King (Oracle)
2022-10-20 19:10 ` Jakub Kicinski
2022-10-20 19:10   ` Jakub Kicinski
2022-10-20 19:10   ` Jakub Kicinski

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=Y1Qi55IwJZulL1X/@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=Mark-MC.Lee@mediatek.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=frank-w@public-files.de \
    --cc=john@phrozen.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux@fw-web.de \
    --cc=lynxis@fe80.eu \
    --cc=matthias.bgg@gmail.com \
    --cc=nbd@nbd.name \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=sean.wang@mediatek.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.