Re: [PATCH net v1 2/6] net: dsa: microchip: ksz8: fix ksz8_fdb_dump() to extract all 1024 entries

From: Arun.Ramadoss
Date: Thu Mar 23 2023 - 23:51:58 EST


Hi Oleksij,

On Wed, 2023-03-22 at 15:31 +0100, Oleksij Rempel wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> Current ksz8_fdb_dump() is able to extract only max 249 entries on
> the ksz8863/ksz8873 series of switches. This happened due to wrong
> bit mask and offset calculation.
>
> This commit corrects the issue and allows for the complete extraction
> of
> all 1024 entries.
>
> Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to
> ksz_common")
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> ---
> drivers/net/dsa/microchip/ksz_common.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/dsa/microchip/ksz_common.c
> b/drivers/net/dsa/microchip/ksz_common.c
> index 7fc2155d93d6..3a1afc9f4621 100644
> --- a/drivers/net/dsa/microchip/ksz_common.c
> +++ b/drivers/net/dsa/microchip/ksz_common.c
> @@ -407,10 +407,10 @@ static const u32 ksz8863_masks[] = {
> [STATIC_MAC_TABLE_FID] = GENMASK(29, 26),
> [STATIC_MAC_TABLE_OVERRIDE] = BIT(20),
> [STATIC_MAC_TABLE_FWD_PORTS] = GENMASK(18, 16),
> - [DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(5, 0),
> + [DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(1, 0),
> [DYNAMIC_MAC_TABLE_MAC_EMPTY] = BIT(7),
> [DYNAMIC_MAC_TABLE_NOT_READY] = BIT(7),
> - [DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 28),
> + [DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 24),
> [DYNAMIC_MAC_TABLE_FID] = GENMASK(19, 16),
> [DYNAMIC_MAC_TABLE_SRC_PORT] = GENMASK(21, 20),
> [DYNAMIC_MAC_TABLE_TIMESTAMP] = GENMASK(23, 22),
> @@ -420,7 +420,7 @@ static u8 ksz8863_shifts[] = {
> [VLAN_TABLE_MEMBERSHIP_S] = 16,
> [STATIC_MAC_FWD_PORTS] = 16,
> [STATIC_MAC_FID] = 22,
> - [DYNAMIC_MAC_ENTRIES_H] = 3,
> + [DYNAMIC_MAC_ENTRIES_H] = 8,
> [DYNAMIC_MAC_ENTRIES] = 24,
> [DYNAMIC_MAC_FID] = 16,
> [DYNAMIC_MAC_TIMESTAMP] = 24,

Cross verified the above entries with datasheet.

As Jakub mentioned, above fix commit is just code movement from
ksz8795.c to ksz_common.

Other than Fix commit, patch Looks good to me.

Acked-by: Arun Ramadoss <arun.ramadoss@xxxxxxxxxxxxx>

> --
> 2.30.2
>