Lines Matching refs:entry
144 * Add new entry to steering data structure.
192 * steering entry, as they should also receive the packets
220 /* update the qps count and update the entry with all the promisc qps*/
238 /* update the data structures with existing steering entry */
244 struct mlx4_steer_index *tmp_entry, *entry = NULL;
259 entry = tmp_entry;
263 if (unlikely(!entry)) {
264 mlx4_warn(dev, "Steering entry at index %x is not registered\n", index);
269 * we need to add it as a duplicate to this entry
271 list_for_each_entry(dqp, &entry->duplicates, list) {
281 list_add_tail(&dqp->list, &entry->duplicates);
286 /* Check whether a qpn is a duplicate on steering entry
293 struct mlx4_steer_index *tmp_entry, *entry = NULL;
306 * Find the index entry, and remove the duplicate */
309 entry = tmp_entry;
313 if (unlikely(!entry)) {
314 mlx4_warn(dev, "Steering entry for index %x is not registered\n", index);
317 list_for_each_entry_safe(dqp, tmp_dqp, &entry->duplicates, list) {
326 /* Returns true if all the QPs != tqpn contained in this entry
357 /* the qp is not promisc, the entry can't be removed */
367 /* IF a steering entry contains only promisc QPs, it can be removed. */
373 struct mlx4_steer_index *entry = NULL, *tmp_entry;
386 /* All the qps currently registered for this entry are promiscuous,
389 list_for_each_entry_safe(entry, tmp_entry, &s_steer->steer_entries[steer], list) {
390 if (entry->index == index) {
391 if (list_empty(&entry->duplicates) ||
394 /* If there is only 1 entry in duplicates then
396 * the list and deleting the entry.
398 list_del(&entry->list);
400 &entry->duplicates,
405 kfree(entry);
407 /* This entry contains duplicates so it shouldn't be removed */
424 struct mlx4_steer_index *entry;
463 * a duplicate for this entry.
465 list_for_each_entry(entry,
468 err = mlx4_READ_ENTRY(dev, entry->index, mailbox);
489 &entry->duplicates);
497 /* entry is full */
506 err = mlx4_WRITE_ENTRY(dev, entry->index,
516 /* now need to add all the promisc qps to default entry */
521 /* entry is full */
555 struct mlx4_steer_index *entry, *tmp_entry;
581 /* set the default entry not to include the removed one */
600 list_for_each_entry_safe(entry, tmp_entry,
604 list_for_each_entry(dqp, &entry->duplicates, list) {
620 entry->index,
628 mlx4_warn(dev, "QP %06x wasn't found in entry %x mcount=0. deleting entry...\n",
629 qpn, entry->index);
630 list_del(&entry->list);
631 kfree(entry);
643 mlx4_err(dev, "QP %06x wasn't found in entry %d\n",
644 qpn, entry->index);
659 entry->index,
686 * and *mgm holds MGM entry.
689 * previous entry in hash chain and *mgm holds AMGM entry.
692 * entry in hash chain and *mgm holds end of hash chain.
1192 /* manage the steering entry for promisc mode */
1279 /* We are going to delete the entry, members count should be 0 */
1283 /* Remove entry from MGM */
1298 mlx4_warn(dev, "MGM entry %d had AMGM index %d < %d\n",
1305 /* Remove entry from AMGM */
1318 mlx4_warn(dev, "entry %d had next AMGM index %d < %d\n",