lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250223172848.1098621-1-maxime.chevallier@bootlin.com>
Date: Sun, 23 Feb 2025 18:28:45 +0100
From: Maxime Chevallier <maxime.chevallier@...tlin.com>
To: davem@...emloft.net,
	Andrew Lunn <andrew@...n.ch>,
	Jakub Kicinski <kuba@...nel.org>,
	Eric Dumazet <edumazet@...gle.com>,
	Paolo Abeni <pabeni@...hat.com>,
	Russell King <linux@...linux.org.uk>,
	Heiner Kallweit <hkallweit1@...il.com>
Cc: Maxime Chevallier <maxime.chevallier@...tlin.com>,
	netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	thomas.petazzoni@...tlin.com,
	Florian Fainelli <f.fainelli@...il.com>,
	Köry Maincent <kory.maincent@...tlin.com>,
	Simon Horman <horms@...nel.org>,
	Romain Gantois <romain.gantois@...tlin.com>,
	Antoine Tenart <atenart@...nel.org>,
	Marek Behún <kabel@...nel.org>
Subject: [PATCH net-next 0/2] net: phy: sfp: Add single-byte SMBus SFP access

Hi everyone,

Some PHYs such as the VSC8552 have embedded "Two-wire Interfaces" designed to
access SFP modules downstream. These controllers are actually SMBus controllers
that can only perform single-byte accesses for read and write.

This series adds support for accessing SFP modules through single-byte SMBus,
which could be relevant for other setups.

The first patch deals with the SFP module access by itself, for addresses 0x50
and 0x51.

The second patch allows accessing embedded PHYs within the module with single-byte
SMBus, adding this in the mdio-i2c driver.

As raw i2c transfers are always more efficient, we make sure that the smbus accesses
are only used if we really have no other choices.

This has been tested with the following modules (as reported upon module insertion)

Fiber modules :

	UBNT             UF-MM-1G         rev      sn FT20051201212    dc 200512
	PROLABS          SFP-1GSXLC-T-C   rev A1   sn PR2109CA1080     dc 220607
	CISCOSOLIDOPTICS CWDM-SFP-1490    rev 1.0  sn SOSC49U0891      dc 181008
	CISCOSOLIDOPTICS CWDM-SFP-1470    rev 1.0  sn SOSC47U1175      dc 190620
	OEM              SFP-10G-SR       rev 02   sn CSSSRIC3174      dc 181201
	FINISAR CORP.    FTLF1217P2BTL-HA rev A    sn PA3A0L6          dc 230716
	OEM              ES8512-3LCD05    rev 10   sn ESC22SX296055    dc 220722
	SOURCEPHOTONICS  SPP10ESRCDFF     rev 10   sn E8G2017450       dc 140715
	CXR              SFP-STM1-MM-850  rev 0000 sn K719017031       dc 200720

 Copper modules

	OEM              SFT-7000-RJ45-AL rev 11.0 sn EB1902240862     dc 190313
	FINISAR CORP.    FCLF8521P2BTL    rev A    sn P1KBAPD          dc 190508
	CHAMPION ONE     1000SFPT         rev -    sn     GBC59750     dc 19110401

DAC :

	OEM              SFP-H10GB-CU1M   rev R    sn CSC200803140115  dc 200827

In all cases, read/write operations happened without errors, and the internal
PHY (if any) was always properly detected and accessible

I haven't tested with any RollBall SFPs though, as I don't have any, and I don't
have Copper modules with anything else than a Marvell 88e1111 inside. The support
for the VSC8552 SMBus may follow at some point.

Thanks,

Maxime

Maxime Chevallier (2):
  net: phy: sfp: Add support for SMBus module access
  net: mdio: mdio-i2c: Add support for single-byte SMBus operations

 drivers/net/mdio/mdio-i2c.c | 79 ++++++++++++++++++++++++++++++++++++-
 drivers/net/phy/sfp.c       | 65 +++++++++++++++++++++++++++---
 2 files changed, 138 insertions(+), 6 deletions(-)

-- 
2.48.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ