Lines Matching refs:ib_dev
125 static void dispatch_gid_change_event(struct ib_device *ib_dev, u8 port) in dispatch_gid_change_event() argument
129 event.device = ib_dev; in dispatch_gid_change_event()
379 static void del_gid(struct ib_device *ib_dev, u8 port, in del_gid() argument
387 dev_dbg(&ib_dev->dev, "%s port=%d index=%d gid %pI6\n", __func__, port, in del_gid()
396 if (!rdma_protocol_roce(ib_dev, port)) in del_gid()
407 if (rdma_cap_roce_gid_table(ib_dev, port)) in del_gid()
408 ib_dev->ops.del_gid(&entry->attr, &entry->context); in del_gid()
543 static int __ib_cache_gid_add(struct ib_device *ib_dev, u8 port, in __ib_cache_gid_add() argument
559 table = rdma_gid_table(ib_dev, port); in __ib_cache_gid_add()
571 attr->device = ib_dev; in __ib_cache_gid_add()
577 dispatch_gid_change_event(ib_dev, port); in __ib_cache_gid_add()
587 int ib_cache_gid_add(struct ib_device *ib_dev, u8 port, in ib_cache_gid_add() argument
594 return __ib_cache_gid_add(ib_dev, port, gid, attr, mask, false); in ib_cache_gid_add()
598 _ib_cache_gid_del(struct ib_device *ib_dev, u8 port, in _ib_cache_gid_del() argument
606 table = rdma_gid_table(ib_dev, port); in _ib_cache_gid_del()
616 del_gid(ib_dev, port, table, ix); in _ib_cache_gid_del()
617 dispatch_gid_change_event(ib_dev, port); in _ib_cache_gid_del()
627 int ib_cache_gid_del(struct ib_device *ib_dev, u8 port, in ib_cache_gid_del() argument
635 return _ib_cache_gid_del(ib_dev, port, gid, attr, mask, false); in ib_cache_gid_del()
638 int ib_cache_gid_del_all_netdev_gids(struct ib_device *ib_dev, u8 port, in ib_cache_gid_del_all_netdev_gids() argument
645 table = rdma_gid_table(ib_dev, port); in ib_cache_gid_del_all_netdev_gids()
652 del_gid(ib_dev, port, table, ix); in ib_cache_gid_del_all_netdev_gids()
660 dispatch_gid_change_event(ib_dev, port); in ib_cache_gid_del_all_netdev_gids()
681 rdma_find_gid_by_port(struct ib_device *ib_dev, in rdma_find_gid_by_port() argument
694 if (!rdma_is_port_valid(ib_dev, port)) in rdma_find_gid_by_port()
697 table = rdma_gid_table(ib_dev, port); in rdma_find_gid_by_port()
734 struct ib_device *ib_dev, const union ib_gid *gid, u8 port, in rdma_find_gid_by_filter() argument
744 if (!rdma_is_port_valid(ib_dev, port)) in rdma_find_gid_by_filter()
747 table = rdma_gid_table(ib_dev, port); in rdma_find_gid_by_filter()
818 static void cleanup_gid_table_port(struct ib_device *ib_dev, u8 port, in cleanup_gid_table_port() argument
830 del_gid(ib_dev, port, table, i); in cleanup_gid_table_port()
837 dispatch_gid_change_event(ib_dev, port); in cleanup_gid_table_port()
840 void ib_cache_gid_set_default_gid(struct ib_device *ib_dev, u8 port, in ib_cache_gid_set_default_gid() argument
864 __ib_cache_gid_add(ib_dev, port, &gid, in ib_cache_gid_set_default_gid()
867 _ib_cache_gid_del(ib_dev, port, &gid, in ib_cache_gid_set_default_gid()
873 static void gid_table_reserve_default(struct ib_device *ib_dev, u8 port, in gid_table_reserve_default() argument
880 roce_gid_type_mask = roce_gid_type_mask_support(ib_dev, port); in gid_table_reserve_default()
888 static void gid_table_release_one(struct ib_device *ib_dev) in gid_table_release_one() argument
892 rdma_for_each_port (ib_dev, p) { in gid_table_release_one()
893 release_gid_table(ib_dev, ib_dev->port_data[p].cache.gid); in gid_table_release_one()
894 ib_dev->port_data[p].cache.gid = NULL; in gid_table_release_one()
898 static int _gid_table_setup_one(struct ib_device *ib_dev) in _gid_table_setup_one() argument
903 rdma_for_each_port (ib_dev, rdma_port) { in _gid_table_setup_one()
905 ib_dev->port_data[rdma_port].immutable.gid_tbl_len); in _gid_table_setup_one()
909 gid_table_reserve_default(ib_dev, rdma_port, table); in _gid_table_setup_one()
910 ib_dev->port_data[rdma_port].cache.gid = table; in _gid_table_setup_one()
915 gid_table_release_one(ib_dev); in _gid_table_setup_one()
919 static void gid_table_cleanup_one(struct ib_device *ib_dev) in gid_table_cleanup_one() argument
923 rdma_for_each_port (ib_dev, p) in gid_table_cleanup_one()
924 cleanup_gid_table_port(ib_dev, p, in gid_table_cleanup_one()
925 ib_dev->port_data[p].cache.gid); in gid_table_cleanup_one()
928 static int gid_table_setup_one(struct ib_device *ib_dev) in gid_table_setup_one() argument
932 err = _gid_table_setup_one(ib_dev); in gid_table_setup_one()
937 rdma_roce_rescan_device(ib_dev); in gid_table_setup_one()