Commit c934757d authored by Amit Cohen's avatar Amit Cohen Committed by David S. Miller

mlxsw: Use u16 for local_port field instead of u8

Currently, local_port field is saved as u8, which means that maximum 256
ports can be used.

As preparation for Spectrum-4, which will support more than 256 ports,
local_port field should be extended.

Save local_port as u16 to allow use of additional ports.
Signed-off-by: default avatarAmit Cohen <amcohen@nvidia.com>
Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 242e696e
...@@ -47,7 +47,7 @@ static struct workqueue_struct *mlxsw_owq; ...@@ -47,7 +47,7 @@ static struct workqueue_struct *mlxsw_owq;
struct mlxsw_core_port { struct mlxsw_core_port {
struct devlink_port devlink_port; struct devlink_port devlink_port;
void *port_driver_priv; void *port_driver_priv;
u8 local_port; u16 local_port;
}; };
void *mlxsw_core_port_driver_priv(struct mlxsw_core_port *mlxsw_core_port) void *mlxsw_core_port_driver_priv(struct mlxsw_core_port *mlxsw_core_port)
...@@ -77,7 +77,7 @@ struct mlxsw_core { ...@@ -77,7 +77,7 @@ struct mlxsw_core {
bool enable_string_tlv; bool enable_string_tlv;
} emad; } emad;
struct { struct {
u8 *mapping; /* lag_id+port_index to local_port mapping */ u16 *mapping; /* lag_id+port_index to local_port mapping */
} lag; } lag;
struct mlxsw_res res; struct mlxsw_res res;
struct mlxsw_hwmon *hwmon; struct mlxsw_hwmon *hwmon;
...@@ -718,7 +718,7 @@ static void mlxsw_emad_process_response(struct mlxsw_core *mlxsw_core, ...@@ -718,7 +718,7 @@ static void mlxsw_emad_process_response(struct mlxsw_core *mlxsw_core,
} }
/* called with rcu read lock held */ /* called with rcu read lock held */
static void mlxsw_emad_rx_listener_func(struct sk_buff *skb, u8 local_port, static void mlxsw_emad_rx_listener_func(struct sk_buff *skb, u16 local_port,
void *priv) void *priv)
{ {
struct mlxsw_core *mlxsw_core = priv; struct mlxsw_core *mlxsw_core = priv;
...@@ -1959,7 +1959,7 @@ __mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info, ...@@ -1959,7 +1959,7 @@ __mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info,
if (MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG) && if (MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG) &&
MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG_MEMBERS)) { MLXSW_CORE_RES_VALID(mlxsw_core, MAX_LAG_MEMBERS)) {
alloc_size = sizeof(u8) * alloc_size = sizeof(*mlxsw_core->lag.mapping) *
MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG) * MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG) *
MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS); MLXSW_CORE_RES_GET(mlxsw_core, MAX_LAG_MEMBERS);
mlxsw_core->lag.mapping = kzalloc(alloc_size, GFP_KERNEL); mlxsw_core->lag.mapping = kzalloc(alloc_size, GFP_KERNEL);
...@@ -2130,7 +2130,7 @@ int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, ...@@ -2130,7 +2130,7 @@ int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
EXPORT_SYMBOL(mlxsw_core_skb_transmit); EXPORT_SYMBOL(mlxsw_core_skb_transmit);
void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core, void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core,
struct sk_buff *skb, u8 local_port) struct sk_buff *skb, u16 local_port)
{ {
if (mlxsw_core->driver->ptp_transmitted) if (mlxsw_core->driver->ptp_transmitted)
mlxsw_core->driver->ptp_transmitted(mlxsw_core, skb, mlxsw_core->driver->ptp_transmitted(mlxsw_core, skb,
...@@ -2208,7 +2208,7 @@ mlxsw_core_rx_listener_state_set(struct mlxsw_core *mlxsw_core, ...@@ -2208,7 +2208,7 @@ mlxsw_core_rx_listener_state_set(struct mlxsw_core *mlxsw_core,
rxl_item->enabled = enabled; rxl_item->enabled = enabled;
} }
static void mlxsw_core_event_listener_func(struct sk_buff *skb, u8 local_port, static void mlxsw_core_event_listener_func(struct sk_buff *skb, u16 local_port,
void *priv) void *priv)
{ {
struct mlxsw_event_listener_item *event_listener_item = priv; struct mlxsw_event_listener_item *event_listener_item = priv;
...@@ -2641,7 +2641,7 @@ void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, ...@@ -2641,7 +2641,7 @@ void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
{ {
struct mlxsw_rx_listener_item *rxl_item; struct mlxsw_rx_listener_item *rxl_item;
const struct mlxsw_rx_listener *rxl; const struct mlxsw_rx_listener *rxl;
u8 local_port; u16 local_port;
bool found = false; bool found = false;
if (rx_info->is_lag) { if (rx_info->is_lag) {
...@@ -2699,7 +2699,7 @@ static int mlxsw_core_lag_mapping_index(struct mlxsw_core *mlxsw_core, ...@@ -2699,7 +2699,7 @@ static int mlxsw_core_lag_mapping_index(struct mlxsw_core *mlxsw_core,
} }
void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core, void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core,
u16 lag_id, u8 port_index, u8 local_port) u16 lag_id, u8 port_index, u16 local_port)
{ {
int index = mlxsw_core_lag_mapping_index(mlxsw_core, int index = mlxsw_core_lag_mapping_index(mlxsw_core,
lag_id, port_index); lag_id, port_index);
...@@ -2708,7 +2708,7 @@ void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core, ...@@ -2708,7 +2708,7 @@ void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core,
} }
EXPORT_SYMBOL(mlxsw_core_lag_mapping_set); EXPORT_SYMBOL(mlxsw_core_lag_mapping_set);
u8 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core, u16 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core,
u16 lag_id, u8 port_index) u16 lag_id, u8 port_index)
{ {
int index = mlxsw_core_lag_mapping_index(mlxsw_core, int index = mlxsw_core_lag_mapping_index(mlxsw_core,
...@@ -2719,7 +2719,7 @@ u8 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core, ...@@ -2719,7 +2719,7 @@ u8 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core,
EXPORT_SYMBOL(mlxsw_core_lag_mapping_get); EXPORT_SYMBOL(mlxsw_core_lag_mapping_get);
void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core, void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core,
u16 lag_id, u8 local_port) u16 lag_id, u16 local_port)
{ {
int i; int i;
...@@ -2747,7 +2747,7 @@ u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core, ...@@ -2747,7 +2747,7 @@ u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core,
} }
EXPORT_SYMBOL(mlxsw_core_res_get); EXPORT_SYMBOL(mlxsw_core_res_get);
static int __mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, static int __mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u16 local_port,
enum devlink_port_flavour flavour, enum devlink_port_flavour flavour,
u32 port_number, bool split, u32 port_number, bool split,
u32 split_port_subnumber, u32 split_port_subnumber,
...@@ -2778,7 +2778,7 @@ static int __mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2778,7 +2778,7 @@ static int __mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port,
return err; return err;
} }
static void __mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port) static void __mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u16 local_port)
{ {
struct mlxsw_core_port *mlxsw_core_port = struct mlxsw_core_port *mlxsw_core_port =
&mlxsw_core->ports[local_port]; &mlxsw_core->ports[local_port];
...@@ -2788,7 +2788,7 @@ static void __mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port) ...@@ -2788,7 +2788,7 @@ static void __mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port)
memset(mlxsw_core_port, 0, sizeof(*mlxsw_core_port)); memset(mlxsw_core_port, 0, sizeof(*mlxsw_core_port));
} }
int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u16 local_port,
u32 port_number, bool split, u32 port_number, bool split,
u32 split_port_subnumber, u32 split_port_subnumber,
bool splittable, u32 lanes, bool splittable, u32 lanes,
...@@ -2810,7 +2810,7 @@ int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2810,7 +2810,7 @@ int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port,
} }
EXPORT_SYMBOL(mlxsw_core_port_init); EXPORT_SYMBOL(mlxsw_core_port_init);
void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port) void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u16 local_port)
{ {
atomic_dec(&mlxsw_core->active_ports_count); atomic_dec(&mlxsw_core->active_ports_count);
...@@ -2845,7 +2845,7 @@ void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core) ...@@ -2845,7 +2845,7 @@ void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core)
} }
EXPORT_SYMBOL(mlxsw_core_cpu_port_fini); EXPORT_SYMBOL(mlxsw_core_cpu_port_fini);
void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u16 local_port,
void *port_driver_priv, struct net_device *dev) void *port_driver_priv, struct net_device *dev)
{ {
struct mlxsw_core_port *mlxsw_core_port = struct mlxsw_core_port *mlxsw_core_port =
...@@ -2857,7 +2857,7 @@ void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2857,7 +2857,7 @@ void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port,
} }
EXPORT_SYMBOL(mlxsw_core_port_eth_set); EXPORT_SYMBOL(mlxsw_core_port_eth_set);
void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u8 local_port, void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u16 local_port,
void *port_driver_priv) void *port_driver_priv)
{ {
struct mlxsw_core_port *mlxsw_core_port = struct mlxsw_core_port *mlxsw_core_port =
...@@ -2869,7 +2869,7 @@ void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2869,7 +2869,7 @@ void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u8 local_port,
} }
EXPORT_SYMBOL(mlxsw_core_port_ib_set); EXPORT_SYMBOL(mlxsw_core_port_ib_set);
void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u8 local_port, void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u16 local_port,
void *port_driver_priv) void *port_driver_priv)
{ {
struct mlxsw_core_port *mlxsw_core_port = struct mlxsw_core_port *mlxsw_core_port =
...@@ -2882,7 +2882,7 @@ void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2882,7 +2882,7 @@ void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u8 local_port,
EXPORT_SYMBOL(mlxsw_core_port_clear); EXPORT_SYMBOL(mlxsw_core_port_clear);
enum devlink_port_type mlxsw_core_port_type_get(struct mlxsw_core *mlxsw_core, enum devlink_port_type mlxsw_core_port_type_get(struct mlxsw_core *mlxsw_core,
u8 local_port) u16 local_port)
{ {
struct mlxsw_core_port *mlxsw_core_port = struct mlxsw_core_port *mlxsw_core_port =
&mlxsw_core->ports[local_port]; &mlxsw_core->ports[local_port];
...@@ -2895,7 +2895,7 @@ EXPORT_SYMBOL(mlxsw_core_port_type_get); ...@@ -2895,7 +2895,7 @@ EXPORT_SYMBOL(mlxsw_core_port_type_get);
struct devlink_port * struct devlink_port *
mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core, mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core,
u8 local_port) u16 local_port)
{ {
struct mlxsw_core_port *mlxsw_core_port = struct mlxsw_core_port *mlxsw_core_port =
&mlxsw_core->ports[local_port]; &mlxsw_core->ports[local_port];
...@@ -2905,7 +2905,7 @@ mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core, ...@@ -2905,7 +2905,7 @@ mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core,
} }
EXPORT_SYMBOL(mlxsw_core_port_devlink_port_get); EXPORT_SYMBOL(mlxsw_core_port_devlink_port_get);
bool mlxsw_core_port_is_xm(const struct mlxsw_core *mlxsw_core, u8 local_port) bool mlxsw_core_port_is_xm(const struct mlxsw_core *mlxsw_core, u16 local_port)
{ {
const struct mlxsw_bus_info *bus_info = mlxsw_core->bus_info; const struct mlxsw_bus_info *bus_info = mlxsw_core->bus_info;
int i; int i;
......
...@@ -54,7 +54,7 @@ int mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info, ...@@ -54,7 +54,7 @@ int mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info,
void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core, bool reload); void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core, bool reload);
struct mlxsw_tx_info { struct mlxsw_tx_info {
u8 local_port; u16 local_port;
bool is_emad; bool is_emad;
}; };
...@@ -67,7 +67,7 @@ struct mlxsw_rx_md_info { ...@@ -67,7 +67,7 @@ struct mlxsw_rx_md_info {
u16 tx_sys_port; u16 tx_sys_port;
u16 tx_lag_id; u16 tx_lag_id;
}; };
u8 tx_lag_port_index; /* Valid when 'tx_port_is_lag' is set. */ u16 tx_lag_port_index; /* Valid when 'tx_port_is_lag' is set. */
u8 tx_tc; u8 tx_tc;
u8 latency_valid:1, u8 latency_valid:1,
tx_congestion_valid:1, tx_congestion_valid:1,
...@@ -82,11 +82,11 @@ bool mlxsw_core_skb_transmit_busy(struct mlxsw_core *mlxsw_core, ...@@ -82,11 +82,11 @@ bool mlxsw_core_skb_transmit_busy(struct mlxsw_core *mlxsw_core,
int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, int mlxsw_core_skb_transmit(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
const struct mlxsw_tx_info *tx_info); const struct mlxsw_tx_info *tx_info);
void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core, void mlxsw_core_ptp_transmitted(struct mlxsw_core *mlxsw_core,
struct sk_buff *skb, u8 local_port); struct sk_buff *skb, u16 local_port);
struct mlxsw_rx_listener { struct mlxsw_rx_listener {
void (*func)(struct sk_buff *skb, u8 local_port, void *priv); void (*func)(struct sk_buff *skb, u16 local_port, void *priv);
u8 local_port; u16 local_port;
u8 mirror_reason; u8 mirror_reason;
u16 trap_id; u16 trap_id;
}; };
...@@ -209,7 +209,7 @@ struct mlxsw_rx_info { ...@@ -209,7 +209,7 @@ struct mlxsw_rx_info {
u16 sys_port; u16 sys_port;
u16 lag_id; u16 lag_id;
} u; } u;
u8 lag_port_index; u16 lag_port_index;
u8 mirror_reason; u8 mirror_reason;
int trap_id; int trap_id;
}; };
...@@ -218,36 +218,36 @@ void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, ...@@ -218,36 +218,36 @@ void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb,
struct mlxsw_rx_info *rx_info); struct mlxsw_rx_info *rx_info);
void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core, void mlxsw_core_lag_mapping_set(struct mlxsw_core *mlxsw_core,
u16 lag_id, u8 port_index, u8 local_port); u16 lag_id, u8 port_index, u16 local_port);
u8 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core, u16 mlxsw_core_lag_mapping_get(struct mlxsw_core *mlxsw_core,
u16 lag_id, u8 port_index); u16 lag_id, u8 port_index);
void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core, void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core,
u16 lag_id, u8 local_port); u16 lag_id, u16 local_port);
void *mlxsw_core_port_driver_priv(struct mlxsw_core_port *mlxsw_core_port); void *mlxsw_core_port_driver_priv(struct mlxsw_core_port *mlxsw_core_port);
int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u16 local_port,
u32 port_number, bool split, u32 split_port_subnumber, u32 port_number, bool split, u32 split_port_subnumber,
bool splittable, u32 lanes, bool splittable, u32 lanes,
const unsigned char *switch_id, const unsigned char *switch_id,
unsigned char switch_id_len); unsigned char switch_id_len);
void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port); void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u16 local_port);
int mlxsw_core_cpu_port_init(struct mlxsw_core *mlxsw_core, int mlxsw_core_cpu_port_init(struct mlxsw_core *mlxsw_core,
void *port_driver_priv, void *port_driver_priv,
const unsigned char *switch_id, const unsigned char *switch_id,
unsigned char switch_id_len); unsigned char switch_id_len);
void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core); void mlxsw_core_cpu_port_fini(struct mlxsw_core *mlxsw_core);
void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u16 local_port,
void *port_driver_priv, struct net_device *dev); void *port_driver_priv, struct net_device *dev);
void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u8 local_port, void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u16 local_port,
void *port_driver_priv); void *port_driver_priv);
void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u8 local_port, void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u16 local_port,
void *port_driver_priv); void *port_driver_priv);
enum devlink_port_type mlxsw_core_port_type_get(struct mlxsw_core *mlxsw_core, enum devlink_port_type mlxsw_core_port_type_get(struct mlxsw_core *mlxsw_core,
u8 local_port); u16 local_port);
struct devlink_port * struct devlink_port *
mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core, mlxsw_core_port_devlink_port_get(struct mlxsw_core *mlxsw_core,
u8 local_port); u16 local_port);
bool mlxsw_core_port_is_xm(const struct mlxsw_core *mlxsw_core, u8 local_port); bool mlxsw_core_port_is_xm(const struct mlxsw_core *mlxsw_core, u16 local_port);
struct mlxsw_env *mlxsw_core_env(const struct mlxsw_core *mlxsw_core); struct mlxsw_env *mlxsw_core_env(const struct mlxsw_core *mlxsw_core);
int mlxsw_core_schedule_dw(struct delayed_work *dwork, unsigned long delay); int mlxsw_core_schedule_dw(struct delayed_work *dwork, unsigned long delay);
...@@ -316,11 +316,11 @@ struct mlxsw_driver { ...@@ -316,11 +316,11 @@ struct mlxsw_driver {
struct netlink_ext_ack *extack); struct netlink_ext_ack *extack);
void (*fini)(struct mlxsw_core *mlxsw_core); void (*fini)(struct mlxsw_core *mlxsw_core);
int (*basic_trap_groups_set)(struct mlxsw_core *mlxsw_core); int (*basic_trap_groups_set)(struct mlxsw_core *mlxsw_core);
int (*port_type_set)(struct mlxsw_core *mlxsw_core, u8 local_port, int (*port_type_set)(struct mlxsw_core *mlxsw_core, u16 local_port,
enum devlink_port_type new_type); enum devlink_port_type new_type);
int (*port_split)(struct mlxsw_core *mlxsw_core, u8 local_port, int (*port_split)(struct mlxsw_core *mlxsw_core, u16 local_port,
unsigned int count, struct netlink_ext_ack *extack); unsigned int count, struct netlink_ext_ack *extack);
int (*port_unsplit)(struct mlxsw_core *mlxsw_core, u8 local_port, int (*port_unsplit)(struct mlxsw_core *mlxsw_core, u16 local_port,
struct netlink_ext_ack *extack); struct netlink_ext_ack *extack);
int (*sb_pool_get)(struct mlxsw_core *mlxsw_core, int (*sb_pool_get)(struct mlxsw_core *mlxsw_core,
unsigned int sb_index, u16 pool_index, unsigned int sb_index, u16 pool_index,
...@@ -394,7 +394,7 @@ struct mlxsw_driver { ...@@ -394,7 +394,7 @@ struct mlxsw_driver {
* is responsible for freeing the passed-in SKB. * is responsible for freeing the passed-in SKB.
*/ */
void (*ptp_transmitted)(struct mlxsw_core *mlxsw_core, void (*ptp_transmitted)(struct mlxsw_core *mlxsw_core,
struct sk_buff *skb, u8 local_port); struct sk_buff *skb, u16 local_port);
u8 txhdr_len; u8 txhdr_len;
const struct mlxsw_config_profile *profile; const struct mlxsw_config_profile *profile;
......
...@@ -113,7 +113,7 @@ static const struct rhashtable_params mlxsw_afa_set_ht_params = { ...@@ -113,7 +113,7 @@ static const struct rhashtable_params mlxsw_afa_set_ht_params = {
}; };
struct mlxsw_afa_fwd_entry_ht_key { struct mlxsw_afa_fwd_entry_ht_key {
u8 local_port; u16 local_port;
}; };
struct mlxsw_afa_fwd_entry { struct mlxsw_afa_fwd_entry {
...@@ -555,7 +555,7 @@ int mlxsw_afa_block_terminate(struct mlxsw_afa_block *block) ...@@ -555,7 +555,7 @@ int mlxsw_afa_block_terminate(struct mlxsw_afa_block *block)
EXPORT_SYMBOL(mlxsw_afa_block_terminate); EXPORT_SYMBOL(mlxsw_afa_block_terminate);
static struct mlxsw_afa_fwd_entry * static struct mlxsw_afa_fwd_entry *
mlxsw_afa_fwd_entry_create(struct mlxsw_afa *mlxsw_afa, u8 local_port) mlxsw_afa_fwd_entry_create(struct mlxsw_afa *mlxsw_afa, u16 local_port)
{ {
struct mlxsw_afa_fwd_entry *fwd_entry; struct mlxsw_afa_fwd_entry *fwd_entry;
int err; int err;
...@@ -598,7 +598,7 @@ static void mlxsw_afa_fwd_entry_destroy(struct mlxsw_afa *mlxsw_afa, ...@@ -598,7 +598,7 @@ static void mlxsw_afa_fwd_entry_destroy(struct mlxsw_afa *mlxsw_afa,
} }
static struct mlxsw_afa_fwd_entry * static struct mlxsw_afa_fwd_entry *
mlxsw_afa_fwd_entry_get(struct mlxsw_afa *mlxsw_afa, u8 local_port) mlxsw_afa_fwd_entry_get(struct mlxsw_afa *mlxsw_afa, u16 local_port)
{ {
struct mlxsw_afa_fwd_entry_ht_key ht_key = {0}; struct mlxsw_afa_fwd_entry_ht_key ht_key = {0};
struct mlxsw_afa_fwd_entry *fwd_entry; struct mlxsw_afa_fwd_entry *fwd_entry;
...@@ -647,7 +647,7 @@ mlxsw_afa_fwd_entry_ref_destructor(struct mlxsw_afa_block *block, ...@@ -647,7 +647,7 @@ mlxsw_afa_fwd_entry_ref_destructor(struct mlxsw_afa_block *block,
} }
static struct mlxsw_afa_fwd_entry_ref * static struct mlxsw_afa_fwd_entry_ref *
mlxsw_afa_fwd_entry_ref_create(struct mlxsw_afa_block *block, u8 local_port) mlxsw_afa_fwd_entry_ref_create(struct mlxsw_afa_block *block, u16 local_port)
{ {
struct mlxsw_afa_fwd_entry_ref *fwd_entry_ref; struct mlxsw_afa_fwd_entry_ref *fwd_entry_ref;
struct mlxsw_afa_fwd_entry *fwd_entry; struct mlxsw_afa_fwd_entry *fwd_entry;
...@@ -1352,7 +1352,7 @@ EXPORT_SYMBOL(mlxsw_afa_block_append_trap_and_forward); ...@@ -1352,7 +1352,7 @@ EXPORT_SYMBOL(mlxsw_afa_block_append_trap_and_forward);
struct mlxsw_afa_mirror { struct mlxsw_afa_mirror {
struct mlxsw_afa_resource resource; struct mlxsw_afa_resource resource;
int span_id; int span_id;
u8 local_in_port; u16 local_in_port;
bool ingress; bool ingress;
}; };
...@@ -1379,7 +1379,7 @@ mlxsw_afa_mirror_destructor(struct mlxsw_afa_block *block, ...@@ -1379,7 +1379,7 @@ mlxsw_afa_mirror_destructor(struct mlxsw_afa_block *block,
} }
static struct mlxsw_afa_mirror * static struct mlxsw_afa_mirror *
mlxsw_afa_mirror_create(struct mlxsw_afa_block *block, u8 local_in_port, mlxsw_afa_mirror_create(struct mlxsw_afa_block *block, u16 local_in_port,
const struct net_device *out_dev, bool ingress) const struct net_device *out_dev, bool ingress)
{ {
struct mlxsw_afa_mirror *mirror; struct mlxsw_afa_mirror *mirror;
...@@ -1423,7 +1423,7 @@ mlxsw_afa_block_append_allocated_mirror(struct mlxsw_afa_block *block, ...@@ -1423,7 +1423,7 @@ mlxsw_afa_block_append_allocated_mirror(struct mlxsw_afa_block *block,
} }
int int
mlxsw_afa_block_append_mirror(struct mlxsw_afa_block *block, u8 local_in_port, mlxsw_afa_block_append_mirror(struct mlxsw_afa_block *block, u16 local_in_port,
const struct net_device *out_dev, bool ingress, const struct net_device *out_dev, bool ingress,
struct netlink_ext_ack *extack) struct netlink_ext_ack *extack)
{ {
...@@ -1663,7 +1663,7 @@ mlxsw_afa_forward_pack(char *payload, enum mlxsw_afa_forward_type type, ...@@ -1663,7 +1663,7 @@ mlxsw_afa_forward_pack(char *payload, enum mlxsw_afa_forward_type type,
} }
int mlxsw_afa_block_append_fwd(struct mlxsw_afa_block *block, int mlxsw_afa_block_append_fwd(struct mlxsw_afa_block *block,
u8 local_port, bool in_port, u16 local_port, bool in_port,
struct netlink_ext_ack *extack) struct netlink_ext_ack *extack)
{ {
struct mlxsw_afa_fwd_entry_ref *fwd_entry_ref; struct mlxsw_afa_fwd_entry_ref *fwd_entry_ref;
...@@ -2038,7 +2038,7 @@ static void mlxsw_afa_sampler_pack(char *payload, u8 mirror_agent, u32 rate) ...@@ -2038,7 +2038,7 @@ static void mlxsw_afa_sampler_pack(char *payload, u8 mirror_agent, u32 rate)
struct mlxsw_afa_sampler { struct mlxsw_afa_sampler {
struct mlxsw_afa_resource resource; struct mlxsw_afa_resource resource;
int span_id; int span_id;
u8 local_port; u16 local_port;
bool ingress; bool ingress;
}; };
...@@ -2061,7 +2061,7 @@ static void mlxsw_afa_sampler_destructor(struct mlxsw_afa_block *block, ...@@ -2061,7 +2061,7 @@ static void mlxsw_afa_sampler_destructor(struct mlxsw_afa_block *block,
} }
static struct mlxsw_afa_sampler * static struct mlxsw_afa_sampler *
mlxsw_afa_sampler_create(struct mlxsw_afa_block *block, u8 local_port, mlxsw_afa_sampler_create(struct mlxsw_afa_block *block, u16 local_port,
struct psample_group *psample_group, u32 rate, struct psample_group *psample_group, u32 rate,
u32 trunc_size, bool truncate, bool ingress, u32 trunc_size, bool truncate, bool ingress,
struct netlink_ext_ack *extack) struct netlink_ext_ack *extack)
...@@ -2104,7 +2104,7 @@ mlxsw_afa_block_append_allocated_sampler(struct mlxsw_afa_block *block, ...@@ -2104,7 +2104,7 @@ mlxsw_afa_block_append_allocated_sampler(struct mlxsw_afa_block *block,
return 0; return 0;
} }
int mlxsw_afa_block_append_sampler(struct mlxsw_afa_block *block, u8 local_port, int mlxsw_afa_block_append_sampler(struct mlxsw_afa_block *block, u16 local_port,
struct psample_group *psample_group, struct psample_group *psample_group,
u32 rate, u32 trunc_size, bool truncate, u32 rate, u32 trunc_size, bool truncate,
bool ingress, bool ingress,
......
...@@ -17,24 +17,24 @@ struct mlxsw_afa_ops { ...@@ -17,24 +17,24 @@ struct mlxsw_afa_ops {
void (*kvdl_set_del)(void *priv, u32 kvdl_index, bool is_first); void (*kvdl_set_del)(void *priv, u32 kvdl_index, bool is_first);
int (*kvdl_set_activity_get)(void *priv, u32 kvdl_index, int (*kvdl_set_activity_get)(void *priv, u32 kvdl_index,
bool *activity); bool *activity);
int (*kvdl_fwd_entry_add)(void *priv, u32 *p_kvdl_index, u8 local_port); int (*kvdl_fwd_entry_add)(void *priv, u32 *p_kvdl_index, u16 local_port);
void (*kvdl_fwd_entry_del)(void *priv, u32 kvdl_index); void (*kvdl_fwd_entry_del)(void *priv, u32 kvdl_index);
int (*counter_index_get)(void *priv, unsigned int *p_counter_index); int (*counter_index_get)(void *priv, unsigned int *p_counter_index);
void (*counter_index_put)(void *priv, unsigned int counter_index); void (*counter_index_put)(void *priv, unsigned int counter_index);
int (*mirror_add)(void *priv, u8 local_in_port, int (*mirror_add)(void *priv, u16 local_in_port,
const struct net_device *out_dev, const struct net_device *out_dev,
bool ingress, int *p_span_id); bool ingress, int *p_span_id);
void (*mirror_del)(void *priv, u8 local_in_port, int span_id, void (*mirror_del)(void *priv, u16 local_in_port, int span_id,
bool ingress); bool ingress);
int (*policer_add)(void *priv, u64 rate_bytes_ps, u32 burst, int (*policer_add)(void *priv, u64 rate_bytes_ps, u32 burst,
u16 *p_policer_index, u16 *p_policer_index,
struct netlink_ext_ack *extack); struct netlink_ext_ack *extack);
void (*policer_del)(void *priv, u16 policer_index); void (*policer_del)(void *priv, u16 policer_index);
int (*sampler_add)(void *priv, u8 local_port, int (*sampler_add)(void *priv, u16 local_port,
struct psample_group *psample_group, u32 rate, struct psample_group *psample_group, u32 rate,
u32 trunc_size, bool truncate, bool ingress, u32 trunc_size, bool truncate, bool ingress,
int *p_span_id, struct netlink_ext_ack *extack); int *p_span_id, struct netlink_ext_ack *extack);
void (*sampler_del)(void *priv, u8 local_port, int span_id, void (*sampler_del)(void *priv, u16 local_port, int span_id,
bool ingress); bool ingress);
bool dummy_first_set; bool dummy_first_set;
}; };
...@@ -62,12 +62,12 @@ int mlxsw_afa_block_append_trap(struct mlxsw_afa_block *block, u16 trap_id); ...@@ -62,12 +62,12 @@ int mlxsw_afa_block_append_trap(struct mlxsw_afa_block *block, u16 trap_id);
int mlxsw_afa_block_append_trap_and_forward(struct mlxsw_afa_block *block, int mlxsw_afa_block_append_trap_and_forward(struct mlxsw_afa_block *block,
u16 trap_id); u16 trap_id);
int mlxsw_afa_block_append_mirror(struct mlxsw_afa_block *block, int mlxsw_afa_block_append_mirror(struct mlxsw_afa_block *block,
u8 local_in_port, u16 local_in_port,
const struct net_device *out_dev, const struct net_device *out_dev,
bool ingress, bool ingress,
struct netlink_ext_ack *extack); struct netlink_ext_ack *extack);
int mlxsw_afa_block_append_fwd(struct mlxsw_afa_block *block, int mlxsw_afa_block_append_fwd(struct mlxsw_afa_block *block,
u8 local_port, bool in_port, u16 local_port, bool in_port,
struct netlink_ext_ack *extack); struct netlink_ext_ack *extack);
int mlxsw_afa_block_append_vlan_modify(struct mlxsw_afa_block *block, int mlxsw_afa_block_append_vlan_modify(struct mlxsw_afa_block *block,
u16 vid, u8 pcp, u8 et, u16 vid, u8 pcp, u8 et,
...@@ -98,7 +98,7 @@ int mlxsw_afa_block_append_police(struct mlxsw_afa_block *block, ...@@ -98,7 +98,7 @@ int mlxsw_afa_block_append_police(struct mlxsw_afa_block *block,
u32 fa_index, u64 rate_bytes_ps, u32 burst, u32 fa_index, u64 rate_bytes_ps, u32 burst,
u16 *p_policer_index, u16 *p_policer_index,
struct netlink_ext_ack *extack); struct netlink_ext_ack *extack);
int mlxsw_afa_block_append_sampler(struct mlxsw_afa_block *block, u8 local_port, int mlxsw_afa_block_append_sampler(struct mlxsw_afa_block *block, u16 local_port,
struct psample_group *psample_group, struct psample_group *psample_group,
u32 rate, u32 trunc_size, bool truncate, u32 rate, u32 trunc_size, bool truncate,
bool ingress, bool ingress,
......
...@@ -38,7 +38,7 @@ struct mlxsw_m { ...@@ -38,7 +38,7 @@ struct mlxsw_m {
struct mlxsw_m_port { struct mlxsw_m_port {
struct net_device *dev; struct net_device *dev;
struct mlxsw_m *mlxsw_m; struct mlxsw_m *mlxsw_m;
u8 local_port; u16 local_port;
u8 module; u8 module;
}; };
...@@ -180,7 +180,7 @@ static const struct ethtool_ops mlxsw_m_port_ethtool_ops = { ...@@ -180,7 +180,7 @@ static const struct ethtool_ops mlxsw_m_port_ethtool_ops = {
}; };
static int static int
mlxsw_m_port_module_info_get(struct mlxsw_m *mlxsw_m, u8 local_port, mlxsw_m_port_module_info_get(struct mlxsw_m *mlxsw_m, u16 local_port,
u8 *p_module, u8 *p_width) u8 *p_module, u8 *p_width)
{ {
char pmlp_pl[MLXSW_REG_PMLP_LEN]; char pmlp_pl[MLXSW_REG_PMLP_LEN];
...@@ -214,7 +214,7 @@ mlxsw_m_port_dev_addr_get(struct mlxsw_m_port *mlxsw_m_port) ...@@ -214,7 +214,7 @@ mlxsw_m_port_dev_addr_get(struct mlxsw_m_port *mlxsw_m_port)
} }
static int static int
mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, u8 module) mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u16 local_port, u8 module)
{ {
struct mlxsw_m_port *mlxsw_m_port; struct mlxsw_m_port *mlxsw_m_port;
struct net_device *dev; struct net_device *dev;
...@@ -277,7 +277,7 @@ mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, u8 module) ...@@ -277,7 +277,7 @@ mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, u8 module)
return err; return err;
} }
static void mlxsw_m_port_remove(struct mlxsw_m *mlxsw_m, u8 local_port) static void mlxsw_m_port_remove(struct mlxsw_m *mlxsw_m, u16 local_port)
{ {
struct mlxsw_m_port *mlxsw_m_port = mlxsw_m->ports[local_port]; struct mlxsw_m_port *mlxsw_m_port = mlxsw_m->ports[local_port];
...@@ -288,7 +288,7 @@ static void mlxsw_m_port_remove(struct mlxsw_m *mlxsw_m, u8 local_port) ...@@ -288,7 +288,7 @@ static void mlxsw_m_port_remove(struct mlxsw_m *mlxsw_m, u8 local_port)
mlxsw_core_port_fini(mlxsw_m->core, local_port); mlxsw_core_port_fini(mlxsw_m->core, local_port);
} }
static int mlxsw_m_port_module_map(struct mlxsw_m *mlxsw_m, u8 local_port, static int mlxsw_m_port_module_map(struct mlxsw_m *mlxsw_m, u16 local_port,
u8 *last_module) u8 *last_module)
{ {
unsigned int max_ports = mlxsw_core_max_ports(mlxsw_m->core); unsigned int max_ports = mlxsw_core_max_ports(mlxsw_m->core);
......
This diff is collapsed.
...@@ -352,7 +352,7 @@ static int mlxsw_sp_port_mtu_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 mtu) ...@@ -352,7 +352,7 @@ static int mlxsw_sp_port_mtu_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 mtu)
} }
static int mlxsw_sp_port_swid_set(struct mlxsw_sp *mlxsw_sp, static int mlxsw_sp_port_swid_set(struct mlxsw_sp *mlxsw_sp,
u8 local_port, u8 swid) u16 local_port, u8 swid)
{ {
char pspa_pl[MLXSW_REG_PSPA_LEN]; char pspa_pl[MLXSW_REG_PSPA_LEN];
...@@ -483,7 +483,7 @@ mlxsw_sp_port_system_port_mapping_set(struct mlxsw_sp_port *mlxsw_sp_port) ...@@ -483,7 +483,7 @@ mlxsw_sp_port_system_port_mapping_set(struct mlxsw_sp_port *mlxsw_sp_port)
} }
static int static int
mlxsw_sp_port_module_info_get(struct mlxsw_sp *mlxsw_sp, u8 local_port, mlxsw_sp_port_module_info_get(struct mlxsw_sp *mlxsw_sp, u16 local_port,
struct mlxsw_sp_port_mapping *port_mapping) struct mlxsw_sp_port_mapping *port_mapping)
{ {
char pmlp_pl[MLXSW_REG_PMLP_LEN]; char pmlp_pl[MLXSW_REG_PMLP_LEN];
...@@ -535,7 +535,7 @@ mlxsw_sp_port_module_info_get(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -535,7 +535,7 @@ mlxsw_sp_port_module_info_get(struct mlxsw_sp *mlxsw_sp, u8 local_port,
} }
static int static int
mlxsw_sp_port_module_map(struct mlxsw_sp *mlxsw_sp, u8 local_port, mlxsw_sp_port_module_map(struct mlxsw_sp *mlxsw_sp, u16 local_port,
const struct mlxsw_sp_port_mapping *port_mapping) const struct mlxsw_sp_port_mapping *port_mapping)
{ {
char pmlp_pl[MLXSW_REG_PMLP_LEN]; char pmlp_pl[MLXSW_REG_PMLP_LEN];
...@@ -560,7 +560,7 @@ mlxsw_sp_port_module_map(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -560,7 +560,7 @@ mlxsw_sp_port_module_map(struct mlxsw_sp *mlxsw_sp, u8 local_port,
return err; return err;
} }
static void mlxsw_sp_port_module_unmap(struct mlxsw_sp *mlxsw_sp, u8 local_port, static void mlxsw_sp_port_module_unmap(struct mlxsw_sp *mlxsw_sp, u16 local_port,
u8 module) u8 module)
{ {
char pmlp_pl[MLXSW_REG_PMLP_LEN]; char pmlp_pl[MLXSW_REG_PMLP_LEN];
...@@ -1474,7 +1474,7 @@ mlxsw_sp_port_vlan_classification_set(struct mlxsw_sp_port *mlxsw_sp_port, ...@@ -1474,7 +1474,7 @@ mlxsw_sp_port_vlan_classification_set(struct mlxsw_sp_port *mlxsw_sp_port,
} }
static int mlxsw_sp_port_label_info_get(struct mlxsw_sp *mlxsw_sp, static int mlxsw_sp_port_label_info_get(struct mlxsw_sp *mlxsw_sp,
u8 local_port, u8 *port_number, u16 local_port, u8 *port_number,
u8 *split_port_subnumber, u8 *split_port_subnumber,
u8 *slot_index) u8 *slot_index)
{ {
...@@ -1490,7 +1490,7 @@ static int mlxsw_sp_port_label_info_get(struct mlxsw_sp *mlxsw_sp, ...@@ -1490,7 +1490,7 @@ static int mlxsw_sp_port_label_info_get(struct mlxsw_sp *mlxsw_sp,
return 0; return 0;
} }
static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u16 local_port,
bool split, bool split,
struct mlxsw_sp_port_mapping *port_mapping) struct mlxsw_sp_port_mapping *port_mapping)
{ {
...@@ -1781,7 +1781,7 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -1781,7 +1781,7 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port,
return err; return err;
} }
static void mlxsw_sp_port_remove(struct mlxsw_sp *mlxsw_sp, u8 local_port) static void mlxsw_sp_port_remove(struct mlxsw_sp *mlxsw_sp, u16 local_port)
{ {
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp->ports[local_port]; struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp->ports[local_port];
u8 module = mlxsw_sp_port->mapping.module; u8 module = mlxsw_sp_port->mapping.module;
...@@ -1848,12 +1848,12 @@ static void mlxsw_sp_cpu_port_remove(struct mlxsw_sp *mlxsw_sp) ...@@ -1848,12 +1848,12 @@ static void mlxsw_sp_cpu_port_remove(struct mlxsw_sp *mlxsw_sp)
kfree(mlxsw_sp_port); kfree(mlxsw_sp_port);
} }
static bool mlxsw_sp_local_port_valid(u8 local_port) static bool mlxsw_sp_local_port_valid(u16 local_port)
{ {
return local_port != MLXSW_PORT_CPU_PORT; return local_port != MLXSW_PORT_CPU_PORT;
} }
static bool mlxsw_sp_port_created(struct mlxsw_sp *mlxsw_sp, u8 local_port) static bool mlxsw_sp_port_created(struct mlxsw_sp *mlxsw_sp, u16 local_port)
{ {
if (!mlxsw_sp_local_port_valid(local_port)) if (!mlxsw_sp_local_port_valid(local_port))
return false; return false;
...@@ -1971,7 +1971,7 @@ mlxsw_sp_port_split_create(struct mlxsw_sp *mlxsw_sp, ...@@ -1971,7 +1971,7 @@ mlxsw_sp_port_split_create(struct mlxsw_sp *mlxsw_sp,
split_port_mapping = *port_mapping; split_port_mapping = *port_mapping;
split_port_mapping.width /= count; split_port_mapping.width /= count;
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
u8 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i); u16 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i);
if (!mlxsw_sp_local_port_valid(s_local_port)) if (!mlxsw_sp_local_port_valid(s_local_port))
continue; continue;
...@@ -1987,7 +1987,7 @@ mlxsw_sp_port_split_create(struct mlxsw_sp *mlxsw_sp, ...@@ -1987,7 +1987,7 @@ mlxsw_sp_port_split_create(struct mlxsw_sp *mlxsw_sp,
err_port_create: err_port_create:
for (i--; i >= 0; i--) { for (i--; i >= 0; i--) {
u8 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i); u16 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i);
if (mlxsw_sp_port_created(mlxsw_sp, s_local_port)) if (mlxsw_sp_port_created(mlxsw_sp, s_local_port))
mlxsw_sp_port_remove(mlxsw_sp, s_local_port); mlxsw_sp_port_remove(mlxsw_sp, s_local_port);
...@@ -2004,7 +2004,7 @@ static void mlxsw_sp_port_unsplit_create(struct mlxsw_sp *mlxsw_sp, ...@@ -2004,7 +2004,7 @@ static void mlxsw_sp_port_unsplit_create(struct mlxsw_sp *mlxsw_sp,
/* Go over original unsplit ports in the gap and recreate them. */ /* Go over original unsplit ports in the gap and recreate them. */
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
u8 local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i); u16 local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i);
port_mapping = mlxsw_sp->port_mapping[local_port]; port_mapping = mlxsw_sp->port_mapping[local_port];
if (!port_mapping || !mlxsw_sp_local_port_valid(local_port)) if (!port_mapping || !mlxsw_sp_local_port_valid(local_port))
...@@ -2015,14 +2015,14 @@ static void mlxsw_sp_port_unsplit_create(struct mlxsw_sp *mlxsw_sp, ...@@ -2015,14 +2015,14 @@ static void mlxsw_sp_port_unsplit_create(struct mlxsw_sp *mlxsw_sp,
} }
static struct mlxsw_sp_port * static struct mlxsw_sp_port *
mlxsw_sp_port_get_by_local_port(struct mlxsw_sp *mlxsw_sp, u8 local_port) mlxsw_sp_port_get_by_local_port(struct mlxsw_sp *mlxsw_sp, u16 local_port)
{ {
if (mlxsw_sp->ports && mlxsw_sp->ports[local_port]) if (mlxsw_sp->ports && mlxsw_sp->ports[local_port])
return mlxsw_sp->ports[local_port]; return mlxsw_sp->ports[local_port];
return NULL; return NULL;
} }
static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u8 local_port, static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u16 local_port,
unsigned int count, unsigned int count,
struct netlink_ext_ack *extack) struct netlink_ext_ack *extack)
{ {
...@@ -2065,7 +2065,7 @@ static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2065,7 +2065,7 @@ static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u8 local_port,
port_mapping = mlxsw_sp_port->mapping; port_mapping = mlxsw_sp_port->mapping;
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
u8 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i); u16 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i);
if (mlxsw_sp_port_created(mlxsw_sp, s_local_port)) if (mlxsw_sp_port_created(mlxsw_sp, s_local_port))
mlxsw_sp_port_remove(mlxsw_sp, s_local_port); mlxsw_sp_port_remove(mlxsw_sp, s_local_port);
...@@ -2085,7 +2085,7 @@ static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2085,7 +2085,7 @@ static int mlxsw_sp_port_split(struct mlxsw_core *mlxsw_core, u8 local_port,
return err; return err;
} }
static int mlxsw_sp_port_unsplit(struct mlxsw_core *mlxsw_core, u8 local_port, static int mlxsw_sp_port_unsplit(struct mlxsw_core *mlxsw_core, u16 local_port,
struct netlink_ext_ack *extack) struct netlink_ext_ack *extack)
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
...@@ -2121,7 +2121,7 @@ static int mlxsw_sp_port_unsplit(struct mlxsw_core *mlxsw_core, u8 local_port, ...@@ -2121,7 +2121,7 @@ static int mlxsw_sp_port_unsplit(struct mlxsw_core *mlxsw_core, u8 local_port,
} }
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
u8 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i); u16 s_local_port = mlxsw_reg_pmtdb_port_num_get(pmtdb_pl, i);
if (mlxsw_sp_port_created(mlxsw_sp, s_local_port)) if (mlxsw_sp_port_created(mlxsw_sp, s_local_port))
mlxsw_sp_port_remove(mlxsw_sp, s_local_port); mlxsw_sp_port_remove(mlxsw_sp, s_local_port);
...@@ -2148,7 +2148,7 @@ static void mlxsw_sp_pude_event_func(const struct mlxsw_reg_info *reg, ...@@ -2148,7 +2148,7 @@ static void mlxsw_sp_pude_event_func(const struct mlxsw_reg_info *reg,
struct mlxsw_sp_port *mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port;
enum mlxsw_reg_pude_oper_status status; enum mlxsw_reg_pude_oper_status status;
unsigned int max_ports; unsigned int max_ports;
u8 local_port; u16 local_port;
max_ports = mlxsw_core_max_ports(mlxsw_sp->core); max_ports = mlxsw_core_max_ports(mlxsw_sp->core);
local_port = mlxsw_reg_pude_local_port_get(pude_pl); local_port = mlxsw_reg_pude_local_port_get(pude_pl);
...@@ -2174,7 +2174,7 @@ static void mlxsw_sp_pude_event_func(const struct mlxsw_reg_info *reg, ...@@ -2174,7 +2174,7 @@ static void mlxsw_sp_pude_event_func(const struct mlxsw_reg_info *reg,
static void mlxsw_sp1_ptp_fifo_event_func(struct mlxsw_sp *mlxsw_sp, static void mlxsw_sp1_ptp_fifo_event_func(struct mlxsw_sp *mlxsw_sp,
char *mtpptr_pl, bool ingress) char *mtpptr_pl, bool ingress)
{ {
u8 local_port; u16 local_port;
u8 num_rec; u8 num_rec;
int i; int i;
...@@ -2212,7 +2212,7 @@ static void mlxsw_sp1_ptp_egr_fifo_event_func(const struct mlxsw_reg_info *reg, ...@@ -2212,7 +2212,7 @@ static void mlxsw_sp1_ptp_egr_fifo_event_func(const struct mlxsw_reg_info *reg,
} }
void mlxsw_sp_rx_listener_no_mark_func(struct sk_buff *skb, void mlxsw_sp_rx_listener_no_mark_func(struct sk_buff *skb,
u8 local_port, void *priv) u16 local_port, void *priv)
{ {
struct mlxsw_sp *mlxsw_sp = priv; struct mlxsw_sp *mlxsw_sp = priv;
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp->ports[local_port]; struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp->ports[local_port];
...@@ -2236,7 +2236,7 @@ void mlxsw_sp_rx_listener_no_mark_func(struct sk_buff *skb, ...@@ -2236,7 +2236,7 @@ void mlxsw_sp_rx_listener_no_mark_func(struct sk_buff *skb,
netif_receive_skb(skb); netif_receive_skb(skb);
} }
static void mlxsw_sp_rx_listener_mark_func(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_listener_mark_func(struct sk_buff *skb, u16 local_port,
void *priv) void *priv)
{ {
skb->offload_fwd_mark = 1; skb->offload_fwd_mark = 1;
...@@ -2244,7 +2244,7 @@ static void mlxsw_sp_rx_listener_mark_func(struct sk_buff *skb, u8 local_port, ...@@ -2244,7 +2244,7 @@ static void mlxsw_sp_rx_listener_mark_func(struct sk_buff *skb, u8 local_port,
} }
static void mlxsw_sp_rx_listener_l3_mark_func(struct sk_buff *skb, static void mlxsw_sp_rx_listener_l3_mark_func(struct sk_buff *skb,
u8 local_port, void *priv) u16 local_port, void *priv)
{ {
skb->offload_l3_fwd_mark = 1; skb->offload_l3_fwd_mark = 1;
skb->offload_fwd_mark = 1; skb->offload_fwd_mark = 1;
...@@ -2252,7 +2252,7 @@ static void mlxsw_sp_rx_listener_l3_mark_func(struct sk_buff *skb, ...@@ -2252,7 +2252,7 @@ static void mlxsw_sp_rx_listener_l3_mark_func(struct sk_buff *skb,
} }
void mlxsw_sp_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, void mlxsw_sp_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
u8 local_port) u16 local_port)
{ {
mlxsw_sp->ptp_ops->receive(mlxsw_sp, skb, local_port); mlxsw_sp->ptp_ops->receive(mlxsw_sp, skb, local_port);
} }
...@@ -3486,7 +3486,7 @@ static void mlxsw_sp2_params_unregister(struct mlxsw_core *mlxsw_core) ...@@ -3486,7 +3486,7 @@ static void mlxsw_sp2_params_unregister(struct mlxsw_core *mlxsw_core)
} }
static void mlxsw_sp_ptp_transmitted(struct mlxsw_core *mlxsw_core, static void mlxsw_sp_ptp_transmitted(struct mlxsw_core *mlxsw_core,
struct sk_buff *skb, u8 local_port) struct sk_buff *skb, u16 local_port)
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
......
...@@ -217,13 +217,13 @@ struct mlxsw_sp_ptp_ops { ...@@ -217,13 +217,13 @@ struct mlxsw_sp_ptp_ops {
* is responsible for freeing the passed-in SKB. * is responsible for freeing the passed-in SKB.
*/ */
void (*receive)(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, void (*receive)(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
u8 local_port); u16 local_port);
/* Notify a driver that a timestamped packet was transmitted. Driver /* Notify a driver that a timestamped packet was transmitted. Driver
* is responsible for freeing the passed-in SKB. * is responsible for freeing the passed-in SKB.
*/ */
void (*transmitted)(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, void (*transmitted)(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
u8 local_port); u16 local_port);
int (*hwtstamp_get)(struct mlxsw_sp_port *mlxsw_sp_port, int (*hwtstamp_get)(struct mlxsw_sp_port *mlxsw_sp_port,
struct hwtstamp_config *config); struct hwtstamp_config *config);
...@@ -261,7 +261,7 @@ enum mlxsw_sp_sample_trigger_type { ...@@ -261,7 +261,7 @@ enum mlxsw_sp_sample_trigger_type {
struct mlxsw_sp_sample_trigger { struct mlxsw_sp_sample_trigger {
enum mlxsw_sp_sample_trigger_type type; enum mlxsw_sp_sample_trigger_type type;
u8 local_port; /* Reserved when trigger type is not ingress / egress. */ u16 local_port; /* Reserved when trigger type is not ingress / egress. */
}; };
struct mlxsw_sp_sample_params { struct mlxsw_sp_sample_params {
...@@ -308,7 +308,7 @@ struct mlxsw_sp_port { ...@@ -308,7 +308,7 @@ struct mlxsw_sp_port {
struct net_device *dev; struct net_device *dev;
struct mlxsw_sp_port_pcpu_stats __percpu *pcpu_stats; struct mlxsw_sp_port_pcpu_stats __percpu *pcpu_stats;
struct mlxsw_sp *mlxsw_sp; struct mlxsw_sp *mlxsw_sp;
u8 local_port; u16 local_port;
u8 lagged:1, u8 lagged:1,
split:1; split:1;
u16 pvid; u16 pvid;
...@@ -370,7 +370,7 @@ struct mlxsw_sp_port_type_speed_ops { ...@@ -370,7 +370,7 @@ struct mlxsw_sp_port_type_speed_ops {
u32 (*to_ptys_speed_lanes)(struct mlxsw_sp *mlxsw_sp, u8 width, u32 (*to_ptys_speed_lanes)(struct mlxsw_sp *mlxsw_sp, u8 width,
const struct ethtool_link_ksettings *cmd); const struct ethtool_link_ksettings *cmd);
void (*reg_ptys_eth_pack)(struct mlxsw_sp *mlxsw_sp, char *payload, void (*reg_ptys_eth_pack)(struct mlxsw_sp *mlxsw_sp, char *payload,
u8 local_port, u32 proto_admin, bool autoneg); u16 local_port, u32 proto_admin, bool autoneg);
void (*reg_ptys_eth_unpack)(struct mlxsw_sp *mlxsw_sp, char *payload, void (*reg_ptys_eth_unpack)(struct mlxsw_sp *mlxsw_sp, char *payload,
u32 *p_eth_proto_cap, u32 *p_eth_proto_cap,
u32 *p_eth_proto_admin, u32 *p_eth_proto_admin,
...@@ -441,7 +441,7 @@ static inline struct mlxsw_sp_port * ...@@ -441,7 +441,7 @@ static inline struct mlxsw_sp_port *
mlxsw_sp_port_lagged_get(struct mlxsw_sp *mlxsw_sp, u16 lag_id, u8 port_index) mlxsw_sp_port_lagged_get(struct mlxsw_sp *mlxsw_sp, u16 lag_id, u8 port_index)
{ {
struct mlxsw_sp_port *mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port;
u8 local_port; u16 local_port;
local_port = mlxsw_core_lag_mapping_get(mlxsw_sp->core, local_port = mlxsw_core_lag_mapping_get(mlxsw_sp->core,
lag_id, port_index); lag_id, port_index);
...@@ -621,9 +621,9 @@ extern struct notifier_block mlxsw_sp_switchdev_notifier; ...@@ -621,9 +621,9 @@ extern struct notifier_block mlxsw_sp_switchdev_notifier;
/* spectrum.c */ /* spectrum.c */
void mlxsw_sp_rx_listener_no_mark_func(struct sk_buff *skb, void mlxsw_sp_rx_listener_no_mark_func(struct sk_buff *skb,
u8 local_port, void *priv); u16 local_port, void *priv);
void mlxsw_sp_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, void mlxsw_sp_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
u8 local_port); u16 local_port);
int mlxsw_sp_port_speed_get(struct mlxsw_sp_port *mlxsw_sp_port, u32 *speed); int mlxsw_sp_port_speed_get(struct mlxsw_sp_port *mlxsw_sp_port, u32 *speed);
int mlxsw_sp_port_ets_set(struct mlxsw_sp_port *mlxsw_sp_port, int mlxsw_sp_port_ets_set(struct mlxsw_sp_port *mlxsw_sp_port,
enum mlxsw_reg_qeec_hr hr, u8 index, u8 next_index, enum mlxsw_reg_qeec_hr hr, u8 index, u8 next_index,
...@@ -729,7 +729,7 @@ void mlxsw_sp_rif_destroy_by_dev(struct mlxsw_sp *mlxsw_sp, ...@@ -729,7 +729,7 @@ void mlxsw_sp_rif_destroy_by_dev(struct mlxsw_sp *mlxsw_sp,
bool mlxsw_sp_rif_exists(struct mlxsw_sp *mlxsw_sp, bool mlxsw_sp_rif_exists(struct mlxsw_sp *mlxsw_sp,
const struct net_device *dev); const struct net_device *dev);
u16 mlxsw_sp_rif_vid(struct mlxsw_sp *mlxsw_sp, const struct net_device *dev); u16 mlxsw_sp_rif_vid(struct mlxsw_sp *mlxsw_sp, const struct net_device *dev);
u8 mlxsw_sp_router_port(const struct mlxsw_sp *mlxsw_sp); u16 mlxsw_sp_router_port(const struct mlxsw_sp *mlxsw_sp);
int mlxsw_sp_router_nve_promote_decap(struct mlxsw_sp *mlxsw_sp, u32 ul_tb_id, int mlxsw_sp_router_nve_promote_decap(struct mlxsw_sp *mlxsw_sp, u32 ul_tb_id,
enum mlxsw_sp_l3proto ul_proto, enum mlxsw_sp_l3proto ul_proto,
const union mlxsw_sp_l3addr *ul_sip, const union mlxsw_sp_l3addr *ul_sip,
...@@ -1222,7 +1222,7 @@ bool mlxsw_sp_fid_vni_is_set(const struct mlxsw_sp_fid *fid); ...@@ -1222,7 +1222,7 @@ bool mlxsw_sp_fid_vni_is_set(const struct mlxsw_sp_fid *fid);
void mlxsw_sp_fid_fdb_clear_offload(const struct mlxsw_sp_fid *fid, void mlxsw_sp_fid_fdb_clear_offload(const struct mlxsw_sp_fid *fid,
const struct net_device *nve_dev); const struct net_device *nve_dev);
int mlxsw_sp_fid_flood_set(struct mlxsw_sp_fid *fid, int mlxsw_sp_fid_flood_set(struct mlxsw_sp_fid *fid,
enum mlxsw_sp_flood_type packet_type, u8 local_port, enum mlxsw_sp_flood_type packet_type, u16 local_port,
bool member); bool member);
int mlxsw_sp_fid_port_vid_map(struct mlxsw_sp_fid *fid, int mlxsw_sp_fid_port_vid_map(struct mlxsw_sp_fid *fid,
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid); struct mlxsw_sp_port *mlxsw_sp_port, u16 vid);
......
...@@ -406,7 +406,7 @@ int mlxsw_sp_acl_rulei_act_fwd(struct mlxsw_sp *mlxsw_sp, ...@@ -406,7 +406,7 @@ int mlxsw_sp_acl_rulei_act_fwd(struct mlxsw_sp *mlxsw_sp,
struct netlink_ext_ack *extack) struct netlink_ext_ack *extack)
{ {
struct mlxsw_sp_port *mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port;
u8 local_port; u16 local_port;
bool in_port; bool in_port;
if (out_dev) { if (out_dev) {
......
...@@ -83,7 +83,7 @@ static int mlxsw_sp2_act_kvdl_set_activity_get(void *priv, u32 kvdl_index, ...@@ -83,7 +83,7 @@ static int mlxsw_sp2_act_kvdl_set_activity_get(void *priv, u32 kvdl_index,
} }
static int mlxsw_sp_act_kvdl_fwd_entry_add(void *priv, u32 *p_kvdl_index, static int mlxsw_sp_act_kvdl_fwd_entry_add(void *priv, u32 *p_kvdl_index,
u8 local_port) u16 local_port)
{ {
struct mlxsw_sp *mlxsw_sp = priv; struct mlxsw_sp *mlxsw_sp = priv;
char ppbs_pl[MLXSW_REG_PPBS_LEN]; char ppbs_pl[MLXSW_REG_PPBS_LEN];
...@@ -132,7 +132,7 @@ mlxsw_sp_act_counter_index_put(void *priv, unsigned int counter_index) ...@@ -132,7 +132,7 @@ mlxsw_sp_act_counter_index_put(void *priv, unsigned int counter_index)
} }
static int static int
mlxsw_sp_act_mirror_add(void *priv, u8 local_in_port, mlxsw_sp_act_mirror_add(void *priv, u16 local_in_port,
const struct net_device *out_dev, const struct net_device *out_dev,
bool ingress, int *p_span_id) bool ingress, int *p_span_id)
{ {
...@@ -159,7 +159,7 @@ mlxsw_sp_act_mirror_add(void *priv, u8 local_in_port, ...@@ -159,7 +159,7 @@ mlxsw_sp_act_mirror_add(void *priv, u8 local_in_port,
} }
static void static void
mlxsw_sp_act_mirror_del(void *priv, u8 local_in_port, int span_id, bool ingress) mlxsw_sp_act_mirror_del(void *priv, u16 local_in_port, int span_id, bool ingress)
{ {
struct mlxsw_sp_port *mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port;
struct mlxsw_sp *mlxsw_sp = priv; struct mlxsw_sp *mlxsw_sp = priv;
...@@ -192,7 +192,7 @@ static void mlxsw_sp_act_policer_del(void *priv, u16 policer_index) ...@@ -192,7 +192,7 @@ static void mlxsw_sp_act_policer_del(void *priv, u16 policer_index)
policer_index); policer_index);
} }
static int mlxsw_sp1_act_sampler_add(void *priv, u8 local_port, static int mlxsw_sp1_act_sampler_add(void *priv, u16 local_port,
struct psample_group *psample_group, struct psample_group *psample_group,
u32 rate, u32 trunc_size, bool truncate, u32 rate, u32 trunc_size, bool truncate,
bool ingress, int *p_span_id, bool ingress, int *p_span_id,
...@@ -202,7 +202,7 @@ static int mlxsw_sp1_act_sampler_add(void *priv, u8 local_port, ...@@ -202,7 +202,7 @@ static int mlxsw_sp1_act_sampler_add(void *priv, u8 local_port,
return -EOPNOTSUPP; return -EOPNOTSUPP;
} }
static void mlxsw_sp1_act_sampler_del(void *priv, u8 local_port, int span_id, static void mlxsw_sp1_act_sampler_del(void *priv, u16 local_port, int span_id,
bool ingress) bool ingress)
{ {
WARN_ON_ONCE(1); WARN_ON_ONCE(1);
...@@ -224,7 +224,7 @@ const struct mlxsw_afa_ops mlxsw_sp1_act_afa_ops = { ...@@ -224,7 +224,7 @@ const struct mlxsw_afa_ops mlxsw_sp1_act_afa_ops = {
.sampler_del = mlxsw_sp1_act_sampler_del, .sampler_del = mlxsw_sp1_act_sampler_del,
}; };
static int mlxsw_sp2_act_sampler_add(void *priv, u8 local_port, static int mlxsw_sp2_act_sampler_add(void *priv, u16 local_port,
struct psample_group *psample_group, struct psample_group *psample_group,
u32 rate, u32 trunc_size, bool truncate, u32 rate, u32 trunc_size, bool truncate,
bool ingress, int *p_span_id, bool ingress, int *p_span_id,
...@@ -272,7 +272,7 @@ static int mlxsw_sp2_act_sampler_add(void *priv, u8 local_port, ...@@ -272,7 +272,7 @@ static int mlxsw_sp2_act_sampler_add(void *priv, u8 local_port,
return err; return err;
} }
static void mlxsw_sp2_act_sampler_del(void *priv, u8 local_port, int span_id, static void mlxsw_sp2_act_sampler_del(void *priv, u16 local_port, int span_id,
bool ingress) bool ingress)
{ {
struct mlxsw_sp_sample_trigger trigger = { struct mlxsw_sp_sample_trigger trigger = {
......
...@@ -160,7 +160,7 @@ static bool mlxsw_sp_sb_cm_exists(u8 pg_buff, enum mlxsw_reg_sbxx_dir dir) ...@@ -160,7 +160,7 @@ static bool mlxsw_sp_sb_cm_exists(u8 pg_buff, enum mlxsw_reg_sbxx_dir dir)
} }
static struct mlxsw_sp_sb_cm *mlxsw_sp_sb_cm_get(struct mlxsw_sp *mlxsw_sp, static struct mlxsw_sp_sb_cm *mlxsw_sp_sb_cm_get(struct mlxsw_sp *mlxsw_sp,
u8 local_port, u8 pg_buff, u16 local_port, u8 pg_buff,
enum mlxsw_reg_sbxx_dir dir) enum mlxsw_reg_sbxx_dir dir)
{ {
struct mlxsw_sp_sb_port *sb_port = &mlxsw_sp->sb->ports[local_port]; struct mlxsw_sp_sb_port *sb_port = &mlxsw_sp->sb->ports[local_port];
...@@ -173,7 +173,7 @@ static struct mlxsw_sp_sb_cm *mlxsw_sp_sb_cm_get(struct mlxsw_sp *mlxsw_sp, ...@@ -173,7 +173,7 @@ static struct mlxsw_sp_sb_cm *mlxsw_sp_sb_cm_get(struct mlxsw_sp *mlxsw_sp,
} }
static struct mlxsw_sp_sb_pm *mlxsw_sp_sb_pm_get(struct mlxsw_sp *mlxsw_sp, static struct mlxsw_sp_sb_pm *mlxsw_sp_sb_pm_get(struct mlxsw_sp *mlxsw_sp,
u8 local_port, u16 pool_index) u16 local_port, u16 pool_index)
{ {
return &mlxsw_sp->sb->ports[local_port].pms[pool_index]; return &mlxsw_sp->sb->ports[local_port].pms[pool_index];
} }
...@@ -202,7 +202,7 @@ static int mlxsw_sp_sb_pr_write(struct mlxsw_sp *mlxsw_sp, u16 pool_index, ...@@ -202,7 +202,7 @@ static int mlxsw_sp_sb_pr_write(struct mlxsw_sp *mlxsw_sp, u16 pool_index,
return 0; return 0;
} }
static int mlxsw_sp_sb_cm_write(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int mlxsw_sp_sb_cm_write(struct mlxsw_sp *mlxsw_sp, u16 local_port,
u8 pg_buff, u32 min_buff, u32 max_buff, u8 pg_buff, u32 min_buff, u32 max_buff,
bool infi_max, u16 pool_index) bool infi_max, u16 pool_index)
{ {
...@@ -232,7 +232,7 @@ static int mlxsw_sp_sb_cm_write(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -232,7 +232,7 @@ static int mlxsw_sp_sb_cm_write(struct mlxsw_sp *mlxsw_sp, u8 local_port,
return 0; return 0;
} }
static int mlxsw_sp_sb_pm_write(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int mlxsw_sp_sb_pm_write(struct mlxsw_sp *mlxsw_sp, u16 local_port,
u16 pool_index, u32 min_buff, u32 max_buff) u16 pool_index, u32 min_buff, u32 max_buff)
{ {
const struct mlxsw_sp_sb_pool_des *des = const struct mlxsw_sp_sb_pool_des *des =
...@@ -253,7 +253,7 @@ static int mlxsw_sp_sb_pm_write(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -253,7 +253,7 @@ static int mlxsw_sp_sb_pm_write(struct mlxsw_sp *mlxsw_sp, u8 local_port,
return 0; return 0;
} }
static int mlxsw_sp_sb_pm_occ_clear(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int mlxsw_sp_sb_pm_occ_clear(struct mlxsw_sp *mlxsw_sp, u16 local_port,
u16 pool_index, struct list_head *bulk_list) u16 pool_index, struct list_head *bulk_list)
{ {
const struct mlxsw_sp_sb_pool_des *des = const struct mlxsw_sp_sb_pool_des *des =
...@@ -279,7 +279,7 @@ static void mlxsw_sp_sb_pm_occ_query_cb(struct mlxsw_core *mlxsw_core, ...@@ -279,7 +279,7 @@ static void mlxsw_sp_sb_pm_occ_query_cb(struct mlxsw_core *mlxsw_core,
mlxsw_reg_sbpm_unpack(sbpm_pl, &pm->occ.cur, &pm->occ.max); mlxsw_reg_sbpm_unpack(sbpm_pl, &pm->occ.cur, &pm->occ.max);
} }
static int mlxsw_sp_sb_pm_occ_query(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int mlxsw_sp_sb_pm_occ_query(struct mlxsw_sp *mlxsw_sp, u16 local_port,
u16 pool_index, struct list_head *bulk_list) u16 pool_index, struct list_head *bulk_list)
{ {
const struct mlxsw_sp_sb_pool_des *des = const struct mlxsw_sp_sb_pool_des *des =
...@@ -919,7 +919,7 @@ mlxsw_sp_sb_pool_is_static(struct mlxsw_sp *mlxsw_sp, u16 pool_index) ...@@ -919,7 +919,7 @@ mlxsw_sp_sb_pool_is_static(struct mlxsw_sp *mlxsw_sp, u16 pool_index)
return pr->mode == MLXSW_REG_SBPR_MODE_STATIC; return pr->mode == MLXSW_REG_SBPR_MODE_STATIC;
} }
static int __mlxsw_sp_sb_cms_init(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int __mlxsw_sp_sb_cms_init(struct mlxsw_sp *mlxsw_sp, u16 local_port,
enum mlxsw_reg_sbxx_dir dir, enum mlxsw_reg_sbxx_dir dir,
const struct mlxsw_sp_sb_cm *cms, const struct mlxsw_sp_sb_cm *cms,
size_t cms_len) size_t cms_len)
...@@ -1037,7 +1037,7 @@ static const struct mlxsw_sp_sb_pm mlxsw_sp_cpu_port_sb_pms[] = { ...@@ -1037,7 +1037,7 @@ static const struct mlxsw_sp_sb_pm mlxsw_sp_cpu_port_sb_pms[] = {
MLXSW_SP_SB_PM(0, MLXSW_REG_SBXX_DYN_MAX_BUFF_MAX), MLXSW_SP_SB_PM(0, MLXSW_REG_SBXX_DYN_MAX_BUFF_MAX),
}; };
static int mlxsw_sp_sb_pms_init(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int mlxsw_sp_sb_pms_init(struct mlxsw_sp *mlxsw_sp, u16 local_port,
const struct mlxsw_sp_sb_pm *pms, const struct mlxsw_sp_sb_pm *pms,
bool skip_ingress) bool skip_ingress)
{ {
...@@ -1416,7 +1416,7 @@ int mlxsw_sp_sb_port_pool_get(struct mlxsw_core_port *mlxsw_core_port, ...@@ -1416,7 +1416,7 @@ int mlxsw_sp_sb_port_pool_get(struct mlxsw_core_port *mlxsw_core_port,
struct mlxsw_sp_port *mlxsw_sp_port = struct mlxsw_sp_port *mlxsw_sp_port =
mlxsw_core_port_driver_priv(mlxsw_core_port); mlxsw_core_port_driver_priv(mlxsw_core_port);
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
struct mlxsw_sp_sb_pm *pm = mlxsw_sp_sb_pm_get(mlxsw_sp, local_port, struct mlxsw_sp_sb_pm *pm = mlxsw_sp_sb_pm_get(mlxsw_sp, local_port,
pool_index); pool_index);
...@@ -1432,7 +1432,7 @@ int mlxsw_sp_sb_port_pool_set(struct mlxsw_core_port *mlxsw_core_port, ...@@ -1432,7 +1432,7 @@ int mlxsw_sp_sb_port_pool_set(struct mlxsw_core_port *mlxsw_core_port,
struct mlxsw_sp_port *mlxsw_sp_port = struct mlxsw_sp_port *mlxsw_sp_port =
mlxsw_core_port_driver_priv(mlxsw_core_port); mlxsw_core_port_driver_priv(mlxsw_core_port);
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
u32 max_buff; u32 max_buff;
int err; int err;
...@@ -1458,7 +1458,7 @@ int mlxsw_sp_sb_tc_pool_bind_get(struct mlxsw_core_port *mlxsw_core_port, ...@@ -1458,7 +1458,7 @@ int mlxsw_sp_sb_tc_pool_bind_get(struct mlxsw_core_port *mlxsw_core_port,
struct mlxsw_sp_port *mlxsw_sp_port = struct mlxsw_sp_port *mlxsw_sp_port =
mlxsw_core_port_driver_priv(mlxsw_core_port); mlxsw_core_port_driver_priv(mlxsw_core_port);
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
u8 pg_buff = tc_index; u8 pg_buff = tc_index;
enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type; enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type;
struct mlxsw_sp_sb_cm *cm = mlxsw_sp_sb_cm_get(mlxsw_sp, local_port, struct mlxsw_sp_sb_cm *cm = mlxsw_sp_sb_cm_get(mlxsw_sp, local_port,
...@@ -1479,7 +1479,7 @@ int mlxsw_sp_sb_tc_pool_bind_set(struct mlxsw_core_port *mlxsw_core_port, ...@@ -1479,7 +1479,7 @@ int mlxsw_sp_sb_tc_pool_bind_set(struct mlxsw_core_port *mlxsw_core_port,
struct mlxsw_sp_port *mlxsw_sp_port = struct mlxsw_sp_port *mlxsw_sp_port =
mlxsw_core_port_driver_priv(mlxsw_core_port); mlxsw_core_port_driver_priv(mlxsw_core_port);
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
const struct mlxsw_sp_sb_cm *cm; const struct mlxsw_sp_sb_cm *cm;
u8 pg_buff = tc_index; u8 pg_buff = tc_index;
enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type; enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type;
...@@ -1526,7 +1526,7 @@ int mlxsw_sp_sb_tc_pool_bind_set(struct mlxsw_core_port *mlxsw_core_port, ...@@ -1526,7 +1526,7 @@ int mlxsw_sp_sb_tc_pool_bind_set(struct mlxsw_core_port *mlxsw_core_port,
struct mlxsw_sp_sb_sr_occ_query_cb_ctx { struct mlxsw_sp_sb_sr_occ_query_cb_ctx {
u8 masked_count; u8 masked_count;
u8 local_port_1; u16 local_port_1;
}; };
static void mlxsw_sp_sb_sr_occ_query_cb(struct mlxsw_core *mlxsw_core, static void mlxsw_sp_sb_sr_occ_query_cb(struct mlxsw_core *mlxsw_core,
...@@ -1536,7 +1536,7 @@ static void mlxsw_sp_sb_sr_occ_query_cb(struct mlxsw_core *mlxsw_core, ...@@ -1536,7 +1536,7 @@ static void mlxsw_sp_sb_sr_occ_query_cb(struct mlxsw_core *mlxsw_core,
struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core); struct mlxsw_sp *mlxsw_sp = mlxsw_core_driver_priv(mlxsw_core);
struct mlxsw_sp_sb_sr_occ_query_cb_ctx cb_ctx; struct mlxsw_sp_sb_sr_occ_query_cb_ctx cb_ctx;
u8 masked_count; u8 masked_count;
u8 local_port; u16 local_port;
int rec_index = 0; int rec_index = 0;
struct mlxsw_sp_sb_cm *cm; struct mlxsw_sp_sb_cm *cm;
int i; int i;
...@@ -1587,8 +1587,8 @@ int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core, ...@@ -1587,8 +1587,8 @@ int mlxsw_sp_sb_occ_snapshot(struct mlxsw_core *mlxsw_core,
LIST_HEAD(bulk_list); LIST_HEAD(bulk_list);
char *sbsr_pl; char *sbsr_pl;
u8 masked_count; u8 masked_count;
u8 local_port_1; u16 local_port_1;
u8 local_port; u16 local_port;
int i; int i;
int err; int err;
int err2; int err2;
...@@ -1654,7 +1654,7 @@ int mlxsw_sp_sb_occ_max_clear(struct mlxsw_core *mlxsw_core, ...@@ -1654,7 +1654,7 @@ int mlxsw_sp_sb_occ_max_clear(struct mlxsw_core *mlxsw_core,
LIST_HEAD(bulk_list); LIST_HEAD(bulk_list);
char *sbsr_pl; char *sbsr_pl;
unsigned int masked_count; unsigned int masked_count;
u8 local_port; u16 local_port;
int i; int i;
int err; int err;
int err2; int err2;
...@@ -1715,7 +1715,7 @@ int mlxsw_sp_sb_occ_port_pool_get(struct mlxsw_core_port *mlxsw_core_port, ...@@ -1715,7 +1715,7 @@ int mlxsw_sp_sb_occ_port_pool_get(struct mlxsw_core_port *mlxsw_core_port,
struct mlxsw_sp_port *mlxsw_sp_port = struct mlxsw_sp_port *mlxsw_sp_port =
mlxsw_core_port_driver_priv(mlxsw_core_port); mlxsw_core_port_driver_priv(mlxsw_core_port);
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
struct mlxsw_sp_sb_pm *pm = mlxsw_sp_sb_pm_get(mlxsw_sp, local_port, struct mlxsw_sp_sb_pm *pm = mlxsw_sp_sb_pm_get(mlxsw_sp, local_port,
pool_index); pool_index);
...@@ -1732,7 +1732,7 @@ int mlxsw_sp_sb_occ_tc_port_bind_get(struct mlxsw_core_port *mlxsw_core_port, ...@@ -1732,7 +1732,7 @@ int mlxsw_sp_sb_occ_tc_port_bind_get(struct mlxsw_core_port *mlxsw_core_port,
struct mlxsw_sp_port *mlxsw_sp_port = struct mlxsw_sp_port *mlxsw_sp_port =
mlxsw_core_port_driver_priv(mlxsw_core_port); mlxsw_core_port_driver_priv(mlxsw_core_port);
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
u8 pg_buff = tc_index; u8 pg_buff = tc_index;
enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type; enum mlxsw_reg_sbxx_dir dir = (enum mlxsw_reg_sbxx_dir) pool_type;
struct mlxsw_sp_sb_cm *cm = mlxsw_sp_sb_cm_get(mlxsw_sp, local_port, struct mlxsw_sp_sb_cm *cm = mlxsw_sp_sb_cm_get(mlxsw_sp, local_port,
......
...@@ -1491,7 +1491,7 @@ static u32 mlxsw_sp1_to_ptys_speed_lanes(struct mlxsw_sp *mlxsw_sp, u8 width, ...@@ -1491,7 +1491,7 @@ static u32 mlxsw_sp1_to_ptys_speed_lanes(struct mlxsw_sp *mlxsw_sp, u8 width,
static void static void
mlxsw_sp1_reg_ptys_eth_pack(struct mlxsw_sp *mlxsw_sp, char *payload, mlxsw_sp1_reg_ptys_eth_pack(struct mlxsw_sp *mlxsw_sp, char *payload,
u8 local_port, u32 proto_admin, bool autoneg) u16 local_port, u32 proto_admin, bool autoneg)
{ {
mlxsw_reg_ptys_eth_pack(payload, local_port, proto_admin, autoneg); mlxsw_reg_ptys_eth_pack(payload, local_port, proto_admin, autoneg);
} }
...@@ -1969,7 +1969,7 @@ static u32 mlxsw_sp2_to_ptys_speed_lanes(struct mlxsw_sp *mlxsw_sp, u8 width, ...@@ -1969,7 +1969,7 @@ static u32 mlxsw_sp2_to_ptys_speed_lanes(struct mlxsw_sp *mlxsw_sp, u8 width,
static void static void
mlxsw_sp2_reg_ptys_eth_pack(struct mlxsw_sp *mlxsw_sp, char *payload, mlxsw_sp2_reg_ptys_eth_pack(struct mlxsw_sp *mlxsw_sp, char *payload,
u8 local_port, u32 proto_admin, u16 local_port, u32 proto_admin,
bool autoneg) bool autoneg)
{ {
mlxsw_reg_ptys_ext_eth_pack(payload, local_port, proto_admin, autoneg); mlxsw_reg_ptys_ext_eth_pack(payload, local_port, proto_admin, autoneg);
......
...@@ -317,7 +317,7 @@ mlxsw_sp_fid_flood_table_lookup(const struct mlxsw_sp_fid *fid, ...@@ -317,7 +317,7 @@ mlxsw_sp_fid_flood_table_lookup(const struct mlxsw_sp_fid *fid,
} }
int mlxsw_sp_fid_flood_set(struct mlxsw_sp_fid *fid, int mlxsw_sp_fid_flood_set(struct mlxsw_sp_fid *fid,
enum mlxsw_sp_flood_type packet_type, u8 local_port, enum mlxsw_sp_flood_type packet_type, u16 local_port,
bool member) bool member)
{ {
struct mlxsw_sp_fid_family *fid_family = fid->fid_family; struct mlxsw_sp_fid_family *fid_family = fid->fid_family;
...@@ -439,7 +439,7 @@ static int mlxsw_sp_fid_vni_op(struct mlxsw_sp *mlxsw_sp, u16 fid_index, ...@@ -439,7 +439,7 @@ static int mlxsw_sp_fid_vni_op(struct mlxsw_sp *mlxsw_sp, u16 fid_index,
} }
static int __mlxsw_sp_fid_port_vid_map(struct mlxsw_sp *mlxsw_sp, u16 fid_index, static int __mlxsw_sp_fid_port_vid_map(struct mlxsw_sp *mlxsw_sp, u16 fid_index,
u8 local_port, u16 vid, bool valid) u16 local_port, u16 vid, bool valid)
{ {
enum mlxsw_reg_svfa_mt mt = MLXSW_REG_SVFA_MT_PORT_VID_TO_FID; enum mlxsw_reg_svfa_mt mt = MLXSW_REG_SVFA_MT_PORT_VID_TO_FID;
char svfa_pl[MLXSW_REG_SVFA_LEN]; char svfa_pl[MLXSW_REG_SVFA_LEN];
...@@ -573,7 +573,7 @@ static int mlxsw_sp_fid_8021d_port_vid_map(struct mlxsw_sp_fid *fid, ...@@ -573,7 +573,7 @@ static int mlxsw_sp_fid_8021d_port_vid_map(struct mlxsw_sp_fid *fid,
u16 vid) u16 vid)
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
int err; int err;
err = __mlxsw_sp_fid_port_vid_map(mlxsw_sp, fid->fid_index, err = __mlxsw_sp_fid_port_vid_map(mlxsw_sp, fid->fid_index,
...@@ -601,7 +601,7 @@ mlxsw_sp_fid_8021d_port_vid_unmap(struct mlxsw_sp_fid *fid, ...@@ -601,7 +601,7 @@ mlxsw_sp_fid_8021d_port_vid_unmap(struct mlxsw_sp_fid *fid,
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid) struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
if (mlxsw_sp->fid_core->port_fid_mappings[local_port] == 1) if (mlxsw_sp->fid_core->port_fid_mappings[local_port] == 1)
mlxsw_sp_port_vlan_mode_trans(mlxsw_sp_port); mlxsw_sp_port_vlan_mode_trans(mlxsw_sp_port);
...@@ -784,7 +784,7 @@ static int mlxsw_sp_fid_rfid_port_vid_map(struct mlxsw_sp_fid *fid, ...@@ -784,7 +784,7 @@ static int mlxsw_sp_fid_rfid_port_vid_map(struct mlxsw_sp_fid *fid,
u16 vid) u16 vid)
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
int err; int err;
/* We only need to transition the port to virtual mode since /* We only need to transition the port to virtual mode since
...@@ -808,7 +808,7 @@ mlxsw_sp_fid_rfid_port_vid_unmap(struct mlxsw_sp_fid *fid, ...@@ -808,7 +808,7 @@ mlxsw_sp_fid_rfid_port_vid_unmap(struct mlxsw_sp_fid *fid,
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid) struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
if (mlxsw_sp->fid_core->port_fid_mappings[local_port] == 1) if (mlxsw_sp->fid_core->port_fid_mappings[local_port] == 1)
mlxsw_sp_port_vlan_mode_trans(mlxsw_sp_port); mlxsw_sp_port_vlan_mode_trans(mlxsw_sp_port);
......
...@@ -36,7 +36,7 @@ struct mlxsw_sp_ptp_state { ...@@ -36,7 +36,7 @@ struct mlxsw_sp_ptp_state {
}; };
struct mlxsw_sp1_ptp_key { struct mlxsw_sp1_ptp_key {
u8 local_port; u16 local_port;
u8 message_type; u8 message_type;
u16 sequence_id; u16 sequence_id;
u8 domain_number; u8 domain_number;
...@@ -406,7 +406,7 @@ mlxsw_sp1_ptp_unmatched_remove(struct mlxsw_sp *mlxsw_sp, ...@@ -406,7 +406,7 @@ mlxsw_sp1_ptp_unmatched_remove(struct mlxsw_sp *mlxsw_sp,
* This case is similar to 2) above. * This case is similar to 2) above.
*/ */
static void mlxsw_sp1_ptp_packet_finish(struct mlxsw_sp *mlxsw_sp, static void mlxsw_sp1_ptp_packet_finish(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port, struct sk_buff *skb, u16 local_port,
bool ingress, bool ingress,
struct skb_shared_hwtstamps *hwtstamps) struct skb_shared_hwtstamps *hwtstamps)
{ {
...@@ -524,7 +524,7 @@ static void mlxsw_sp1_ptp_got_piece(struct mlxsw_sp *mlxsw_sp, ...@@ -524,7 +524,7 @@ static void mlxsw_sp1_ptp_got_piece(struct mlxsw_sp *mlxsw_sp,
} }
static void mlxsw_sp1_ptp_got_packet(struct mlxsw_sp *mlxsw_sp, static void mlxsw_sp1_ptp_got_packet(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port, struct sk_buff *skb, u16 local_port,
bool ingress) bool ingress)
{ {
struct mlxsw_sp_port *mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port;
...@@ -564,7 +564,7 @@ static void mlxsw_sp1_ptp_got_packet(struct mlxsw_sp *mlxsw_sp, ...@@ -564,7 +564,7 @@ static void mlxsw_sp1_ptp_got_packet(struct mlxsw_sp *mlxsw_sp,
} }
void mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress, void mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress,
u8 local_port, u8 message_type, u16 local_port, u8 message_type,
u8 domain_number, u16 sequence_id, u8 domain_number, u16 sequence_id,
u64 timestamp) u64 timestamp)
{ {
...@@ -599,14 +599,14 @@ void mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress, ...@@ -599,14 +599,14 @@ void mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress,
} }
void mlxsw_sp1_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, void mlxsw_sp1_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
u8 local_port) u16 local_port)
{ {
skb_reset_mac_header(skb); skb_reset_mac_header(skb);
mlxsw_sp1_ptp_got_packet(mlxsw_sp, skb, local_port, true); mlxsw_sp1_ptp_got_packet(mlxsw_sp, skb, local_port, true);
} }
void mlxsw_sp1_ptp_transmitted(struct mlxsw_sp *mlxsw_sp, void mlxsw_sp1_ptp_transmitted(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port) struct sk_buff *skb, u16 local_port)
{ {
mlxsw_sp1_ptp_got_packet(mlxsw_sp, skb, local_port, false); mlxsw_sp1_ptp_got_packet(mlxsw_sp, skb, local_port, false);
} }
......
...@@ -31,13 +31,13 @@ struct mlxsw_sp_ptp_state *mlxsw_sp1_ptp_init(struct mlxsw_sp *mlxsw_sp); ...@@ -31,13 +31,13 @@ struct mlxsw_sp_ptp_state *mlxsw_sp1_ptp_init(struct mlxsw_sp *mlxsw_sp);
void mlxsw_sp1_ptp_fini(struct mlxsw_sp_ptp_state *ptp_state); void mlxsw_sp1_ptp_fini(struct mlxsw_sp_ptp_state *ptp_state);
void mlxsw_sp1_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, void mlxsw_sp1_ptp_receive(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
u8 local_port); u16 local_port);
void mlxsw_sp1_ptp_transmitted(struct mlxsw_sp *mlxsw_sp, void mlxsw_sp1_ptp_transmitted(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port); struct sk_buff *skb, u16 local_port);
void mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress, void mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress,
u8 local_port, u8 message_type, u16 local_port, u8 message_type,
u8 domain_number, u16 sequence_id, u8 domain_number, u16 sequence_id,
u64 timestamp); u64 timestamp);
...@@ -80,20 +80,20 @@ static inline void mlxsw_sp1_ptp_fini(struct mlxsw_sp_ptp_state *ptp_state) ...@@ -80,20 +80,20 @@ static inline void mlxsw_sp1_ptp_fini(struct mlxsw_sp_ptp_state *ptp_state)
} }
static inline void mlxsw_sp1_ptp_receive(struct mlxsw_sp *mlxsw_sp, static inline void mlxsw_sp1_ptp_receive(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port) struct sk_buff *skb, u16 local_port)
{ {
mlxsw_sp_rx_listener_no_mark_func(skb, local_port, mlxsw_sp); mlxsw_sp_rx_listener_no_mark_func(skb, local_port, mlxsw_sp);
} }
static inline void mlxsw_sp1_ptp_transmitted(struct mlxsw_sp *mlxsw_sp, static inline void mlxsw_sp1_ptp_transmitted(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port) struct sk_buff *skb, u16 local_port)
{ {
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
} }
static inline void static inline void
mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress, mlxsw_sp1_ptp_got_timestamp(struct mlxsw_sp *mlxsw_sp, bool ingress,
u8 local_port, u8 message_type, u16 local_port, u8 message_type,
u8 domain_number, u8 domain_number,
u16 sequence_id, u64 timestamp) u16 sequence_id, u64 timestamp)
{ {
...@@ -159,13 +159,13 @@ static inline void mlxsw_sp2_ptp_fini(struct mlxsw_sp_ptp_state *ptp_state) ...@@ -159,13 +159,13 @@ static inline void mlxsw_sp2_ptp_fini(struct mlxsw_sp_ptp_state *ptp_state)
} }
static inline void mlxsw_sp2_ptp_receive(struct mlxsw_sp *mlxsw_sp, static inline void mlxsw_sp2_ptp_receive(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port) struct sk_buff *skb, u16 local_port)
{ {
mlxsw_sp_rx_listener_no_mark_func(skb, local_port, mlxsw_sp); mlxsw_sp_rx_listener_no_mark_func(skb, local_port, mlxsw_sp);
} }
static inline void mlxsw_sp2_ptp_transmitted(struct mlxsw_sp *mlxsw_sp, static inline void mlxsw_sp2_ptp_transmitted(struct mlxsw_sp *mlxsw_sp,
struct sk_buff *skb, u8 local_port) struct sk_buff *skb, u16 local_port)
{ {
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
} }
......
...@@ -9340,7 +9340,7 @@ static int mlxsw_sp_rif_vlan_fid_op(struct mlxsw_sp_rif *rif, ...@@ -9340,7 +9340,7 @@ static int mlxsw_sp_rif_vlan_fid_op(struct mlxsw_sp_rif *rif,
return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(ritr), ritr_pl); return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(ritr), ritr_pl);
} }
u8 mlxsw_sp_router_port(const struct mlxsw_sp *mlxsw_sp) u16 mlxsw_sp_router_port(const struct mlxsw_sp *mlxsw_sp)
{ {
return mlxsw_core_max_ports(mlxsw_sp->core) + 1; return mlxsw_core_max_ports(mlxsw_sp->core) + 1;
} }
......
...@@ -37,7 +37,7 @@ struct mlxsw_sp_span { ...@@ -37,7 +37,7 @@ struct mlxsw_sp_span {
struct mlxsw_sp_span_analyzed_port { struct mlxsw_sp_span_analyzed_port {
struct list_head list; /* Member of analyzed_ports_list */ struct list_head list; /* Member of analyzed_ports_list */
refcount_t ref_count; refcount_t ref_count;
u8 local_port; u16 local_port;
bool ingress; bool ingress;
}; };
...@@ -46,7 +46,7 @@ struct mlxsw_sp_span_trigger_entry { ...@@ -46,7 +46,7 @@ struct mlxsw_sp_span_trigger_entry {
struct mlxsw_sp_span *span; struct mlxsw_sp_span *span;
const struct mlxsw_sp_span_trigger_ops *ops; const struct mlxsw_sp_span_trigger_ops *ops;
refcount_t ref_count; refcount_t ref_count;
u8 local_port; u16 local_port;
enum mlxsw_sp_span_trigger trigger; enum mlxsw_sp_span_trigger trigger;
struct mlxsw_sp_span_trigger_parms parms; struct mlxsw_sp_span_trigger_parms parms;
}; };
...@@ -179,7 +179,7 @@ mlxsw_sp_span_entry_phys_configure(struct mlxsw_sp_span_entry *span_entry, ...@@ -179,7 +179,7 @@ mlxsw_sp_span_entry_phys_configure(struct mlxsw_sp_span_entry *span_entry,
{ {
struct mlxsw_sp_port *dest_port = sparms.dest_port; struct mlxsw_sp_port *dest_port = sparms.dest_port;
struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp;
u8 local_port = dest_port->local_port; u16 local_port = dest_port->local_port;
char mpat_pl[MLXSW_REG_MPAT_LEN]; char mpat_pl[MLXSW_REG_MPAT_LEN];
int pa_id = span_entry->id; int pa_id = span_entry->id;
...@@ -199,7 +199,7 @@ mlxsw_sp_span_entry_deconfigure_common(struct mlxsw_sp_span_entry *span_entry, ...@@ -199,7 +199,7 @@ mlxsw_sp_span_entry_deconfigure_common(struct mlxsw_sp_span_entry *span_entry,
{ {
struct mlxsw_sp_port *dest_port = span_entry->parms.dest_port; struct mlxsw_sp_port *dest_port = span_entry->parms.dest_port;
struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp;
u8 local_port = dest_port->local_port; u16 local_port = dest_port->local_port;
char mpat_pl[MLXSW_REG_MPAT_LEN]; char mpat_pl[MLXSW_REG_MPAT_LEN];
int pa_id = span_entry->id; int pa_id = span_entry->id;
...@@ -480,7 +480,7 @@ mlxsw_sp_span_entry_gretap4_configure(struct mlxsw_sp_span_entry *span_entry, ...@@ -480,7 +480,7 @@ mlxsw_sp_span_entry_gretap4_configure(struct mlxsw_sp_span_entry *span_entry,
{ {
struct mlxsw_sp_port *dest_port = sparms.dest_port; struct mlxsw_sp_port *dest_port = sparms.dest_port;
struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp;
u8 local_port = dest_port->local_port; u16 local_port = dest_port->local_port;
char mpat_pl[MLXSW_REG_MPAT_LEN]; char mpat_pl[MLXSW_REG_MPAT_LEN];
int pa_id = span_entry->id; int pa_id = span_entry->id;
...@@ -584,7 +584,7 @@ mlxsw_sp_span_entry_gretap6_configure(struct mlxsw_sp_span_entry *span_entry, ...@@ -584,7 +584,7 @@ mlxsw_sp_span_entry_gretap6_configure(struct mlxsw_sp_span_entry *span_entry,
{ {
struct mlxsw_sp_port *dest_port = sparms.dest_port; struct mlxsw_sp_port *dest_port = sparms.dest_port;
struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp;
u8 local_port = dest_port->local_port; u16 local_port = dest_port->local_port;
char mpat_pl[MLXSW_REG_MPAT_LEN]; char mpat_pl[MLXSW_REG_MPAT_LEN];
int pa_id = span_entry->id; int pa_id = span_entry->id;
...@@ -650,7 +650,7 @@ mlxsw_sp_span_entry_vlan_configure(struct mlxsw_sp_span_entry *span_entry, ...@@ -650,7 +650,7 @@ mlxsw_sp_span_entry_vlan_configure(struct mlxsw_sp_span_entry *span_entry,
{ {
struct mlxsw_sp_port *dest_port = sparms.dest_port; struct mlxsw_sp_port *dest_port = sparms.dest_port;
struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = dest_port->mlxsw_sp;
u8 local_port = dest_port->local_port; u16 local_port = dest_port->local_port;
char mpat_pl[MLXSW_REG_MPAT_LEN]; char mpat_pl[MLXSW_REG_MPAT_LEN];
int pa_id = span_entry->id; int pa_id = span_entry->id;
...@@ -997,7 +997,7 @@ static void mlxsw_sp_span_port_buffer_disable(struct mlxsw_sp_port *mlxsw_sp_por ...@@ -997,7 +997,7 @@ static void mlxsw_sp_span_port_buffer_disable(struct mlxsw_sp_port *mlxsw_sp_por
} }
static struct mlxsw_sp_span_analyzed_port * static struct mlxsw_sp_span_analyzed_port *
mlxsw_sp_span_analyzed_port_find(struct mlxsw_sp_span *span, u8 local_port, mlxsw_sp_span_analyzed_port_find(struct mlxsw_sp_span *span, u16 local_port,
bool ingress) bool ingress)
{ {
struct mlxsw_sp_span_analyzed_port *analyzed_port; struct mlxsw_sp_span_analyzed_port *analyzed_port;
...@@ -1165,7 +1165,7 @@ int mlxsw_sp_span_analyzed_port_get(struct mlxsw_sp_port *mlxsw_sp_port, ...@@ -1165,7 +1165,7 @@ int mlxsw_sp_span_analyzed_port_get(struct mlxsw_sp_port *mlxsw_sp_port,
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
struct mlxsw_sp_span_analyzed_port *analyzed_port; struct mlxsw_sp_span_analyzed_port *analyzed_port;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
int err = 0; int err = 0;
mutex_lock(&mlxsw_sp->span->analyzed_ports_lock); mutex_lock(&mlxsw_sp->span->analyzed_ports_lock);
...@@ -1193,7 +1193,7 @@ void mlxsw_sp_span_analyzed_port_put(struct mlxsw_sp_port *mlxsw_sp_port, ...@@ -1193,7 +1193,7 @@ void mlxsw_sp_span_analyzed_port_put(struct mlxsw_sp_port *mlxsw_sp_port,
{ {
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
struct mlxsw_sp_span_analyzed_port *analyzed_port; struct mlxsw_sp_span_analyzed_port *analyzed_port;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
mutex_lock(&mlxsw_sp->span->analyzed_ports_lock); mutex_lock(&mlxsw_sp->span->analyzed_ports_lock);
......
...@@ -980,7 +980,7 @@ mlxsw_sp_port_vlan_fid_join(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan, ...@@ -980,7 +980,7 @@ mlxsw_sp_port_vlan_fid_join(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan,
{ {
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
struct mlxsw_sp_bridge_device *bridge_device; struct mlxsw_sp_bridge_device *bridge_device;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
u16 vid = mlxsw_sp_port_vlan->vid; u16 vid = mlxsw_sp_port_vlan->vid;
struct mlxsw_sp_fid *fid; struct mlxsw_sp_fid *fid;
int err; int err;
...@@ -1029,7 +1029,7 @@ mlxsw_sp_port_vlan_fid_leave(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan) ...@@ -1029,7 +1029,7 @@ mlxsw_sp_port_vlan_fid_leave(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan)
{ {
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
struct mlxsw_sp_fid *fid = mlxsw_sp_port_vlan->fid; struct mlxsw_sp_fid *fid = mlxsw_sp_port_vlan->fid;
u8 local_port = mlxsw_sp_port->local_port; u16 local_port = mlxsw_sp_port->local_port;
u16 vid = mlxsw_sp_port_vlan->vid; u16 vid = mlxsw_sp_port_vlan->vid;
mlxsw_sp_port_vlan->fid = NULL; mlxsw_sp_port_vlan->fid = NULL;
...@@ -1335,7 +1335,7 @@ static int mlxsw_sp_port_fdb_tunnel_uc_op(struct mlxsw_sp *mlxsw_sp, ...@@ -1335,7 +1335,7 @@ static int mlxsw_sp_port_fdb_tunnel_uc_op(struct mlxsw_sp *mlxsw_sp,
return err; return err;
} }
static int __mlxsw_sp_port_fdb_uc_op(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int __mlxsw_sp_port_fdb_uc_op(struct mlxsw_sp *mlxsw_sp, u16 local_port,
const char *mac, u16 fid, bool adding, const char *mac, u16 fid, bool adding,
enum mlxsw_reg_sfd_rec_action action, enum mlxsw_reg_sfd_rec_action action,
enum mlxsw_reg_sfd_rec_policy policy) enum mlxsw_reg_sfd_rec_policy policy)
...@@ -1363,7 +1363,7 @@ static int __mlxsw_sp_port_fdb_uc_op(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -1363,7 +1363,7 @@ static int __mlxsw_sp_port_fdb_uc_op(struct mlxsw_sp *mlxsw_sp, u8 local_port,
return err; return err;
} }
static int mlxsw_sp_port_fdb_uc_op(struct mlxsw_sp *mlxsw_sp, u8 local_port, static int mlxsw_sp_port_fdb_uc_op(struct mlxsw_sp *mlxsw_sp, u16 local_port,
const char *mac, u16 fid, bool adding, const char *mac, u16 fid, bool adding,
bool dynamic) bool dynamic)
{ {
...@@ -2536,7 +2536,7 @@ static void mlxsw_sp_fdb_notify_mac_process(struct mlxsw_sp *mlxsw_sp, ...@@ -2536,7 +2536,7 @@ static void mlxsw_sp_fdb_notify_mac_process(struct mlxsw_sp *mlxsw_sp,
struct mlxsw_sp_port *mlxsw_sp_port; struct mlxsw_sp_port *mlxsw_sp_port;
enum switchdev_notifier_type type; enum switchdev_notifier_type type;
char mac[ETH_ALEN]; char mac[ETH_ALEN];
u8 local_port; u16 local_port;
u16 vid, fid; u16 vid, fid;
bool do_notification = true; bool do_notification = true;
int err; int err;
......
...@@ -60,7 +60,7 @@ enum { ...@@ -60,7 +60,7 @@ enum {
}; };
static int mlxsw_sp_rx_listener(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, static int mlxsw_sp_rx_listener(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
u8 local_port, u16 local_port,
struct mlxsw_sp_port *mlxsw_sp_port) struct mlxsw_sp_port *mlxsw_sp_port)
{ {
struct mlxsw_sp_port_pcpu_stats *pcpu_stats; struct mlxsw_sp_port_pcpu_stats *pcpu_stats;
...@@ -85,7 +85,7 @@ static int mlxsw_sp_rx_listener(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb, ...@@ -85,7 +85,7 @@ static int mlxsw_sp_rx_listener(struct mlxsw_sp *mlxsw_sp, struct sk_buff *skb,
return 0; return 0;
} }
static void mlxsw_sp_rx_drop_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_drop_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
struct devlink_port *in_devlink_port; struct devlink_port *in_devlink_port;
...@@ -109,7 +109,7 @@ static void mlxsw_sp_rx_drop_listener(struct sk_buff *skb, u8 local_port, ...@@ -109,7 +109,7 @@ static void mlxsw_sp_rx_drop_listener(struct sk_buff *skb, u8 local_port,
consume_skb(skb); consume_skb(skb);
} }
static void mlxsw_sp_rx_acl_drop_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_acl_drop_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
u32 cookie_index = mlxsw_skb_cb(skb)->rx_md_info.cookie_index; u32 cookie_index = mlxsw_skb_cb(skb)->rx_md_info.cookie_index;
...@@ -138,7 +138,7 @@ static void mlxsw_sp_rx_acl_drop_listener(struct sk_buff *skb, u8 local_port, ...@@ -138,7 +138,7 @@ static void mlxsw_sp_rx_acl_drop_listener(struct sk_buff *skb, u8 local_port,
consume_skb(skb); consume_skb(skb);
} }
static int __mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u8 local_port, static int __mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
struct devlink_port *in_devlink_port; struct devlink_port *in_devlink_port;
...@@ -164,7 +164,7 @@ static int __mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u8 local_port, ...@@ -164,7 +164,7 @@ static int __mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u8 local_port,
return 0; return 0;
} }
static void mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
int err; int err;
...@@ -176,14 +176,14 @@ static void mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u8 local_port, ...@@ -176,14 +176,14 @@ static void mlxsw_sp_rx_no_mark_listener(struct sk_buff *skb, u8 local_port,
netif_receive_skb(skb); netif_receive_skb(skb);
} }
static void mlxsw_sp_rx_mark_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_mark_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
skb->offload_fwd_mark = 1; skb->offload_fwd_mark = 1;
mlxsw_sp_rx_no_mark_listener(skb, local_port, trap_ctx); mlxsw_sp_rx_no_mark_listener(skb, local_port, trap_ctx);
} }
static void mlxsw_sp_rx_l3_mark_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_l3_mark_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
skb->offload_l3_fwd_mark = 1; skb->offload_l3_fwd_mark = 1;
...@@ -191,7 +191,7 @@ static void mlxsw_sp_rx_l3_mark_listener(struct sk_buff *skb, u8 local_port, ...@@ -191,7 +191,7 @@ static void mlxsw_sp_rx_l3_mark_listener(struct sk_buff *skb, u8 local_port,
mlxsw_sp_rx_no_mark_listener(skb, local_port, trap_ctx); mlxsw_sp_rx_no_mark_listener(skb, local_port, trap_ctx);
} }
static void mlxsw_sp_rx_ptp_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_ptp_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
struct mlxsw_sp *mlxsw_sp = devlink_trap_ctx_priv(trap_ctx); struct mlxsw_sp *mlxsw_sp = devlink_trap_ctx_priv(trap_ctx);
...@@ -212,7 +212,7 @@ static struct mlxsw_sp_port * ...@@ -212,7 +212,7 @@ static struct mlxsw_sp_port *
mlxsw_sp_sample_tx_port_get(struct mlxsw_sp *mlxsw_sp, mlxsw_sp_sample_tx_port_get(struct mlxsw_sp *mlxsw_sp,
const struct mlxsw_rx_md_info *rx_md_info) const struct mlxsw_rx_md_info *rx_md_info)
{ {
u8 local_port; u16 local_port;
if (!rx_md_info->tx_port_valid) if (!rx_md_info->tx_port_valid)
return NULL; return NULL;
...@@ -257,7 +257,7 @@ static void mlxsw_sp_psample_md_init(struct mlxsw_sp *mlxsw_sp, ...@@ -257,7 +257,7 @@ static void mlxsw_sp_psample_md_init(struct mlxsw_sp *mlxsw_sp,
md->latency <<= MLXSW_SP_MIRROR_LATENCY_SHIFT; md->latency <<= MLXSW_SP_MIRROR_LATENCY_SHIFT;
} }
static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
struct mlxsw_sp *mlxsw_sp = devlink_trap_ctx_priv(trap_ctx); struct mlxsw_sp *mlxsw_sp = devlink_trap_ctx_priv(trap_ctx);
...@@ -293,7 +293,7 @@ static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u8 local_port, ...@@ -293,7 +293,7 @@ static void mlxsw_sp_rx_sample_listener(struct sk_buff *skb, u8 local_port,
consume_skb(skb); consume_skb(skb);
} }
static void mlxsw_sp_rx_sample_tx_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_sample_tx_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
struct mlxsw_rx_md_info *rx_md_info = &mlxsw_skb_cb(skb)->rx_md_info; struct mlxsw_rx_md_info *rx_md_info = &mlxsw_skb_cb(skb)->rx_md_info;
...@@ -343,7 +343,7 @@ static void mlxsw_sp_rx_sample_tx_listener(struct sk_buff *skb, u8 local_port, ...@@ -343,7 +343,7 @@ static void mlxsw_sp_rx_sample_tx_listener(struct sk_buff *skb, u8 local_port,
consume_skb(skb); consume_skb(skb);
} }
static void mlxsw_sp_rx_sample_acl_listener(struct sk_buff *skb, u8 local_port, static void mlxsw_sp_rx_sample_acl_listener(struct sk_buff *skb, u16 local_port,
void *trap_ctx) void *trap_ctx)
{ {
struct mlxsw_sp *mlxsw_sp = devlink_trap_ctx_priv(trap_ctx); struct mlxsw_sp *mlxsw_sp = devlink_trap_ctx_priv(trap_ctx);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment