Message ID | 20240619205220.965844-12-paweldembicki@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: dsa: vsc73xx: Implement VLAN operations | expand |
On Wed, Jun 19, 2024 at 10:52:17PM +0200, Pawel Dembicki wrote: > This patch adds bridge support for vsc73xx driver. > > Vsc73xx require minimal operations and generic > dsa_tag_8021q_bridge_* api is sufficient. > > Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> > --- > v2, v1: > - Use generic functions instead unnecessary intermediary shims > --- Maybe you could add a small comment to the commit message that the forwarding matrix is taken care of by vsc73xx_port_stp_state_set() -> vsc73xx_refresh_fwd_map(), which is called immediately after .port_bridge_join() and .port_bridge_leave().
On Wed, Jun 19, 2024 at 10:52:17PM +0200, Pawel Dembicki wrote: > This patch adds bridge support for vsc73xx driver. > > Vsc73xx require minimal operations and generic > dsa_tag_8021q_bridge_* api is sufficient. > > Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> > --- Other than that: Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
diff --git a/drivers/net/dsa/vitesse-vsc73xx-core.c b/drivers/net/dsa/vitesse-vsc73xx-core.c index 5134a3344324..6606bfdf58b0 100644 --- a/drivers/net/dsa/vitesse-vsc73xx-core.c +++ b/drivers/net/dsa/vitesse-vsc73xx-core.c @@ -691,6 +691,9 @@ static int vsc73xx_setup(struct dsa_switch *ds) dev_info(vsc->dev, "set up the switch\n"); + ds->untag_bridge_pvid = true; + ds->max_num_bridges = DSA_TAG_8021Q_MAX_NUM_BRIDGES; + /* Issue RESET */ vsc73xx_write(vsc, VSC73XX_BLOCK_SYSTEM, 0, VSC73XX_GLORESET, VSC73XX_GLORESET_MASTER_RESET); @@ -1690,6 +1693,8 @@ static const struct dsa_switch_ops vsc73xx_ds_ops = { .port_setup = vsc73xx_port_setup, .port_enable = vsc73xx_port_enable, .port_disable = vsc73xx_port_disable, + .port_bridge_join = dsa_tag_8021q_bridge_join, + .port_bridge_leave = dsa_tag_8021q_bridge_leave, .port_change_mtu = vsc73xx_change_mtu, .port_max_mtu = vsc73xx_get_max_mtu, .port_stp_state_set = vsc73xx_port_stp_state_set,
This patch adds bridge support for vsc73xx driver. Vsc73xx require minimal operations and generic dsa_tag_8021q_bridge_* api is sufficient. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> --- v2, v1: - Use generic functions instead unnecessary intermediary shims --- Before patch series split: https://patchwork.kernel.org/project/netdevbpf/list/?series=841034&state=%2A&archive=both v8: - resend only v7: - added 'Reviewed-by' only v6: - resend only v5: - added 'Reviewed-by' only v4: - remove forward configuration after stp patch refactoring - implement new define with max num of bridges for tag8021q devices v3: - All vlan commits was reworked - move VLAN_AWR and VLAN_DBLAWR to port setup in other commit - drop vlan table upgrade v2: - no changes done --- drivers/net/dsa/vitesse-vsc73xx-core.c | 5 +++++ 1 file changed, 5 insertions(+)