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,