Lines Matching refs:ent
180 struct id_map_entry *ent = container_of(delay, struct id_map_entry, timeout);
182 struct mlx4_ib_dev *dev = ent->dev;
187 if (!xa_erase(&sriov->pv_id_table, ent->pv_cm_id))
189 found_ent = id_map_find_by_sl_id(&dev->ib_dev, ent->slave_id, ent->sl_cm_id);
190 if (found_ent && found_ent == ent)
194 list_del(&ent->list);
196 kfree(ent);
203 struct id_map_entry *ent;
207 ent = id_map_find_by_sl_id(ibdev, slave_id, sl_cm_id);
208 if (ent) {
212 rb_replace_node(&ent->node, &new->node, sl_id_map);
219 ent = rb_entry(parent, struct id_map_entry, node);
221 if (ent->sl_cm_id > sl_cm_id || (ent->sl_cm_id == sl_cm_id && ent->slave_id > slave_id))
235 struct id_map_entry *ent;
238 ent = kmalloc(sizeof (struct id_map_entry), GFP_KERNEL);
239 if (!ent)
242 ent->sl_cm_id = sl_cm_id;
243 ent->slave_id = slave_id;
244 ent->scheduled_delete = 0;
245 ent->dev = to_mdev(ibdev);
246 INIT_DELAYED_WORK(&ent->timeout, id_map_ent_timeout);
248 ret = xa_alloc_cyclic(&sriov->pv_id_table, &ent->pv_cm_id, ent,
252 sl_id_map_add(ibdev, ent);
253 list_add_tail(&ent->list, &sriov->cm_list);
255 return ent;
259 kfree(ent);
267 struct id_map_entry *ent;
272 ent = id_map_find_by_sl_id(ibdev, slave_id, sl_cm_id);
273 if (ent)
274 *pv_cm_id = (int) ent->pv_cm_id;
276 ent = xa_load(&sriov->pv_id_table, *pv_cm_id);
279 return ent;
550 struct id_map_entry *ent =
554 rb_erase(&ent->node, sl_id_map);
555 xa_erase(&sriov->pv_id_table, ent->pv_cm_id);
562 struct id_map_entry *ent =
565 if (ent->slave_id == slave)
566 list_move_tail(&ent->list, &lh);