Lines Matching refs:policer

33 				   struct mlxsw_sp_policer *policer);
37 const struct mlxsw_sp_policer *policer);
117 struct mlxsw_sp_policer *policer) in mlxsw_sp_policer_single_rate_index_alloc() argument
122 id = idr_alloc(&family->policer_idr, policer, family->start_index, in mlxsw_sp_policer_single_rate_index_alloc()
130 policer->index = id; in mlxsw_sp_policer_single_rate_index_alloc()
139 struct mlxsw_sp_policer *policer; in mlxsw_sp_policer_single_rate_index_free() local
144 policer = idr_remove(&family->policer_idr, policer_index); in mlxsw_sp_policer_single_rate_index_free()
147 WARN_ON(!policer); in mlxsw_sp_policer_single_rate_index_free()
149 return policer; in mlxsw_sp_policer_single_rate_index_free()
154 const struct mlxsw_sp_policer *policer) in mlxsw_sp_policer_single_rate_init() argument
156 u64 rate_kbps = mlxsw_sp_policer_rate_bytes_ps_kbps(policer->params.rate); in mlxsw_sp_policer_single_rate_init()
157 u8 bs = mlxsw_sp_policer_burst_bytes_hw_units(policer->params.burst); in mlxsw_sp_policer_single_rate_init()
161 mlxsw_reg_qpcr_pack(qpcr_pl, policer->index, MLXSW_REG_QPCR_IR_UNITS_K, in mlxsw_sp_policer_single_rate_init()
237 struct mlxsw_sp_policer *policer; in mlxsw_sp_policer_add() local
246 policer = kmalloc(sizeof(*policer), GFP_KERNEL); in mlxsw_sp_policer_add()
247 if (!policer) in mlxsw_sp_policer_add()
249 policer->params = *params; in mlxsw_sp_policer_add()
251 err = family->ops->policer_index_alloc(family, policer); in mlxsw_sp_policer_add()
257 err = family->ops->policer_init(family, policer); in mlxsw_sp_policer_add()
263 *p_policer_index = policer->index; in mlxsw_sp_policer_add()
268 family->ops->policer_index_free(family, policer->index); in mlxsw_sp_policer_add()
270 kfree(policer); in mlxsw_sp_policer_add()
278 struct mlxsw_sp_policer *policer; in mlxsw_sp_policer_del() local
281 policer = family->ops->policer_index_free(family, policer_index); in mlxsw_sp_policer_del()
282 kfree(policer); in mlxsw_sp_policer_del()