All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/9] net: dsa: Plug in PHYLINK support
@ 2018-05-05 19:04 Florian Fainelli
  2018-05-05 19:04 ` [PATCH net-next 1/9] net: phy: phylink: Use gpiod_get_value_cansleep() Florian Fainelli
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Florian Fainelli @ 2018-05-05 19:04 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, privat, andrew, vivien.didelot, davem,
	rmk+kernel, sean.wang, Woojung.Huh, john, cphealy

Hi all,

This patch series adds PHYLINK support to DSA which is necessary to support more
complex PHY and pluggable modules setups.

Patch series can be found here:

https://github.com/ffainelli/linux/commits/dsa-phylink

This was tested on:

- dsa-loop
- bcm_sf2
- mv88e6xxx
- b53

With a variety of test cases:
- internal & external MDIO PHYs
- MoCA with link notification through interrupt/MMIO register
- built-in PHYs
- ifconfig up/down for several cycles works
- bind/unbind of the drivers

This is technically v2 of what was posted back in March 2018, changes from last
time:

- fixed probe/remove of drivers
- fixed missing gpiod_put() for link GPIOs
- fixed polling of link GPIOs (Russell I would need your SoB on the patch you
  provided offline initially, added some modifications to it)
- tested across a wider set of platforms

And everything should still work as expected. Please be aware of the following:

- switch drivers (like bcm_sf2) which may have user-facing network ports using
  fixed links would need to implement phylink_mac_ops to remain functional.
  PHYLINK does not create a phy_device for fixed links, therefore our
  call to adjust_link() from phylink_mac_link_{up,down} would not be calling
  into the driver. This *should not* affect CPU/DSA ports which are configured
  through adjust_link() but have no network devices

- support for SFP/SFF is now possible, but switch drivers will still need some
  modifications to properly support those, including, but not limited to using
  the correct binding information. This will be submitted on top of this series

Please do test on your respective platforms/switches and let me know if you
find any issues, hopefully everything still works like before.

Thank you!

Florian Fainelli (7):
  net: phy: phylink: Use gpiod_get_value_cansleep()
  net: phy: phylink: Release link GPIO
  net: dsa: Add PHYLINK switch operations
  net: dsa: bcm_sf2: Implement phylink_mac_ops
  net: dsa: Eliminate dsa_slave_get_link()
  net: dsa: Plug in PHYLINK support
  net: dsa: bcm_sf2: Get rid of PHYLIB functions

Russell King (2):
  net: phy: phylink: Poll link GPIOs
  net: dsa: mv88e6xxx: add PHYLINK support

 drivers/net/dsa/bcm_sf2.c        | 191 ++++++++++++--------
 drivers/net/dsa/mv88e6xxx/chip.c |  81 +++++++++
 drivers/net/dsa/mv88e6xxx/port.c |  39 ++++
 drivers/net/dsa/mv88e6xxx/port.h |   3 +
 drivers/net/phy/phylink.c        |  20 ++-
 include/net/dsa.h                |  25 +++
 net/dsa/Kconfig                  |   2 +-
 net/dsa/dsa_priv.h               |   9 -
 net/dsa/slave.c                  | 293 ++++++++++++++++++-------------
 9 files changed, 456 insertions(+), 207 deletions(-)

-- 
2.17.0

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-05-09  0:20 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-05 19:04 [PATCH net-next 0/9] net: dsa: Plug in PHYLINK support Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 1/9] net: phy: phylink: Use gpiod_get_value_cansleep() Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 2/9] net: phy: phylink: Release link GPIO Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 3/9] net: phy: phylink: Poll link GPIOs Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 4/9] net: dsa: Add PHYLINK switch operations Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 5/9] net: dsa: bcm_sf2: Implement phylink_mac_ops Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 6/9] net: dsa: Eliminate dsa_slave_get_link() Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 7/9] net: dsa: mv88e6xxx: add PHYLINK support Florian Fainelli
2018-05-06 17:26   ` Andrew Lunn
2018-05-06 17:45     ` Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 8/9] net: dsa: Plug in " Florian Fainelli
2018-05-05 19:04 ` [PATCH net-next 9/9] net: dsa: bcm_sf2: Get rid of PHYLIB functions Florian Fainelli
2018-05-09  0:17 ` [PATCH net-next 0/9] net: dsa: Plug in PHYLINK support David Miller
2018-05-09  0:20   ` Florian Fainelli

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.