mlxsw: spectrum: Change mlxsw_sp_upper to LAG structure
The structure mlxsw_sp_upper is used only as LAG. Rename it to mlxsw_sp_lag and move it to spectrum.c file, as it is used only there. Move the function mlxsw_sp_lag_get() with the structure. Signed-off-by: Amit Cohen <amcohen@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
4acf4e62cd
commit
6dce962c4c
@ -2751,6 +2751,11 @@ static void mlxsw_sp_lag_pgt_fini(struct mlxsw_sp *mlxsw_sp)
|
||||
|
||||
#define MLXSW_SP_LAG_SEED_INIT 0xcafecafe
|
||||
|
||||
struct mlxsw_sp_lag {
|
||||
struct net_device *dev;
|
||||
unsigned int ref_count;
|
||||
};
|
||||
|
||||
static int mlxsw_sp_lag_init(struct mlxsw_sp *mlxsw_sp)
|
||||
{
|
||||
char slcr_pl[MLXSW_REG_SLCR_LEN];
|
||||
@ -2784,7 +2789,7 @@ static int mlxsw_sp_lag_init(struct mlxsw_sp *mlxsw_sp)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
mlxsw_sp->lags = kcalloc(max_lag, sizeof(struct mlxsw_sp_upper),
|
||||
mlxsw_sp->lags = kcalloc(max_lag, sizeof(struct mlxsw_sp_lag),
|
||||
GFP_KERNEL);
|
||||
if (!mlxsw_sp->lags) {
|
||||
err = -ENOMEM;
|
||||
@ -4329,11 +4334,17 @@ static int mlxsw_sp_lag_col_port_disable(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||
return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(slcor), slcor_pl);
|
||||
}
|
||||
|
||||
static struct mlxsw_sp_lag *
|
||||
mlxsw_sp_lag_get(struct mlxsw_sp *mlxsw_sp, u16 lag_id)
|
||||
{
|
||||
return &mlxsw_sp->lags[lag_id];
|
||||
}
|
||||
|
||||
static int mlxsw_sp_lag_index_get(struct mlxsw_sp *mlxsw_sp,
|
||||
struct net_device *lag_dev,
|
||||
u16 *p_lag_id)
|
||||
{
|
||||
struct mlxsw_sp_upper *lag;
|
||||
struct mlxsw_sp_lag *lag;
|
||||
int free_lag_id = -1;
|
||||
u16 max_lag;
|
||||
int err, i;
|
||||
@ -4482,7 +4493,7 @@ static int mlxsw_sp_port_lag_join(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
|
||||
struct mlxsw_sp_upper *lag;
|
||||
struct mlxsw_sp_lag *lag;
|
||||
u16 lag_id;
|
||||
u8 port_index;
|
||||
int err;
|
||||
@ -4560,7 +4571,7 @@ static void mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||
{
|
||||
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
|
||||
u16 lag_id = mlxsw_sp_port->lag_id;
|
||||
struct mlxsw_sp_upper *lag;
|
||||
struct mlxsw_sp_lag *lag;
|
||||
|
||||
if (!mlxsw_sp_port->lagged)
|
||||
return;
|
||||
|
@ -78,11 +78,6 @@ struct mlxsw_sp_span_entry;
|
||||
enum mlxsw_sp_l3proto;
|
||||
union mlxsw_sp_l3addr;
|
||||
|
||||
struct mlxsw_sp_upper {
|
||||
struct net_device *dev;
|
||||
unsigned int ref_count;
|
||||
};
|
||||
|
||||
enum mlxsw_sp_rif_type {
|
||||
MLXSW_SP_RIF_TYPE_SUBPORT,
|
||||
MLXSW_SP_RIF_TYPE_VLAN,
|
||||
@ -136,6 +131,7 @@ struct mlxsw_sp_span_ops;
|
||||
struct mlxsw_sp_qdisc_state;
|
||||
struct mlxsw_sp_mall_entry;
|
||||
struct mlxsw_sp_pgt;
|
||||
struct mlxsw_sp_lag;
|
||||
|
||||
struct mlxsw_sp_port_mapping {
|
||||
u8 module;
|
||||
@ -164,7 +160,7 @@ struct mlxsw_sp {
|
||||
const struct mlxsw_bus_info *bus_info;
|
||||
unsigned char base_mac[ETH_ALEN];
|
||||
const unsigned char *mac_mask;
|
||||
struct mlxsw_sp_upper *lags;
|
||||
struct mlxsw_sp_lag *lags;
|
||||
struct mlxsw_sp_port_mapping *port_mapping;
|
||||
struct mlxsw_sp_port_mapping_events port_mapping_events;
|
||||
struct rhashtable sample_trigger_ht;
|
||||
@ -257,12 +253,6 @@ struct mlxsw_sp_fid_core_ops {
|
||||
void (*fini)(struct mlxsw_sp *mlxsw_sp);
|
||||
};
|
||||
|
||||
static inline struct mlxsw_sp_upper *
|
||||
mlxsw_sp_lag_get(struct mlxsw_sp *mlxsw_sp, u16 lag_id)
|
||||
{
|
||||
return &mlxsw_sp->lags[lag_id];
|
||||
}
|
||||
|
||||
struct mlxsw_sp_port_pcpu_stats {
|
||||
u64 rx_packets;
|
||||
u64 rx_bytes;
|
||||
|
Loading…
x
Reference in New Issue
Block a user