Lines Matching refs:ib_dev

114 static void dispatch_gid_change_event(struct ib_device *ib_dev, u8 port)  in dispatch_gid_change_event()  argument
118 event.device = ib_dev; in dispatch_gid_change_event()
349 static void del_gid(struct ib_device *ib_dev, u8 port, in del_gid() argument
357 ib_dev->name, port, ix, in del_gid()
366 if (!rdma_protocol_roce(ib_dev, port)) in del_gid()
503 static int __ib_cache_gid_add(struct ib_device *ib_dev, u8 port, in __ib_cache_gid_add() argument
519 table = rdma_gid_table(ib_dev, port); in __ib_cache_gid_add()
531 attr->device = ib_dev; in __ib_cache_gid_add()
537 dispatch_gid_change_event(ib_dev, port); in __ib_cache_gid_add()
547 int ib_cache_gid_add(struct ib_device *ib_dev, u8 port, in ib_cache_gid_add() argument
554 if (ib_dev->get_netdev) { in ib_cache_gid_add()
555 idev = ib_dev->get_netdev(ib_dev, port); in ib_cache_gid_add()
574 ret = __ib_cache_gid_add(ib_dev, port, gid, attr, mask, false); in ib_cache_gid_add()
579 _ib_cache_gid_del(struct ib_device *ib_dev, u8 port, in _ib_cache_gid_del() argument
587 table = rdma_gid_table(ib_dev, port); in _ib_cache_gid_del()
597 del_gid(ib_dev, port, table, ix); in _ib_cache_gid_del()
598 dispatch_gid_change_event(ib_dev, port); in _ib_cache_gid_del()
608 int ib_cache_gid_del(struct ib_device *ib_dev, u8 port, in ib_cache_gid_del() argument
616 return _ib_cache_gid_del(ib_dev, port, gid, attr, mask, false); in ib_cache_gid_del()
619 int ib_cache_gid_del_all_netdev_gids(struct ib_device *ib_dev, u8 port, in ib_cache_gid_del_all_netdev_gids() argument
626 table = rdma_gid_table(ib_dev, port); in ib_cache_gid_del_all_netdev_gids()
633 del_gid(ib_dev, port, table, ix); in ib_cache_gid_del_all_netdev_gids()
641 dispatch_gid_change_event(ib_dev, port); in ib_cache_gid_del_all_netdev_gids()
662 rdma_find_gid_by_port(struct ib_device *ib_dev, in rdma_find_gid_by_port() argument
675 if (!rdma_is_port_valid(ib_dev, port)) in rdma_find_gid_by_port()
678 table = rdma_gid_table(ib_dev, port); in rdma_find_gid_by_port()
715 struct ib_device *ib_dev, const union ib_gid *gid, u8 port, in rdma_find_gid_by_filter() argument
725 if (!rdma_is_port_valid(ib_dev, port)) in rdma_find_gid_by_filter()
728 table = rdma_gid_table(ib_dev, port); in rdma_find_gid_by_filter()
798 static void cleanup_gid_table_port(struct ib_device *ib_dev, u8 port, in cleanup_gid_table_port() argument
810 del_gid(ib_dev, port, table, i); in cleanup_gid_table_port()
817 dispatch_gid_change_event(ib_dev, port); in cleanup_gid_table_port()
820 void ib_cache_gid_set_default_gid(struct ib_device *ib_dev, u8 port, in ib_cache_gid_set_default_gid() argument
844 __ib_cache_gid_add(ib_dev, port, &gid, in ib_cache_gid_set_default_gid()
847 _ib_cache_gid_del(ib_dev, port, &gid, in ib_cache_gid_set_default_gid()
853 static void gid_table_reserve_default(struct ib_device *ib_dev, u8 port, in gid_table_reserve_default() argument
860 roce_gid_type_mask = roce_gid_type_mask_support(ib_dev, port); in gid_table_reserve_default()
868 static void gid_table_release_one(struct ib_device *ib_dev) in gid_table_release_one() argument
873 for (port = 0; port < ib_dev->phys_port_cnt; port++) { in gid_table_release_one()
874 table = ib_dev->cache.ports[port].gid; in gid_table_release_one()
875 release_gid_table(ib_dev, port, table); in gid_table_release_one()
876 ib_dev->cache.ports[port].gid = NULL; in gid_table_release_one()
880 static int _gid_table_setup_one(struct ib_device *ib_dev) in _gid_table_setup_one() argument
885 for (port = 0; port < ib_dev->phys_port_cnt; port++) { in _gid_table_setup_one()
886 u8 rdma_port = port + rdma_start_port(ib_dev); in _gid_table_setup_one()
889 ib_dev->port_immutable[rdma_port].gid_tbl_len); in _gid_table_setup_one()
893 gid_table_reserve_default(ib_dev, rdma_port, table); in _gid_table_setup_one()
894 ib_dev->cache.ports[port].gid = table; in _gid_table_setup_one()
899 gid_table_release_one(ib_dev); in _gid_table_setup_one()
903 static void gid_table_cleanup_one(struct ib_device *ib_dev) in gid_table_cleanup_one() argument
908 for (port = 0; port < ib_dev->phys_port_cnt; port++) { in gid_table_cleanup_one()
909 table = ib_dev->cache.ports[port].gid; in gid_table_cleanup_one()
910 cleanup_gid_table_port(ib_dev, port + rdma_start_port(ib_dev), in gid_table_cleanup_one()
915 static int gid_table_setup_one(struct ib_device *ib_dev) in gid_table_setup_one() argument
919 err = _gid_table_setup_one(ib_dev); in gid_table_setup_one()
924 rdma_roce_rescan_device(ib_dev); in gid_table_setup_one()