Lines Matching refs:port_gid_table
253 struct mlx4_port_gid_table *port_gid_table; in mlx4_ib_add_gid() local
274 port_gid_table = &iboe->gids[attr->port_num - 1]; in mlx4_ib_add_gid()
277 if (!memcmp(&port_gid_table->gids[i].gid, in mlx4_ib_add_gid()
279 port_gid_table->gids[i].gid_type == attr->gid_type && in mlx4_ib_add_gid()
280 port_gid_table->gids[i].vlan_id == vlan_id) { in mlx4_ib_add_gid()
284 if (free < 0 && rdma_is_zero_gid(&port_gid_table->gids[i].gid)) in mlx4_ib_add_gid()
292 port_gid_table->gids[free].ctx = kmalloc(sizeof(*port_gid_table->gids[free].ctx), GFP_ATOMIC); in mlx4_ib_add_gid()
293 if (!port_gid_table->gids[free].ctx) { in mlx4_ib_add_gid()
296 *context = port_gid_table->gids[free].ctx; in mlx4_ib_add_gid()
297 memcpy(&port_gid_table->gids[free].gid, in mlx4_ib_add_gid()
299 port_gid_table->gids[free].gid_type = attr->gid_type; in mlx4_ib_add_gid()
300 port_gid_table->gids[free].vlan_id = vlan_id; in mlx4_ib_add_gid()
301 port_gid_table->gids[free].ctx->real_index = free; in mlx4_ib_add_gid()
302 port_gid_table->gids[free].ctx->refcount = 1; in mlx4_ib_add_gid()
307 struct gid_cache_context *ctx = port_gid_table->gids[found].ctx; in mlx4_ib_add_gid()
317 free_gid_entry(&port_gid_table->gids[free]); in mlx4_ib_add_gid()
320 memcpy(&gids[i].gid, &port_gid_table->gids[i].gid, sizeof(union ib_gid)); in mlx4_ib_add_gid()
321 gids[i].gid_type = port_gid_table->gids[i].gid_type; in mlx4_ib_add_gid()
332 free_gid_entry(&port_gid_table->gids[free]); in mlx4_ib_add_gid()
346 struct mlx4_port_gid_table *port_gid_table; in mlx4_ib_del_gid() local
357 port_gid_table = &iboe->gids[attr->port_num - 1]; in mlx4_ib_del_gid()
364 free_gid_entry(&port_gid_table->gids[real_index]); in mlx4_ib_del_gid()
378 &port_gid_table->gids[i].gid, in mlx4_ib_del_gid()
381 port_gid_table->gids[i].gid_type; in mlx4_ib_del_gid()
399 struct mlx4_port_gid_table *port_gid_table; in mlx4_ib_gid_index_to_real_index() local
415 port_gid_table = &iboe->gids[port_num - 1]; in mlx4_ib_gid_index_to_real_index()
418 if (!memcmp(&port_gid_table->gids[i].gid, in mlx4_ib_gid_index_to_real_index()
420 attr->gid_type == port_gid_table->gids[i].gid_type) { in mlx4_ib_gid_index_to_real_index()
421 ctx = port_gid_table->gids[i].ctx; in mlx4_ib_gid_index_to_real_index()