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 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.