Lines Matching refs:mlxsw_sp_port
26 mlxsw_sp_mall_port_mirror_add(struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_mirror_add() argument
30 struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; in mlxsw_sp_mall_port_mirror_add()
49 err = mlxsw_sp_span_analyzed_port_get(mlxsw_sp_port, in mlxsw_sp_mall_port_mirror_add()
60 err = mlxsw_sp_span_agent_bind(mlxsw_sp, trigger, mlxsw_sp_port, in mlxsw_sp_mall_port_mirror_add()
70 mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress); in mlxsw_sp_mall_port_mirror_add()
77 mlxsw_sp_mall_port_mirror_del(struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_mirror_del() argument
80 struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; in mlxsw_sp_mall_port_mirror_del()
87 mlxsw_sp_span_agent_unbind(mlxsw_sp, trigger, mlxsw_sp_port, &parms); in mlxsw_sp_mall_port_mirror_del()
88 mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress); in mlxsw_sp_mall_port_mirror_del()
92 static int mlxsw_sp_mall_port_sample_set(struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_sample_set() argument
95 struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; in mlxsw_sp_mall_port_sample_set()
98 mlxsw_reg_mpsc_pack(mpsc_pl, mlxsw_sp_port->local_port, enable, rate); in mlxsw_sp_mall_port_sample_set()
103 mlxsw_sp_mall_port_sample_add(struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_sample_add() argument
107 struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; in mlxsw_sp_mall_port_sample_add()
115 trigger.local_port = mlxsw_sp_port->local_port; in mlxsw_sp_mall_port_sample_add()
122 err = mlxsw_sp->mall_ops->sample_add(mlxsw_sp, mlxsw_sp_port, in mlxsw_sp_mall_port_sample_add()
134 mlxsw_sp_mall_port_sample_del(struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_sample_del() argument
137 struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; in mlxsw_sp_mall_port_sample_del()
144 trigger.local_port = mlxsw_sp_port->local_port; in mlxsw_sp_mall_port_sample_del()
146 mlxsw_sp->mall_ops->sample_del(mlxsw_sp, mlxsw_sp_port, mall_entry); in mlxsw_sp_mall_port_sample_del()
151 mlxsw_sp_mall_port_rule_add(struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_rule_add() argument
157 return mlxsw_sp_mall_port_mirror_add(mlxsw_sp_port, mall_entry, in mlxsw_sp_mall_port_rule_add()
160 return mlxsw_sp_mall_port_sample_add(mlxsw_sp_port, mall_entry, in mlxsw_sp_mall_port_rule_add()
169 mlxsw_sp_mall_port_rule_del(struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_rule_del() argument
174 mlxsw_sp_mall_port_mirror_del(mlxsw_sp_port, mall_entry); in mlxsw_sp_mall_port_rule_del()
177 mlxsw_sp_mall_port_sample_del(mlxsw_sp_port, mall_entry); in mlxsw_sp_mall_port_rule_del()
286 err = mlxsw_sp_mall_port_rule_add(binding->mlxsw_sp_port, in mlxsw_sp_mall_replace()
304 mlxsw_sp_mall_port_rule_del(binding->mlxsw_sp_port, mall_entry); in mlxsw_sp_mall_replace()
329 mlxsw_sp_mall_port_rule_del(binding->mlxsw_sp_port, mall_entry); in mlxsw_sp_mall_destroy()
335 struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp_mall_port_bind() argument
342 err = mlxsw_sp_mall_port_rule_add(mlxsw_sp_port, mall_entry, in mlxsw_sp_mall_port_bind()
352 mlxsw_sp_mall_port_rule_del(mlxsw_sp_port, mall_entry); in mlxsw_sp_mall_port_bind()
357 struct mlxsw_sp_port *mlxsw_sp_port) in mlxsw_sp_mall_port_unbind() argument
362 mlxsw_sp_mall_port_rule_del(mlxsw_sp_port, mall_entry); in mlxsw_sp_mall_port_unbind()
380 struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp1_mall_sample_add() argument
396 return mlxsw_sp_mall_port_sample_set(mlxsw_sp_port, true, rate); in mlxsw_sp1_mall_sample_add()
400 struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp1_mall_sample_del() argument
403 mlxsw_sp_mall_port_sample_set(mlxsw_sp_port, false, 1); in mlxsw_sp1_mall_sample_del()
412 struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp2_mall_sample_add() argument
432 err = mlxsw_sp_span_analyzed_port_get(mlxsw_sp_port, in mlxsw_sp2_mall_sample_add()
443 err = mlxsw_sp_span_agent_bind(mlxsw_sp, span_trigger, mlxsw_sp_port, in mlxsw_sp2_mall_sample_add()
453 mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress); in mlxsw_sp2_mall_sample_add()
460 struct mlxsw_sp_port *mlxsw_sp_port, in mlxsw_sp2_mall_sample_del() argument
469 mlxsw_sp_span_agent_unbind(mlxsw_sp, span_trigger, mlxsw_sp_port, in mlxsw_sp2_mall_sample_del()
471 mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress); in mlxsw_sp2_mall_sample_del()