mbox series

[net-next,v3,00/10] net: dsa: mv88e6xxx: support for mv88e6250

Message ID 20190603144112.27713-1-rasmus.villemoes@prevas.dk
Headers show
Series net: dsa: mv88e6xxx: support for mv88e6250 | expand

Message

Rasmus Villemoes June 3, 2019, 2:42 p.m. UTC
This adds support for the mv88e6250 chip. Initially based on the
mv88e6240, this time around, I've been through each ->ops callback and
checked that it makes sense, either replacing with a 6250 specific
variant or dropping it if no equivalent functionality seems to exist
for the 6250. Along the way, I found a few oddities in the existing
code, mostly sent as separate patches/questions.

The one relevant to the 6250 is the ieee_pri_map callback, where the
existing mv88e6085_g1_ieee_pri_map() is actually wrong for many of the
existing users. I've put the mv88e6250_g1_ieee_pri_map() patch first
in case some of the existing chips get switched over to use that and
it is deemed important enough for -stable.

v3:
- rebase on top of net-next/master
- add reviewed-bys to patches unchanged from v2 (2,3,4,5)
- add 6250-specific ->ieee_pri_map, ->port_set_speed, ->port_link_state (1,6,7)
- in addition, use mv88e6065_phylink_validate for ->phylink_validate,
  and don't implement ->port_get_cmode, ->port_set_jumbo_size,
  ->port_disable_learn_limit, ->rmu_disable
- drop ptp support
- add patch adding the compatible string to the DT binding (9)
- add small refactoring patch (10)

v2:
- rebase on top of net-next/master
- add reviewed-by to two patches unchanged from v1 (2,3)
- add separate watchdog_ops

Rasmus Villemoes (10):
  net: dsa: mv88e6xxx: add mv88e6250_g1_ieee_pri_map
  net: dsa: mv88e6xxx: introduce support for two chips using direct smi
    addressing
  net: dsa: mv88e6xxx: prepare mv88e6xxx_g1_atu_op() for the mv88e6250
  net: dsa: mv88e6xxx: implement vtu_getnext and vtu_loadpurge for
    mv88e6250
  net: dsa: mv88e6xxx: implement watchdog_ops for mv88e6250
  net: dsa: mv88e6xxx: implement port_set_speed for mv88e6250
  net: dsa: mv88e6xxx: implement port_link_state for mv88e6250
  net: dsa: mv88e6xxx: add support for mv88e6250
  dt-bindings: net: dsa: marvell: add "marvell,mv88e6250" compatible
    string
  net: dsa: mv88e6xxx: refactor mv88e6352_g1_reset

 .../devicetree/bindings/net/dsa/marvell.txt   |  7 +-
 drivers/net/dsa/mv88e6xxx/chip.c              | 81 +++++++++++++++++++
 drivers/net/dsa/mv88e6xxx/chip.h              |  8 ++
 drivers/net/dsa/mv88e6xxx/global1.c           | 17 +++-
 drivers/net/dsa/mv88e6xxx/global1.h           |  7 ++
 drivers/net/dsa/mv88e6xxx/global1_atu.c       |  5 +-
 drivers/net/dsa/mv88e6xxx/global1_vtu.c       | 58 +++++++++++++
 drivers/net/dsa/mv88e6xxx/global2.c           | 26 ++++++
 drivers/net/dsa/mv88e6xxx/global2.h           | 14 ++++
 drivers/net/dsa/mv88e6xxx/port.c              | 77 ++++++++++++++++++
 drivers/net/dsa/mv88e6xxx/port.h              | 14 ++++
 drivers/net/dsa/mv88e6xxx/smi.c               | 25 +++++-
 12 files changed, 333 insertions(+), 6 deletions(-)

Comments

David Miller June 3, 2019, 8:04 p.m. UTC | #1
From: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Date: Mon, 3 Jun 2019 14:42:11 +0000

> This adds support for the mv88e6250 chip.

Please make the rearrangements requested by Andrew in patch #1 and
respin.  It looks otherwise ready to go to me :-)