Skip to content

Commit 5e43741

Browse files
committed
Merge branch 'dsa-mv88e6xxx-topaz-fixes'
Marek Behún says: ==================== dsa: mv88e6xxx: Topaz fixes here comes some fixes for the Topaz family (Marvell 88E6141 / 88E6341) which I found out about when I compared the Topaz' operations structure with that one of Peridot (6390). This is v2. In v1, I accidentally sent patches generated from wrong branch and the 5th patch does not contain a necessary change in serdes.c. Changes from v1: - the fifth patch, "enable SerDes RX stats for Topaz", needs another change in serdes.c - Andrew's Reviewed-by to 1,2,3,4 and 6 ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents b71d098 + 953b0dc commit 5e43741

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

drivers/net/dsa/mv88e6xxx/chip.c

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3583,6 +3583,7 @@ static const struct mv88e6xxx_ops mv88e6141_ops = {
35833583
.port_set_speed_duplex = mv88e6341_port_set_speed_duplex,
35843584
.port_max_speed_mode = mv88e6341_port_max_speed_mode,
35853585
.port_tag_remap = mv88e6095_port_tag_remap,
3586+
.port_set_policy = mv88e6352_port_set_policy,
35863587
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
35873588
.port_set_ucast_flood = mv88e6352_port_set_ucast_flood,
35883589
.port_set_mcast_flood = mv88e6352_port_set_mcast_flood,
@@ -3596,7 +3597,7 @@ static const struct mv88e6xxx_ops mv88e6141_ops = {
35963597
.port_set_cmode = mv88e6341_port_set_cmode,
35973598
.port_setup_message_port = mv88e6xxx_setup_message_port,
35983599
.stats_snapshot = mv88e6390_g1_stats_snapshot,
3599-
.stats_set_histogram = mv88e6095_g1_stats_set_histogram,
3600+
.stats_set_histogram = mv88e6390_g1_stats_set_histogram,
36003601
.stats_get_sset_count = mv88e6320_stats_get_sset_count,
36013602
.stats_get_strings = mv88e6320_stats_get_strings,
36023603
.stats_get_stats = mv88e6390_stats_get_stats,
@@ -3606,6 +3607,9 @@ static const struct mv88e6xxx_ops mv88e6141_ops = {
36063607
.mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu,
36073608
.pot_clear = mv88e6xxx_g2_pot_clear,
36083609
.reset = mv88e6352_g1_reset,
3610+
.rmu_disable = mv88e6390_g1_rmu_disable,
3611+
.atu_get_hash = mv88e6165_g1_atu_get_hash,
3612+
.atu_set_hash = mv88e6165_g1_atu_set_hash,
36093613
.vtu_getnext = mv88e6352_g1_vtu_getnext,
36103614
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
36113615
.serdes_power = mv88e6390_serdes_power,
@@ -3619,6 +3623,11 @@ static const struct mv88e6xxx_ops mv88e6141_ops = {
36193623
.serdes_irq_enable = mv88e6390_serdes_irq_enable,
36203624
.serdes_irq_status = mv88e6390_serdes_irq_status,
36213625
.gpio_ops = &mv88e6352_gpio_ops,
3626+
.serdes_get_sset_count = mv88e6390_serdes_get_sset_count,
3627+
.serdes_get_strings = mv88e6390_serdes_get_strings,
3628+
.serdes_get_stats = mv88e6390_serdes_get_stats,
3629+
.serdes_get_regs_len = mv88e6390_serdes_get_regs_len,
3630+
.serdes_get_regs = mv88e6390_serdes_get_regs,
36223631
.phylink_validate = mv88e6341_phylink_validate,
36233632
};
36243633

@@ -4383,6 +4392,7 @@ static const struct mv88e6xxx_ops mv88e6341_ops = {
43834392
.port_set_speed_duplex = mv88e6341_port_set_speed_duplex,
43844393
.port_max_speed_mode = mv88e6341_port_max_speed_mode,
43854394
.port_tag_remap = mv88e6095_port_tag_remap,
4395+
.port_set_policy = mv88e6352_port_set_policy,
43864396
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
43874397
.port_set_ucast_flood = mv88e6352_port_set_ucast_flood,
43884398
.port_set_mcast_flood = mv88e6352_port_set_mcast_flood,
@@ -4396,7 +4406,7 @@ static const struct mv88e6xxx_ops mv88e6341_ops = {
43964406
.port_set_cmode = mv88e6341_port_set_cmode,
43974407
.port_setup_message_port = mv88e6xxx_setup_message_port,
43984408
.stats_snapshot = mv88e6390_g1_stats_snapshot,
4399-
.stats_set_histogram = mv88e6095_g1_stats_set_histogram,
4409+
.stats_set_histogram = mv88e6390_g1_stats_set_histogram,
44004410
.stats_get_sset_count = mv88e6320_stats_get_sset_count,
44014411
.stats_get_strings = mv88e6320_stats_get_strings,
44024412
.stats_get_stats = mv88e6390_stats_get_stats,
@@ -4406,6 +4416,9 @@ static const struct mv88e6xxx_ops mv88e6341_ops = {
44064416
.mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu,
44074417
.pot_clear = mv88e6xxx_g2_pot_clear,
44084418
.reset = mv88e6352_g1_reset,
4419+
.rmu_disable = mv88e6390_g1_rmu_disable,
4420+
.atu_get_hash = mv88e6165_g1_atu_get_hash,
4421+
.atu_set_hash = mv88e6165_g1_atu_set_hash,
44094422
.vtu_getnext = mv88e6352_g1_vtu_getnext,
44104423
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
44114424
.serdes_power = mv88e6390_serdes_power,
@@ -4421,6 +4434,11 @@ static const struct mv88e6xxx_ops mv88e6341_ops = {
44214434
.gpio_ops = &mv88e6352_gpio_ops,
44224435
.avb_ops = &mv88e6390_avb_ops,
44234436
.ptp_ops = &mv88e6352_ptp_ops,
4437+
.serdes_get_sset_count = mv88e6390_serdes_get_sset_count,
4438+
.serdes_get_strings = mv88e6390_serdes_get_strings,
4439+
.serdes_get_stats = mv88e6390_serdes_get_stats,
4440+
.serdes_get_regs_len = mv88e6390_serdes_get_regs_len,
4441+
.serdes_get_regs = mv88e6390_serdes_get_regs,
44244442
.phylink_validate = mv88e6341_phylink_validate,
44254443
};
44264444

drivers/net/dsa/mv88e6xxx/serdes.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ static struct mv88e6390_serdes_hw_stat mv88e6390_serdes_hw_stats[] = {
722722

723723
int mv88e6390_serdes_get_sset_count(struct mv88e6xxx_chip *chip, int port)
724724
{
725-
if (mv88e6390_serdes_get_lane(chip, port) < 0)
725+
if (mv88e6xxx_serdes_get_lane(chip, port) < 0)
726726
return 0;
727727

728728
return ARRAY_SIZE(mv88e6390_serdes_hw_stats);
@@ -734,7 +734,7 @@ int mv88e6390_serdes_get_strings(struct mv88e6xxx_chip *chip,
734734
struct mv88e6390_serdes_hw_stat *stat;
735735
int i;
736736

737-
if (mv88e6390_serdes_get_lane(chip, port) < 0)
737+
if (mv88e6xxx_serdes_get_lane(chip, port) < 0)
738738
return 0;
739739

740740
for (i = 0; i < ARRAY_SIZE(mv88e6390_serdes_hw_stats); i++) {
@@ -770,7 +770,7 @@ int mv88e6390_serdes_get_stats(struct mv88e6xxx_chip *chip, int port,
770770
int lane;
771771
int i;
772772

773-
lane = mv88e6390_serdes_get_lane(chip, port);
773+
lane = mv88e6xxx_serdes_get_lane(chip, port);
774774
if (lane < 0)
775775
return 0;
776776

0 commit comments

Comments
 (0)