ufdev              41 drivers/infiniband/hw/usnic/usnic_fwd.c static int usnic_fwd_devcmd_locked(struct usnic_fwd_dev *ufdev, int vnic_idx,
ufdev              46 drivers/infiniband/hw/usnic/usnic_fwd.c 	struct net_device *netdev = ufdev->netdev;
ufdev              48 drivers/infiniband/hw/usnic/usnic_fwd.c 	lockdep_assert_held(&ufdev->lock);
ufdev              58 drivers/infiniband/hw/usnic/usnic_fwd.c 					ufdev->name, vnic_idx, cmd);
ufdev              61 drivers/infiniband/hw/usnic/usnic_fwd.c 					ufdev->name, vnic_idx, cmd,
ufdev              66 drivers/infiniband/hw/usnic/usnic_fwd.c 				ufdev->name, vnic_idx, cmd);
ufdev              72 drivers/infiniband/hw/usnic/usnic_fwd.c static int usnic_fwd_devcmd(struct usnic_fwd_dev *ufdev, int vnic_idx,
ufdev              77 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev              78 drivers/infiniband/hw/usnic/usnic_fwd.c 	status = usnic_fwd_devcmd_locked(ufdev, vnic_idx, cmd, a0, a1);
ufdev              79 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev              86 drivers/infiniband/hw/usnic/usnic_fwd.c 	struct usnic_fwd_dev *ufdev;
ufdev              88 drivers/infiniband/hw/usnic/usnic_fwd.c 	ufdev = kzalloc(sizeof(*ufdev), GFP_KERNEL);
ufdev              89 drivers/infiniband/hw/usnic/usnic_fwd.c 	if (!ufdev)
ufdev              92 drivers/infiniband/hw/usnic/usnic_fwd.c 	ufdev->pdev = pdev;
ufdev              93 drivers/infiniband/hw/usnic/usnic_fwd.c 	ufdev->netdev = pci_get_drvdata(pdev);
ufdev              94 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock_init(&ufdev->lock);
ufdev              95 drivers/infiniband/hw/usnic/usnic_fwd.c 	BUILD_BUG_ON(sizeof(ufdev->name) != sizeof(ufdev->netdev->name));
ufdev              96 drivers/infiniband/hw/usnic/usnic_fwd.c 	strcpy(ufdev->name, ufdev->netdev->name);
ufdev              98 drivers/infiniband/hw/usnic/usnic_fwd.c 	return ufdev;
ufdev             101 drivers/infiniband/hw/usnic/usnic_fwd.c void usnic_fwd_dev_free(struct usnic_fwd_dev *ufdev)
ufdev             103 drivers/infiniband/hw/usnic/usnic_fwd.c 	kfree(ufdev);
ufdev             106 drivers/infiniband/hw/usnic/usnic_fwd.c void usnic_fwd_set_mac(struct usnic_fwd_dev *ufdev, char mac[ETH_ALEN])
ufdev             108 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev             109 drivers/infiniband/hw/usnic/usnic_fwd.c 	memcpy(&ufdev->mac, mac, sizeof(ufdev->mac));
ufdev             110 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev             113 drivers/infiniband/hw/usnic/usnic_fwd.c void usnic_fwd_add_ipaddr(struct usnic_fwd_dev *ufdev, __be32 inaddr)
ufdev             115 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev             116 drivers/infiniband/hw/usnic/usnic_fwd.c 	if (!ufdev->inaddr)
ufdev             117 drivers/infiniband/hw/usnic/usnic_fwd.c 		ufdev->inaddr = inaddr;
ufdev             118 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev             121 drivers/infiniband/hw/usnic/usnic_fwd.c void usnic_fwd_del_ipaddr(struct usnic_fwd_dev *ufdev)
ufdev             123 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev             124 drivers/infiniband/hw/usnic/usnic_fwd.c 	ufdev->inaddr = 0;
ufdev             125 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev             128 drivers/infiniband/hw/usnic/usnic_fwd.c void usnic_fwd_carrier_up(struct usnic_fwd_dev *ufdev)
ufdev             130 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev             131 drivers/infiniband/hw/usnic/usnic_fwd.c 	ufdev->link_up = 1;
ufdev             132 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev             135 drivers/infiniband/hw/usnic/usnic_fwd.c void usnic_fwd_carrier_down(struct usnic_fwd_dev *ufdev)
ufdev             137 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev             138 drivers/infiniband/hw/usnic/usnic_fwd.c 	ufdev->link_up = 0;
ufdev             139 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev             142 drivers/infiniband/hw/usnic/usnic_fwd.c void usnic_fwd_set_mtu(struct usnic_fwd_dev *ufdev, unsigned int mtu)
ufdev             144 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev             145 drivers/infiniband/hw/usnic/usnic_fwd.c 	ufdev->mtu = mtu;
ufdev             146 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev             149 drivers/infiniband/hw/usnic/usnic_fwd.c static int usnic_fwd_dev_ready_locked(struct usnic_fwd_dev *ufdev)
ufdev             151 drivers/infiniband/hw/usnic/usnic_fwd.c 	lockdep_assert_held(&ufdev->lock);
ufdev             153 drivers/infiniband/hw/usnic/usnic_fwd.c 	if (!ufdev->link_up)
ufdev             159 drivers/infiniband/hw/usnic/usnic_fwd.c static int validate_filter_locked(struct usnic_fwd_dev *ufdev,
ufdev             163 drivers/infiniband/hw/usnic/usnic_fwd.c 	lockdep_assert_held(&ufdev->lock);
ufdev             170 drivers/infiniband/hw/usnic/usnic_fwd.c 		else if (ufdev->inaddr == 0)
ufdev             174 drivers/infiniband/hw/usnic/usnic_fwd.c 		else if (ntohl(ufdev->inaddr) != filter->u.ipv4.dst_addr)
ufdev             198 drivers/infiniband/hw/usnic/usnic_fwd.c usnic_fwd_alloc_flow(struct usnic_fwd_dev *ufdev, struct filter *filter,
ufdev             209 drivers/infiniband/hw/usnic/usnic_fwd.c 	pdev = ufdev->pdev;
ufdev             226 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_lock(&ufdev->lock);
ufdev             227 drivers/infiniband/hw/usnic/usnic_fwd.c 	status = usnic_fwd_dev_ready_locked(ufdev);
ufdev             230 drivers/infiniband/hw/usnic/usnic_fwd.c 				ufdev->name, status);
ufdev             234 drivers/infiniband/hw/usnic/usnic_fwd.c 	status = validate_filter_locked(ufdev, filter);
ufdev             244 drivers/infiniband/hw/usnic/usnic_fwd.c 	status = usnic_fwd_devcmd_locked(ufdev, uaction->vnic_idx,
ufdev             248 drivers/infiniband/hw/usnic/usnic_fwd.c 				ufdev->name, status);
ufdev             252 drivers/infiniband/hw/usnic/usnic_fwd.c 		usnic_dbg("VF %s FILTER ID:%llu", ufdev->name, a0);
ufdev             257 drivers/infiniband/hw/usnic/usnic_fwd.c 	flow->ufdev = ufdev;
ufdev             260 drivers/infiniband/hw/usnic/usnic_fwd.c 	spin_unlock(&ufdev->lock);
ufdev             276 drivers/infiniband/hw/usnic/usnic_fwd.c 	status = usnic_fwd_devcmd(flow->ufdev, flow->vnic_idx,
ufdev             282 drivers/infiniband/hw/usnic/usnic_fwd.c 					flow->ufdev->name, status);
ufdev             285 drivers/infiniband/hw/usnic/usnic_fwd.c 					flow->ufdev->name, flow->vnic_idx,
ufdev             296 drivers/infiniband/hw/usnic/usnic_fwd.c 				flow->ufdev->name, flow->vnic_idx,
ufdev             304 drivers/infiniband/hw/usnic/usnic_fwd.c int usnic_fwd_enable_qp(struct usnic_fwd_dev *ufdev, int vnic_idx, int qp_idx)
ufdev             310 drivers/infiniband/hw/usnic/usnic_fwd.c 	pf_netdev = ufdev->netdev;
ufdev             314 drivers/infiniband/hw/usnic/usnic_fwd.c 	status = usnic_fwd_devcmd(ufdev, vnic_idx, CMD_QP_ENABLE,
ufdev             331 drivers/infiniband/hw/usnic/usnic_fwd.c int usnic_fwd_disable_qp(struct usnic_fwd_dev *ufdev, int vnic_idx, int qp_idx)
ufdev             337 drivers/infiniband/hw/usnic/usnic_fwd.c 	pf_netdev = ufdev->netdev;
ufdev             341 drivers/infiniband/hw/usnic/usnic_fwd.c 	status = usnic_fwd_devcmd(ufdev, vnic_idx, CMD_QP_DISABLE,
ufdev              65 drivers/infiniband/hw/usnic/usnic_fwd.h 	struct usnic_fwd_dev		*ufdev;
ufdev              75 drivers/infiniband/hw/usnic/usnic_fwd.h void usnic_fwd_dev_free(struct usnic_fwd_dev *ufdev);
ufdev              77 drivers/infiniband/hw/usnic/usnic_fwd.h void usnic_fwd_set_mac(struct usnic_fwd_dev *ufdev, char mac[ETH_ALEN]);
ufdev              78 drivers/infiniband/hw/usnic/usnic_fwd.h void usnic_fwd_add_ipaddr(struct usnic_fwd_dev *ufdev, __be32 inaddr);
ufdev              79 drivers/infiniband/hw/usnic/usnic_fwd.h void usnic_fwd_del_ipaddr(struct usnic_fwd_dev *ufdev);
ufdev              80 drivers/infiniband/hw/usnic/usnic_fwd.h void usnic_fwd_carrier_up(struct usnic_fwd_dev *ufdev);
ufdev              81 drivers/infiniband/hw/usnic/usnic_fwd.h void usnic_fwd_carrier_down(struct usnic_fwd_dev *ufdev);
ufdev              82 drivers/infiniband/hw/usnic/usnic_fwd.h void usnic_fwd_set_mtu(struct usnic_fwd_dev *ufdev, unsigned int mtu);
ufdev              91 drivers/infiniband/hw/usnic/usnic_fwd.h usnic_fwd_alloc_flow(struct usnic_fwd_dev *ufdev, struct filter *filter,
ufdev              94 drivers/infiniband/hw/usnic/usnic_fwd.h int usnic_fwd_enable_qp(struct usnic_fwd_dev *ufdev, int vnic_idx, int qp_idx);
ufdev              95 drivers/infiniband/hw/usnic/usnic_fwd.h int usnic_fwd_disable_qp(struct usnic_fwd_dev *ufdev, int vnic_idx, int qp_idx);
ufdev              77 drivers/infiniband/hw/usnic/usnic_ib.h 	struct usnic_fwd_dev		*ufdev;
ufdev             157 drivers/infiniband/hw/usnic/usnic_ib_main.c 		if (!us_ibdev->ufdev->link_up &&
ufdev             159 drivers/infiniband/hw/usnic/usnic_ib_main.c 			usnic_fwd_carrier_up(us_ibdev->ufdev);
ufdev             166 drivers/infiniband/hw/usnic/usnic_ib_main.c 		} else if (us_ibdev->ufdev->link_up &&
ufdev             168 drivers/infiniband/hw/usnic/usnic_ib_main.c 			usnic_fwd_carrier_down(us_ibdev->ufdev);
ufdev             183 drivers/infiniband/hw/usnic/usnic_ib_main.c 		if (!memcmp(us_ibdev->ufdev->mac, netdev->dev_addr,
ufdev             184 drivers/infiniband/hw/usnic/usnic_ib_main.c 				sizeof(us_ibdev->ufdev->mac))) {
ufdev             190 drivers/infiniband/hw/usnic/usnic_ib_main.c 					us_ibdev->ufdev->mac,
ufdev             192 drivers/infiniband/hw/usnic/usnic_ib_main.c 			usnic_fwd_set_mac(us_ibdev->ufdev, netdev->dev_addr);
ufdev             202 drivers/infiniband/hw/usnic/usnic_ib_main.c 		if (us_ibdev->ufdev->mtu != netdev->mtu) {
ufdev             205 drivers/infiniband/hw/usnic/usnic_ib_main.c 					us_ibdev->ufdev->mtu, netdev->mtu);
ufdev             206 drivers/infiniband/hw/usnic/usnic_ib_main.c 			usnic_fwd_set_mtu(us_ibdev->ufdev, netdev->mtu);
ufdev             257 drivers/infiniband/hw/usnic/usnic_ib_main.c 		usnic_fwd_del_ipaddr(us_ibdev->ufdev);
ufdev             265 drivers/infiniband/hw/usnic/usnic_ib_main.c 		usnic_fwd_add_ipaddr(us_ibdev->ufdev, ifa->ifa_address);
ufdev             268 drivers/infiniband/hw/usnic/usnic_ib_main.c 				&us_ibdev->ufdev->inaddr);
ufdev             386 drivers/infiniband/hw/usnic/usnic_ib_main.c 	us_ibdev->ufdev = usnic_fwd_dev_alloc(dev);
ufdev             387 drivers/infiniband/hw/usnic/usnic_ib_main.c 	if (!us_ibdev->ufdev) {
ufdev             433 drivers/infiniband/hw/usnic/usnic_ib_main.c 	usnic_fwd_set_mtu(us_ibdev->ufdev, us_ibdev->netdev->mtu);
ufdev             434 drivers/infiniband/hw/usnic/usnic_ib_main.c 	usnic_fwd_set_mac(us_ibdev->ufdev, us_ibdev->netdev->dev_addr);
ufdev             436 drivers/infiniband/hw/usnic/usnic_ib_main.c 		usnic_fwd_carrier_up(us_ibdev->ufdev);
ufdev             445 drivers/infiniband/hw/usnic/usnic_ib_main.c 			usnic_fwd_add_ipaddr(us_ibdev->ufdev, ifa->ifa_address);
ufdev             450 drivers/infiniband/hw/usnic/usnic_ib_main.c 				us_ibdev->ufdev->inaddr, &gid.raw[0]);
ufdev             457 drivers/infiniband/hw/usnic/usnic_ib_main.c 		   netdev_name(us_ibdev->netdev), us_ibdev->ufdev->mac,
ufdev             458 drivers/infiniband/hw/usnic/usnic_ib_main.c 		   us_ibdev->ufdev->link_up, us_ibdev->ufdev->mtu);
ufdev             462 drivers/infiniband/hw/usnic/usnic_ib_main.c 	usnic_fwd_dev_free(us_ibdev->ufdev);
ufdev             473 drivers/infiniband/hw/usnic/usnic_ib_main.c 	usnic_fwd_dev_free(us_ibdev->ufdev);
ufdev             128 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 		status = usnic_fwd_enable_qp(qp_grp->ufdev, vnic_idx,
ufdev             132 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 					res->vnic_idx, qp_grp->ufdev->name,
ufdev             143 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 		usnic_fwd_disable_qp(qp_grp->ufdev, vnic_idx,
ufdev             169 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 		status = usnic_fwd_disable_qp(qp_grp->ufdev, vnic_idx,
ufdev             174 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 					qp_grp->ufdev->name,
ufdev             229 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 	flow = usnic_fwd_alloc_flow(qp_grp->ufdev, &filter, &uaction);
ufdev             302 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 	flow = usnic_fwd_alloc_flow(qp_grp->ufdev, &filter, &uaction);
ufdev             669 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c usnic_ib_qp_grp_create(struct usnic_fwd_dev *ufdev, struct usnic_ib_vf *vf,
ufdev             708 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c 	qp_grp->ufdev = ufdev;
ufdev              53 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.h 	struct usnic_fwd_dev			*ufdev;
ufdev              93 drivers/infiniband/hw/usnic/usnic_ib_qp_grp.h usnic_ib_qp_grp_create(struct usnic_fwd_dev *ufdev, struct usnic_ib_vf *vf,
ufdev             100 drivers/infiniband/hw/usnic/usnic_ib_sysfs.c 			us_ibdev->ufdev->mac,
ufdev             205 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 				qp_grp = usnic_ib_qp_grp_create(us_ibdev->ufdev,
ufdev             225 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 			qp_grp = usnic_ib_qp_grp_create(us_ibdev->ufdev, vf,
ufdev             291 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 	usnic_mac_ip_to_gid(us_ibdev->ufdev->mac, us_ibdev->ufdev->inaddr,
ufdev             357 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 	if (!us_ibdev->ufdev->link_up) {
ufdev             360 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 	} else if (!us_ibdev->ufdev->inaddr) {
ufdev             375 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 	props->active_mtu = iboe_get_mtu(us_ibdev->ufdev->mtu);
ufdev             377 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 	props->max_msg_sz = us_ibdev->ufdev->mtu;
ufdev             434 drivers/infiniband/hw/usnic/usnic_ib_verbs.c 	usnic_mac_ip_to_gid(us_ibdev->ufdev->mac, us_ibdev->ufdev->inaddr,