From: "Marek Behún" <kabel@kernel.org>
To: netdev@vger.kernel.org
Cc: "Russell King" <rmk+kernel@armlinux.org.uk>,
"Andrew Lunn" <andrew@lunn.ch>,
"Jakub Kicinski" <kuba@kernel.org>,
davem@davemloft.net, pali@kernel.org,
"Marek Behún" <kabel@kernel.org>
Subject: [PATCH net-next v5 0/5] Support for RollBall 10G copper SFP modules
Date: Thu, 14 Jan 2021 05:43:26 +0100 [thread overview]
Message-ID: <20210114044331.5073-1-kabel@kernel.org> (raw)
Hello,
this is v5 of series adding support for RollBall/Hilink SFP modules.
Checked with:
checkpatch.pl --max-line-length=80
Changes from v4:
- added patch adding SFP_PASSWORD = 0x7b to sfp.h
- patch adding RollBall MDIO I2C protocol support
- removed forgotten comment that was no longer true
- we now try to restore the page if the I2C transfer failed
- unfortunately we cannot simply move the code to do paged I2C
transfers to sfp.c, because sfp.c depends on code inmdio-i2c.c,
and if we added dependency the other way, I don't know what
would happen to module loader (since both SFP and MDIO_I2C can
be compiled as modules).
This can be refactored later, when someone needs paged I2C
accesses in sfp.c
- added Reviewed-by tags
Changes from v3:
- RollBall mdio-i2c driver now sets/restores SFP_PAGE for every MDIO
access.
I first wanted to achieve this operation (setting
SFP_PAGE/doing MDIO/restoring SFP_PAGE) via one call do i2c_transfer,
by constructing msgs array in such a way, but it turned out that this
doesn't work on RollBall SFPs, because changed SFP_PAGE takes into
account only after i2c_transfer ends.
So instead I use i2c_lock_bus/serveral __i2c_transfers/i2c_unlock_bus.
- I have removed the patch which changes MACTYPE in the marvell10g
driver, since Russell has in his net-queue a better solution. I still
think that my patch would have sufficed temporarily (and would not
cause regressions), but nobody wanted to review it. If you think that
I should sent this series again with that patch, please let me know.
Changes from v2:
- added comment into the patch adding support for RollBall I2C MDIO
protocol, saying that we expect the SFP_PAGE not to be changed by
the SFP code, as requested by Russell. If, in the future, SFP code
starts modifying SFP_PAGE, we will have to handle it in mdio-i2c
somehow
- destruction of I2C MDIO bus in patch 3/5 now depends on whether the
MDIO bus is not NULL, instead of whether PHY exists, as suggested by
Russell
- changed waiting time for RollBall module to initialize from 30 seconds
to 25 seconds. Testing shows that it is never longer than 21-22
seconds, so waiting 25 seconds instead of 30 is IMO safe enough
- added Russell's Reviewed-by tags where relevant
Changes from v1:
- wrapped to 80 columns as per Russell's request
- initialization of RollBall MDIO I2C protocol moved from sfp.c to
mdio-i2c.c as per Russell's request
- second patch removes the 802.3z check also from phylink_sfp_config
as suggested by Russell
- creation/destruction of mdiobus for SFP now occurs before probing
for PHY/after releasing PHY (as suggested by Russell)
- the last patch became a little simpler after the above was done
Marek
Marek Behún (5):
net: sfp: add SFP_PASSWORD address
net: phy: mdio-i2c: support I2C MDIO protocol for RollBall SFP modules
net: phylink: allow attaching phy for SFP modules on 802.3z mode
net: sfp: create/destroy I2C mdiobus before PHY probe/after PHY
release
net: sfp: add support for multigig RollBall transceivers
drivers/net/mdio/mdio-i2c.c | 308 +++++++++++++++++++++++++++++++++-
drivers/net/phy/phylink.c | 5 +-
drivers/net/phy/sfp.c | 66 ++++++--
include/linux/mdio/mdio-i2c.h | 8 +-
include/linux/sfp.h | 1 +
5 files changed, 368 insertions(+), 20 deletions(-)
base-commit: 0ae5b43d6dde6003070106e97cd0d41bace2eeb2
--
2.26.2
next reply other threads:[~2021-01-14 4:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-14 4:43 Marek Behún [this message]
2021-01-14 4:43 ` [PATCH net-next v5 1/5] net: sfp: add SFP_PASSWORD address Marek Behún
2021-01-14 14:59 ` Russell King - ARM Linux admin
2021-01-14 4:43 ` [PATCH net-next v5 2/5] net: phy: mdio-i2c: support I2C MDIO protocol for RollBall SFP modules Marek Behún
2021-01-14 4:43 ` [PATCH net-next v5 3/5] net: phylink: allow attaching phy for SFP modules on 802.3z mode Marek Behún
2021-01-14 4:43 ` [PATCH net-next v5 4/5] net: sfp: create/destroy I2C mdiobus before PHY probe/after PHY release Marek Behún
2021-01-14 16:07 ` Russell King - ARM Linux admin
2021-01-18 9:38 ` Pali Rohár
2021-01-18 11:42 ` Marek Behún
2021-01-14 4:43 ` [PATCH net-next v5 5/5] net: sfp: add support for multigig RollBall transceivers Marek Behún
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=20210114044331.5073-1-kabel@kernel.org \
--to=kabel@kernel.org \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pali@kernel.org \
--cc=rmk+kernel@armlinux.org.uk \
/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).