Re: [PATCH net-next v6 6/6] net: dsa: microchip: ksz8: move all DSA configurations to one location

From: Arun.Ramadoss
Date: Thu Nov 24 2022 - 10:05:40 EST


Hi Oleksij,
On Thu, 2022-11-24 at 11:14 +0100, Oleksij Rempel wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
>
> To make the code more comparable to KSZ9477 code, move DSA
> configurations to the same location.
>
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> ---
> drivers/net/dsa/microchip/ksz8795.c | 20 ++++++++++----------
> 1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/dsa/microchip/ksz8795.c
> b/drivers/net/dsa/microchip/ksz8795.c
> index 060e41b9b6ef..003b0ac2854c 100644
> --- a/drivers/net/dsa/microchip/ksz8795.c
> +++ b/drivers/net/dsa/microchip/ksz8795.c
> @@ -1359,6 +1359,16 @@ int ksz8_setup(struct dsa_switch *ds)
>
> ds->mtu_enforcement_ingress = true;
>
> + /* We rely on software untagging on the CPU port, so that we
> + * can support both tagged and untagged VLANs
> + */
> + ds->untag_bridge_pvid = true;
> +
> + /* VLAN filtering is partly controlled by the global VLAN
> + * Enable flag
> + */
> + ds->vlan_filtering_is_global = true;
> +
> ksz_cfg(dev, S_REPLACE_VID_CTRL, SW_FLOW_CTRL, true);
>
> /* Enable automatic fast aging when link changed detected. */
> @@ -1418,16 +1428,6 @@ int ksz8_switch_init(struct ksz_device *dev)
> dev->phy_port_cnt = dev->info->port_cnt - 1;
> dev->port_mask = (BIT(dev->phy_port_cnt) - 1) | dev->info-
> >cpu_ports;

Since you moved dsa related items to ksz8_setup, remaining items in
ksz8_switch_init are
- dev->cpu_port - Used in ksz_setup but called after the individual
switch setup function. We can move it ksz8_setup.
- dev->phy_port_cnt - Used in ksz8_vlan_filtering and
ksz8_config_cpuport. We can move.
- dev->port_mask - used in ksz_switch_register. So we cannot move.

To make the ksz8_switch_init and ksz9477_switch_init function similar,
we can move dev->cpu_port and dev->phy_port_cnt from ksz8_switch_init
to ksz8_setup

>
> - /* We rely on software untagging on the CPU port, so that we
> - * can support both tagged and untagged VLANs
> - */
> - dev->ds->untag_bridge_pvid = true;
> -
> - /* VLAN filtering is partly controlled by the global VLAN
> - * Enable flag
> - */
> - dev->ds->vlan_filtering_is_global = true;
> -
> return 0;
> }
>
> --
> 2.30.2
>