netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Jiawen Wu <jiawenwu@trustnetic.com>, Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, andrew@lunn.ch,
	hkallweit1@gmail.com, Jose.Abreu@synopsys.com,
	mengyuanlou@net-swift.com
Subject: Re: [PATCH net-next v2 1/7] net: pcs: xpcs: add specific vendor supoprt for Wangxun 10Gb NICs
Date: Tue, 8 Aug 2023 11:01:53 +0100	[thread overview]
Message-ID: <ZNISkaXBNO5z6csw@shell.armlinux.org.uk> (raw)
In-Reply-To: <082101d9c9dd$2595f400$70c1dc00$@trustnetic.com>

On Tue, Aug 08, 2023 at 05:46:03PM +0800, Jiawen Wu wrote:
> On Tuesday, August 8, 2023 5:21 PM, Russell King (Oracle) wrote:
> > On Tue, Aug 08, 2023 at 10:17:02AM +0800, Jiawen Wu wrote:
> > > Since Wangxun 10Gb NICs require some special configuration on the IP of
> > > Synopsys Designware XPCS, introduce dev_flag for different vendors. The
> > > vendor identification of wangxun devices is added by comparing the name
> > > of mii bus.
> > >
> > > And interrupt mode is used in Wangxun devices, so make it to be the first
> > > specific configuration.
> > >
> > > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
> > 
> > Does the XPCS in Wangxun devices have the device identifiers (registers
> > 2 and 3) and the package identifiers (registers 14 and 15) implemented,
> > and would they be set to an implementation specific value that would
> > allow their integration into Wangxun devices to be detected?
> > 
> > If the answer to that is yes, it would be preferable to use that
> > rather than adding a bitarray of flags to indicate various "quirks".
> 
> It has not been implemented yet. We could implement it in flash if it's wanted.
> But it would require upgrading to the new firmware.

Andrew, do you any opinions? Do you think it would be a good idea to
use the device/package identifiers, rather than a bitfield of quirks?

> BTW, how do we make sure this value doesn't conflict with other device vendors?

PHY identifiers are based on the OUI (which is the same as what gets
used in the first three bytes of MAC addresses).

For example, Marvell is 00:50:43, which is in binary:

	0000 0000 0101 0000 0100 0011

Their PHY IDs are generally 0x01410c00-0x01410fff, which is in binary:

	0000 0001 0100 0001 0000 11xx

and if we shift the OUI by two bits to the right, we end up with the
number in the PHY.

802.3 22.2.4.3.1 says:

The PHY Identifier shall be composed of the third through 24th bits of
the Organizationally Unique Identifier (OUI) assigned to the PHY
manufacturer by the IEEE,1 plus a six-bit manufacturer’s model
number, plus a four-bit manufacturer’s revision number.

45.2.1.3 PMA/PMD device identifier (Registers 1.2 and 1.3)

...
The identifier shall be composed of the 3rd through 24th bits of the
Organizationally Unique Identifier (OUI) assigned to the device
manufacturer by the IEEE, plus a six-bit model number, plus a four-
bit revision number.

A PMA/PMD may return a value of zero in each of the 32 bits of the
PMA/PMD device identifier to indicate that a unique identifier as
described above is not provided.

The format of the PMA/PMD device identifier is specified in 22.2.4.3.1.

45.2.1.13 PMA/PMD package identifier (Registers 1.14 and 1.15)

...
The identifier shall be composed of the 3rd through 24th bits of the
Organizationally Unique Identifier (OUI) assigned to the package
manufacturer by the IEEE, plus a six-bit model number, plus a four-bit
revision number. A PMA/PMD may return a value of zero in each of the 32
bits of the package identifier.

A non-zero package identifier may be returned by one or more MMDs in
the same package. The package identifier may be the same as the device
identifier.

The format of the package identifier is specified in 22.2.4.3.1.

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

  parent reply	other threads:[~2023-08-08 19:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-08  2:17 [PATCH net-next v2 0/7] support more link mode for TXGBE Jiawen Wu
2023-08-08  2:17 ` [PATCH net-next v2 1/7] net: pcs: xpcs: add specific vendor supoprt for Wangxun 10Gb NICs Jiawen Wu
2023-08-08  9:21   ` Russell King (Oracle)
     [not found]     ` <082101d9c9dd$2595f400$70c1dc00$@trustnetic.com>
2023-08-08 10:01       ` Russell King (Oracle) [this message]
2023-08-08 20:41         ` Andrew Lunn
2023-08-09  6:49           ` Jiawen Wu
2023-08-09 13:07             ` Andrew Lunn
2023-08-08  2:17 ` [PATCH net-next v2 2/7] net: pcs: xpcs: support to switch mode for Wangxun NICs Jiawen Wu
2023-08-08  2:17 ` [PATCH net-next v2 3/7] net: pcs: xpcs: add 1000BASE-X AN interrupt support Jiawen Wu
2023-08-08  8:21   ` Russell King (Oracle)
     [not found]     ` <081e01d9c9d4$f350d170$d9f27450$@trustnetic.com>
2023-08-16  8:20       ` Jiawen Wu
2023-08-08  2:17 ` [PATCH net-next v2 4/7] net: pcs: xpcs: adapt Wangxun NICs for SGMII mode Jiawen Wu
2023-08-08  2:17 ` [PATCH net-next v2 5/7] net: txgbe: support switching mode to 1000BASE-X and SGMII Jiawen Wu
2023-08-08  2:17 ` [PATCH net-next v2 6/7] net: txgbe: support copper NIC with external PHY Jiawen Wu
2023-08-08  2:17 ` [PATCH net-next v2 7/7] net: ngbe: move mdio access registers to libwx Jiawen Wu

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=ZNISkaXBNO5z6csw@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=Jose.Abreu@synopsys.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=jiawenwu@trustnetic.com \
    --cc=kuba@kernel.org \
    --cc=mengyuanlou@net-swift.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.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;
as well as URLs for NNTP newsgroup(s).