lkml.org 
[lkml]   [2021]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 157/167] net: dsa: mv88e6xxx: enable SerDes RX stats for Topaz
    Date
    From: Marek Behún <kabel@kernel.org>

    commit a03b98d68367b18e5db6d6850e2cc18754fba94a upstream.

    Commit 0df952873636a ("mv88e6xxx: Add serdes Rx statistics") added
    support for RX statistics on SerDes ports for Peridot.

    This same implementation is also valid for Topaz, but was not enabled
    at the time.

    We need to use the generic .serdes_get_lane() method instead of the
    Peridot specific one in the stats methods so that on Topaz the proper
    one is used.

    Signed-off-by: Marek Behún <kabel@kernel.org>
    Fixes: 0df952873636a ("mv88e6xxx: Add serdes Rx statistics")
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/dsa/mv88e6xxx/chip.c | 6 ++++++
    drivers/net/dsa/mv88e6xxx/serdes.c | 6 +++---
    2 files changed, 9 insertions(+), 3 deletions(-)

    --- a/drivers/net/dsa/mv88e6xxx/chip.c
    +++ b/drivers/net/dsa/mv88e6xxx/chip.c
    @@ -3433,6 +3433,9 @@ static const struct mv88e6xxx_ops mv88e6
    .serdes_irq_enable = mv88e6390_serdes_irq_enable,
    .serdes_irq_status = mv88e6390_serdes_irq_status,
    .gpio_ops = &mv88e6352_gpio_ops,
    + .serdes_get_sset_count = mv88e6390_serdes_get_sset_count,
    + .serdes_get_strings = mv88e6390_serdes_get_strings,
    + .serdes_get_stats = mv88e6390_serdes_get_stats,
    .phylink_validate = mv88e6341_phylink_validate,
    };

    @@ -4205,6 +4208,9 @@ static const struct mv88e6xxx_ops mv88e6
    .gpio_ops = &mv88e6352_gpio_ops,
    .avb_ops = &mv88e6390_avb_ops,
    .ptp_ops = &mv88e6352_ptp_ops,
    + .serdes_get_sset_count = mv88e6390_serdes_get_sset_count,
    + .serdes_get_strings = mv88e6390_serdes_get_strings,
    + .serdes_get_stats = mv88e6390_serdes_get_stats,
    .phylink_validate = mv88e6341_phylink_validate,
    };

    --- a/drivers/net/dsa/mv88e6xxx/serdes.c
    +++ b/drivers/net/dsa/mv88e6xxx/serdes.c
    @@ -590,7 +590,7 @@ static struct mv88e6390_serdes_hw_stat m

    int mv88e6390_serdes_get_sset_count(struct mv88e6xxx_chip *chip, int port)
    {
    - if (mv88e6390_serdes_get_lane(chip, port) == 0)
    + if (mv88e6xxx_serdes_get_lane(chip, port) == 0)
    return 0;

    return ARRAY_SIZE(mv88e6390_serdes_hw_stats);
    @@ -602,7 +602,7 @@ int mv88e6390_serdes_get_strings(struct
    struct mv88e6390_serdes_hw_stat *stat;
    int i;

    - if (mv88e6390_serdes_get_lane(chip, port) == 0)
    + if (mv88e6xxx_serdes_get_lane(chip, port) == 0)
    return 0;

    for (i = 0; i < ARRAY_SIZE(mv88e6390_serdes_hw_stats); i++) {
    @@ -638,7 +638,7 @@ int mv88e6390_serdes_get_stats(struct mv
    int lane;
    int i;

    - lane = mv88e6390_serdes_get_lane(chip, port);
    + lane = mv88e6xxx_serdes_get_lane(chip, port);
    if (lane == 0)
    return 0;


    \
     
     \ /
      Last update: 2021-07-26 18:44    [W:4.351 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site