Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

+23 -5
+20 -2
drivers/net/dsa/mv88e6xxx/chip.c
··· 3583 3583 .port_set_speed_duplex = mv88e6341_port_set_speed_duplex, 3584 3584 .port_max_speed_mode = mv88e6341_port_max_speed_mode, 3585 3585 .port_tag_remap = mv88e6095_port_tag_remap, 3586 + .port_set_policy = mv88e6352_port_set_policy, 3586 3587 .port_set_frame_mode = mv88e6351_port_set_frame_mode, 3587 3588 .port_set_ucast_flood = mv88e6352_port_set_ucast_flood, 3588 3589 .port_set_mcast_flood = mv88e6352_port_set_mcast_flood, ··· 3597 3596 .port_set_cmode = mv88e6341_port_set_cmode, 3598 3597 .port_setup_message_port = mv88e6xxx_setup_message_port, 3599 3598 .stats_snapshot = mv88e6390_g1_stats_snapshot, 3600 - .stats_set_histogram = mv88e6095_g1_stats_set_histogram, 3599 + .stats_set_histogram = mv88e6390_g1_stats_set_histogram, 3601 3600 .stats_get_sset_count = mv88e6320_stats_get_sset_count, 3602 3601 .stats_get_strings = mv88e6320_stats_get_strings, 3603 3602 .stats_get_stats = mv88e6390_stats_get_stats, ··· 3607 3606 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu, 3608 3607 .pot_clear = mv88e6xxx_g2_pot_clear, 3609 3608 .reset = mv88e6352_g1_reset, 3609 + .rmu_disable = mv88e6390_g1_rmu_disable, 3610 + .atu_get_hash = mv88e6165_g1_atu_get_hash, 3611 + .atu_set_hash = mv88e6165_g1_atu_set_hash, 3610 3612 .vtu_getnext = mv88e6352_g1_vtu_getnext, 3611 3613 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge, 3612 3614 .serdes_power = mv88e6390_serdes_power, ··· 3623 3619 .serdes_irq_enable = mv88e6390_serdes_irq_enable, 3624 3620 .serdes_irq_status = mv88e6390_serdes_irq_status, 3625 3621 .gpio_ops = &mv88e6352_gpio_ops, 3622 + .serdes_get_sset_count = mv88e6390_serdes_get_sset_count, 3623 + .serdes_get_strings = mv88e6390_serdes_get_strings, 3624 + .serdes_get_stats = mv88e6390_serdes_get_stats, 3625 + .serdes_get_regs_len = mv88e6390_serdes_get_regs_len, 3626 + .serdes_get_regs = mv88e6390_serdes_get_regs, 3626 3627 .phylink_validate = mv88e6341_phylink_validate, 3627 3628 }; 3628 3629 ··· 4392 4383 .port_set_speed_duplex = mv88e6341_port_set_speed_duplex, 4393 4384 .port_max_speed_mode = mv88e6341_port_max_speed_mode, 4394 4385 .port_tag_remap = mv88e6095_port_tag_remap, 4386 + .port_set_policy = mv88e6352_port_set_policy, 4395 4387 .port_set_frame_mode = mv88e6351_port_set_frame_mode, 4396 4388 .port_set_ucast_flood = mv88e6352_port_set_ucast_flood, 4397 4389 .port_set_mcast_flood = mv88e6352_port_set_mcast_flood, ··· 4406 4396 .port_set_cmode = mv88e6341_port_set_cmode, 4407 4397 .port_setup_message_port = mv88e6xxx_setup_message_port, 4408 4398 .stats_snapshot = mv88e6390_g1_stats_snapshot, 4409 - .stats_set_histogram = mv88e6095_g1_stats_set_histogram, 4399 + .stats_set_histogram = mv88e6390_g1_stats_set_histogram, 4410 4400 .stats_get_sset_count = mv88e6320_stats_get_sset_count, 4411 4401 .stats_get_strings = mv88e6320_stats_get_strings, 4412 4402 .stats_get_stats = mv88e6390_stats_get_stats, ··· 4416 4406 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu, 4417 4407 .pot_clear = mv88e6xxx_g2_pot_clear, 4418 4408 .reset = mv88e6352_g1_reset, 4409 + .rmu_disable = mv88e6390_g1_rmu_disable, 4410 + .atu_get_hash = mv88e6165_g1_atu_get_hash, 4411 + .atu_set_hash = mv88e6165_g1_atu_set_hash, 4419 4412 .vtu_getnext = mv88e6352_g1_vtu_getnext, 4420 4413 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge, 4421 4414 .serdes_power = mv88e6390_serdes_power, ··· 4434 4421 .gpio_ops = &mv88e6352_gpio_ops, 4435 4422 .avb_ops = &mv88e6390_avb_ops, 4436 4423 .ptp_ops = &mv88e6352_ptp_ops, 4424 + .serdes_get_sset_count = mv88e6390_serdes_get_sset_count, 4425 + .serdes_get_strings = mv88e6390_serdes_get_strings, 4426 + .serdes_get_stats = mv88e6390_serdes_get_stats, 4427 + .serdes_get_regs_len = mv88e6390_serdes_get_regs_len, 4428 + .serdes_get_regs = mv88e6390_serdes_get_regs, 4437 4429 .phylink_validate = mv88e6341_phylink_validate, 4438 4430 }; 4439 4431
+3 -3
drivers/net/dsa/mv88e6xxx/serdes.c
··· 722 722 723 723 int mv88e6390_serdes_get_sset_count(struct mv88e6xxx_chip *chip, int port) 724 724 { 725 - if (mv88e6390_serdes_get_lane(chip, port) < 0) 725 + if (mv88e6xxx_serdes_get_lane(chip, port) < 0) 726 726 return 0; 727 727 728 728 return ARRAY_SIZE(mv88e6390_serdes_hw_stats); ··· 734 734 struct mv88e6390_serdes_hw_stat *stat; 735 735 int i; 736 736 737 - if (mv88e6390_serdes_get_lane(chip, port) < 0) 737 + if (mv88e6xxx_serdes_get_lane(chip, port) < 0) 738 738 return 0; 739 739 740 740 for (i = 0; i < ARRAY_SIZE(mv88e6390_serdes_hw_stats); i++) { ··· 770 770 int lane; 771 771 int i; 772 772 773 - lane = mv88e6390_serdes_get_lane(chip, port); 773 + lane = mv88e6xxx_serdes_get_lane(chip, port); 774 774 if (lane < 0) 775 775 return 0; 776 776