mlxsw: spectrum: Add debug prints
authorIdo Schimmel <idosch@mellanox.com>
Mon, 20 Jun 2016 21:04:21 +0000 (23:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Jun 2016 09:02:51 +0000 (05:02 -0400)
For debug purposes, it's useful to know the order in which the driver
responds to changes in the topology of its upper devices.

Add debug prints to signal these events.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c

index 9f48ec5f405efed9cee0dc3ae2eb13ec8426b62d..d23948b88962ca7129b832eb8d79a9c54304d80a 100644 (file)
@@ -2589,6 +2589,9 @@ mlxsw_sp_port_fdb_flush_by_port_fid(const struct mlxsw_sp_port *mlxsw_sp_port,
        mlxsw_reg_sfdf_port_fid_system_port_set(sfdf_pl,
                                                mlxsw_sp_port->local_port);
 
+       netdev_dbg(mlxsw_sp_port->dev, "FDB flushed using Port=%d, FID=%d\n",
+                  mlxsw_sp_port->local_port, fid);
+
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(sfdf), sfdf_pl);
 }
 
@@ -2603,6 +2606,9 @@ mlxsw_sp_port_fdb_flush_by_lag_id_fid(const struct mlxsw_sp_port *mlxsw_sp_port,
        mlxsw_reg_sfdf_fid_set(sfdf_pl, fid);
        mlxsw_reg_sfdf_lag_fid_lag_id_set(sfdf_pl, mlxsw_sp_port->lag_id);
 
+       netdev_dbg(mlxsw_sp_port->dev, "FDB flushed using LAG ID=%d, FID=%d\n",
+                  mlxsw_sp_port->lag_id, fid);
+
        return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(sfdf), sfdf_pl);
 }
 
@@ -3174,6 +3180,8 @@ static int mlxsw_sp_vport_br_vfid_join(struct mlxsw_sp_port *mlxsw_sp_vport,
        mlxsw_sp_vport_fid_set(mlxsw_sp_vport, f);
        f->ref_count++;
 
+       netdev_dbg(mlxsw_sp_vport->dev, "Joined FID=%d\n", f->fid);
+
        return 0;
 
 err_vport_fid_map:
@@ -3188,6 +3196,8 @@ static void mlxsw_sp_vport_br_vfid_leave(struct mlxsw_sp_port *mlxsw_sp_vport)
 {
        struct mlxsw_sp_fid *f = mlxsw_sp_vport_fid_get(mlxsw_sp_vport);
 
+       netdev_dbg(mlxsw_sp_vport->dev, "Left FID=%d\n", f->fid);
+
        mlxsw_sp_vport_fid_map(mlxsw_sp_vport, f->fid, false);
 
        mlxsw_sp_vport_flood_set(mlxsw_sp_vport, f->fid, false);
index 7c2b0f85454dd7a55bc1053c4be2313334d8e66b..a0c7376ee517d686af4eff2a8929888d7caf7bbf 100644 (file)
@@ -488,6 +488,8 @@ static int __mlxsw_sp_port_fid_join(struct mlxsw_sp_port *mlxsw_sp_port,
 
        f->ref_count++;
 
+       netdev_dbg(mlxsw_sp_port->dev, "Joined FID=%d\n", fid);
+
        return 0;
 }
 
@@ -500,6 +502,8 @@ static void __mlxsw_sp_port_fid_leave(struct mlxsw_sp_port *mlxsw_sp_port,
        if (WARN_ON(!f))
                return;
 
+       netdev_dbg(mlxsw_sp_port->dev, "Left FID=%d\n", fid);
+
        mlxsw_sp_port_fdb_flush(mlxsw_sp_port, fid);
 
        if (--f->ref_count == 0)