iwdev 176 drivers/infiniband/hw/i40iw/i40iw.h struct i40iw_device *iwdev; iwdev 215 drivers/infiniband/hw/i40iw/i40iw.h struct i40iw_device *iwdev; iwdev 318 drivers/infiniband/hw/i40iw/i40iw.h struct i40iw_device *iwdev; iwdev 334 drivers/infiniband/hw/i40iw/i40iw.h return container_of(ibdev, struct i40iw_ib_device, ibdev)->iwdev; iwdev 405 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_flush_wqes(struct i40iw_device *iwdev, iwdev 408 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_manage_arp_cache(struct i40iw_device *iwdev, iwdev 414 drivers/infiniband/hw/i40iw/i40iw.h int i40iw_manage_apbvt(struct i40iw_device *iwdev, iwdev 430 drivers/infiniband/hw/i40iw/i40iw.h static inline int i40iw_alloc_resource(struct i40iw_device *iwdev, iwdev 439 drivers/infiniband/hw/i40iw/i40iw.h spin_lock_irqsave(&iwdev->resource_lock, flags); iwdev 444 drivers/infiniband/hw/i40iw/i40iw.h spin_unlock_irqrestore(&iwdev->resource_lock, flags); iwdev 453 drivers/infiniband/hw/i40iw/i40iw.h spin_unlock_irqrestore(&iwdev->resource_lock, flags); iwdev 465 drivers/infiniband/hw/i40iw/i40iw.h static inline bool i40iw_is_resource_allocated(struct i40iw_device *iwdev, iwdev 472 drivers/infiniband/hw/i40iw/i40iw.h spin_lock_irqsave(&iwdev->resource_lock, flags); iwdev 475 drivers/infiniband/hw/i40iw/i40iw.h spin_unlock_irqrestore(&iwdev->resource_lock, flags); iwdev 486 drivers/infiniband/hw/i40iw/i40iw.h static inline void i40iw_free_resource(struct i40iw_device *iwdev, iwdev 492 drivers/infiniband/hw/i40iw/i40iw.h spin_lock_irqsave(&iwdev->resource_lock, flags); iwdev 494 drivers/infiniband/hw/i40iw/i40iw.h spin_unlock_irqrestore(&iwdev->resource_lock, flags); iwdev 511 drivers/infiniband/hw/i40iw/i40iw.h u32 i40iw_initialize_hw_resources(struct i40iw_device *iwdev); iwdev 513 drivers/infiniband/hw/i40iw/i40iw.h int i40iw_register_rdma_device(struct i40iw_device *iwdev); iwdev 514 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_port_ibevent(struct i40iw_device *iwdev); iwdev 520 drivers/infiniband/hw/i40iw/i40iw.h enum i40iw_status_code i40iw_handle_cqp_op(struct i40iw_device *iwdev, iwdev 522 drivers/infiniband/hw/i40iw/i40iw.h enum i40iw_status_code i40iw_add_mac_addr(struct i40iw_device *iwdev, iwdev 525 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_cq_wq_destroy(struct i40iw_device *iwdev, struct i40iw_sc_cq *cq); iwdev 527 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_cleanup_pending_cqp_op(struct i40iw_device *iwdev); iwdev 528 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_rem_pdusecount(struct i40iw_pd *iwpd, struct i40iw_device *iwdev); iwdev 530 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_rem_devusecount(struct i40iw_device *iwdev); iwdev 531 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_add_devusecount(struct i40iw_device *iwdev); iwdev 532 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_hw_modify_qp(struct i40iw_device *iwdev, struct i40iw_qp *iwqp, iwdev 538 drivers/infiniband/hw/i40iw/i40iw.h enum i40iw_status_code i40iw_manage_qhash(struct i40iw_device *iwdev, iwdev 546 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_free_qp_resources(struct i40iw_device *iwdev, iwdev 549 drivers/infiniband/hw/i40iw/i40iw.h enum i40iw_status_code i40iw_obj_aligned_mem(struct i40iw_device *iwdev, iwdev 553 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_request_reset(struct i40iw_device *iwdev); iwdev 555 drivers/infiniband/hw/i40iw/i40iw.h int i40iw_setup_cm_core(struct i40iw_device *iwdev); iwdev 572 drivers/infiniband/hw/i40iw/i40iw.h enum i40iw_status_code i40iw_hw_flush_wqes(struct i40iw_device *iwdev, iwdev 577 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_gen_ae(struct i40iw_device *iwdev, iwdev 339 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev = cm_node->iwdev; iwdev 345 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_free_sqbuf(&iwdev->vsi, (void *)send_entry->sqbuf); iwdev 379 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_vsi *vsi = &cm_node->iwdev->vsi; iwdev 618 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!iwqp || !iwqp->iwdev) iwdev 1060 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_vsi *vsi = &cm_node->iwdev->vsi; iwdev 1285 drivers/infiniband/hw/i40iw/i40iw_cm.c vsi = &cm_node->iwdev->vsi; iwdev 1392 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_vsi *vsi = &cm_node->iwdev->vsi; iwdev 1574 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev, iwdev 1583 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); iwdev 1587 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 1594 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_CM, iwdev 1604 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_qhash(iwdev, cm_info, iwdev 1612 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 1619 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); iwdev 1680 drivers/infiniband/hw/i40iw/i40iw_cm.c static enum i40iw_status_code i40iw_add_mqh_6(struct i40iw_device *iwdev, iwdev 1694 drivers/infiniband/hw/i40iw/i40iw_cm.c (rdma_vlan_dev_real_dev(ip_dev) == iwdev->netdev)) || iwdev 1695 drivers/infiniband/hw/i40iw/i40iw_cm.c (ip_dev == iwdev->netdev)) && (ip_dev->flags & IFF_UP)) { iwdev 1702 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 1710 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 1729 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_qhash(iwdev, cm_info, iwdev 1735 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); iwdev 1738 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); iwdev 1761 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev, iwdev 1774 drivers/infiniband/hw/i40iw/i40iw_cm.c (rdma_vlan_dev_real_dev(dev) == iwdev->netdev)) || iwdev 1775 drivers/infiniband/hw/i40iw/i40iw_cm.c (dev == iwdev->netdev)) && (dev->flags & IFF_UP)) { iwdev 1781 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 1789 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 1808 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_qhash(iwdev, iwdev 1816 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); iwdev 1819 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); iwdev 1915 drivers/infiniband/hw/i40iw/i40iw_cm.c if (listener->iwdev) { iwdev 1917 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_apbvt(listener->iwdev, iwdev 1928 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_del_multiple_qhash(listener->iwdev, &nfo, listener); iwdev 1931 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_qhash(listener->iwdev, iwdev 1982 drivers/infiniband/hw/i40iw/i40iw_cm.c static int i40iw_addr_resolve_neigh(struct i40iw_device *iwdev, iwdev 2005 drivers/infiniband/hw/i40iw/i40iw_cm.c if (ether_addr_equal(iwdev->arp_table[arpindex].mac_addr, iwdev 2009 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_arp_cache(iwdev, iwdev 2010 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev->arp_table[arpindex].mac_addr, iwdev 2016 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_arp_cache(iwdev, neigh->ha, &dst_ip, true, I40IW_ARP_ADD); iwdev 2017 drivers/infiniband/hw/i40iw/i40iw_cm.c rc = i40iw_arp_table(iwdev, &dst_ip, true, NULL, I40IW_ARP_RESOLVE); iwdev 2057 drivers/infiniband/hw/i40iw/i40iw_cm.c static int i40iw_addr_resolve_neigh_ipv6(struct i40iw_device *iwdev, iwdev 2088 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_CM, "dst_neigh_lookup MAC=%pM\n", neigh->ha); iwdev 2092 drivers/infiniband/hw/i40iw/i40iw_cm.c (iwdev->arp_table[arpindex].mac_addr, iwdev 2097 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_arp_cache(iwdev, iwdev 2098 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev->arp_table[arpindex].mac_addr, iwdev 2103 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_arp_cache(iwdev, iwdev 2108 drivers/infiniband/hw/i40iw/i40iw_cm.c rc = i40iw_arp_table(iwdev, iwdev 2158 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev, iwdev 2165 drivers/infiniband/hw/i40iw/i40iw_cm.c struct net_device *netdev = iwdev->netdev; iwdev 2175 drivers/infiniband/hw/i40iw/i40iw_cm.c if ((cm_node->vlan_id == I40IW_NO_VLAN) && iwdev->dcb) iwdev 2181 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_DCB, iwdev 2186 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_DCB, "listener: TOS:[%d] UP:[%d]\n", iwdev 2194 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->mpa_frame_rev = iwdev->mpa_version; iwdev 2217 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - I40IW_MTU_TO_MSS_IPV4; iwdev 2230 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - I40IW_MTU_TO_MSS_IPV6; iwdev 2233 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->iwdev = iwdev; iwdev 2234 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->dev = &iwdev->sc_dev; iwdev 2240 drivers/infiniband/hw/i40iw/i40iw_cm.c arpindex = i40iw_arp_table(iwdev, iwdev 2246 drivers/infiniband/hw/i40iw/i40iw_cm.c oldarpindex = i40iw_arp_table(iwdev, iwdev 2252 drivers/infiniband/hw/i40iw/i40iw_cm.c arpindex = i40iw_addr_resolve_neigh(iwdev, iwdev 2257 drivers/infiniband/hw/i40iw/i40iw_cm.c arpindex = i40iw_addr_resolve_neigh_ipv6(iwdev, iwdev 2269 drivers/infiniband/hw/i40iw/i40iw_cm.c ether_addr_copy(cm_node->rem_mac, iwdev->arp_table[arpindex].mac_addr); iwdev 2305 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_apbvt(cm_node->iwdev, iwdev 2312 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_qhash(cm_node->iwdev, iwdev 2329 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_manage_qhash(cm_node->iwdev, iwdev 2616 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_qhash(cm_node->iwdev, iwdev 2856 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev, iwdev 2897 drivers/infiniband/hw/i40iw/i40iw_cm.c listener->iwdev = iwdev; iwdev 2920 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev, iwdev 2933 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node = i40iw_make_cm_node(cm_core, iwdev, cm_info, NULL); iwdev 2959 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev, iwdev 3132 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 3133 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; iwdev 3206 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node = i40iw_make_cm_node(cm_core, iwdev, &cm_info, listener); iwdev 3235 drivers/infiniband/hw/i40iw/i40iw_cm.c int i40iw_setup_cm_core(struct i40iw_device *iwdev) iwdev 3237 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; iwdev 3239 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->iwdev = iwdev; iwdev 3240 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->dev = &iwdev->sc_dev; iwdev 3264 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_cleanup_cm_core(&iwdev->cm_core); iwdev 3346 drivers/infiniband/hw/i40iw/i40iw_cm.c iwqp->iwdev, iwdev 3364 drivers/infiniband/hw/i40iw/i40iw_cm.c iwqp->iwdev, iwdev 3383 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev = iwqp->iwdev; iwdev 3384 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_dev *dev = &iwqp->iwdev->sc_dev; iwdev 3420 drivers/infiniband/hw/i40iw/i40iw_cm.c tcp_info.src_mac_addr_idx = iwdev->mac_ip_table_idx; iwdev 3438 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev = iwqp->iwdev; iwdev 3439 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; iwdev 3446 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&iwdev->qptable_lock, flags); iwdev 3447 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!iwdev->qp_table[iwqp->ibqp.qp_num]) { iwdev 3448 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->qptable_lock, flags); iwdev 3449 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_CM, iwdev 3456 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->qptable_lock, flags); iwdev 3470 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 3473 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = to_iwdev(iwqp->ibqp.device); iwdev 3474 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!iwdev) { iwdev 3479 drivers/infiniband/hw/i40iw/i40iw_cm.c iwibdev = iwdev->iwibdev; iwdev 3490 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_free_dma_mem(iwdev->sc_dev.hw, &iwqp->ietf_mem); iwdev 3496 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_CM, "%s Call close API\n", __func__); iwdev 3508 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 3534 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = to_iwdev(iwqp->ibqp.device); iwdev 3565 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev->reset)) { iwdev 3577 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_flush_wqes(iwdev, iwqp); iwdev 3596 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 3606 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 3638 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 3658 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = iwqp->iwdev; iwdev 3659 drivers/infiniband/hw/i40iw/i40iw_cm.c dev = &iwdev->sc_dev; iwdev 3660 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core = &iwdev->cm_core; iwdev 3789 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 3798 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = to_iwdev(cm_id->device); iwdev 3799 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!iwdev) iwdev 3823 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 3838 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = to_iwdev(iwqp->ibqp.device); iwdev 3839 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!iwdev) iwdev 3877 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_DCB, "%s TOS:[%d] UP:[%d]\n", iwdev 3880 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node = i40iw_create_cm_node(&iwdev->cm_core, iwdev, iwdev 3893 drivers/infiniband/hw/i40iw/i40iw_cm.c if (i40iw_manage_qhash(iwdev, &cm_info, I40IW_QHASH_TYPE_TCP_ESTABLISHED, iwdev 3901 drivers/infiniband/hw/i40iw/i40iw_cm.c if (i40iw_manage_apbvt(iwdev, cm_info.loc_port, iwdev 3937 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 3942 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(&iwdev->sc_dev, iwdev 3949 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev->cm_core.stats_connect_errs++; iwdev 3960 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 3968 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = to_iwdev(cm_id->device); iwdev 3969 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!iwdev) iwdev 3999 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_listen_node = i40iw_make_listen_node(&iwdev->cm_core, iwdev, &cm_info); iwdev 4014 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_add_mqh_4(iwdev, iwdev 4018 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_add_mqh_6(iwdev, iwdev 4024 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_apbvt(iwdev, iwdev 4031 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_qhash(iwdev, iwdev 4040 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_apbvt(iwdev, iwdev 4051 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_cm_del_listen(&iwdev->cm_core, (void *)cm_listen_node, false); iwdev 4061 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 4063 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = to_iwdev(cm_id->device); iwdev 4065 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_cm_del_listen(&iwdev->cm_core, cm_id->provider_data, true); iwdev 4081 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_device *iwdev; iwdev 4094 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev = to_iwdev(iwqp->ibqp.device); iwdev 4095 drivers/infiniband/hw/i40iw/i40iw_cm.c dev = &iwdev->sc_dev; iwdev 4096 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core = &iwdev->cm_core; iwdev 4249 drivers/infiniband/hw/i40iw/i40iw_cm.c static void i40iw_qhash_ctrl(struct i40iw_device *iwdev, iwdev 4287 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_qhash(iwdev, nfo, iwdev 4309 drivers/infiniband/hw/i40iw/i40iw_cm.c void i40iw_cm_teardown_connections(struct i40iw_device *iwdev, u32 *ipaddr, iwdev 4313 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; iwdev 4352 drivers/infiniband/hw/i40iw/i40iw_cm.c if (iwdev->reset) iwdev 4365 drivers/infiniband/hw/i40iw/i40iw_cm.c void i40iw_if_notify(struct i40iw_device *iwdev, struct net_device *netdev, iwdev 4368 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; iwdev 4392 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_qhash_ctrl(iwdev, iwdev 4398 drivers/infiniband/hw/i40iw/i40iw_cm.c ret = i40iw_manage_qhash(iwdev, iwdev 4413 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_cm_teardown_connections(iwdev, ipaddr, &nfo, false); iwdev 295 drivers/infiniband/hw/i40iw/i40iw_cm.h struct i40iw_device *iwdev; iwdev 324 drivers/infiniband/hw/i40iw/i40iw_cm.h struct i40iw_device *iwdev; iwdev 402 drivers/infiniband/hw/i40iw/i40iw_cm.h struct i40iw_device *iwdev; iwdev 450 drivers/infiniband/hw/i40iw/i40iw_cm.h int i40iw_arp_table(struct i40iw_device *iwdev, iwdev 456 drivers/infiniband/hw/i40iw/i40iw_cm.h void i40iw_if_notify(struct i40iw_device *iwdev, struct net_device *netdev, iwdev 458 drivers/infiniband/hw/i40iw/i40iw_cm.h void i40iw_cm_teardown_connections(struct i40iw_device *iwdev, u32 *ipaddr, iwdev 49 drivers/infiniband/hw/i40iw/i40iw_hw.c u32 i40iw_initialize_hw_resources(struct i40iw_device *iwdev) iwdev 60 drivers/infiniband/hw/i40iw/i40iw_hw.c max_qp = iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_QP].cnt; iwdev 61 drivers/infiniband/hw/i40iw/i40iw_hw.c max_cq = iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_CQ].cnt; iwdev 62 drivers/infiniband/hw/i40iw/i40iw_hw.c max_mr = iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_MR].cnt; iwdev 63 drivers/infiniband/hw/i40iw/i40iw_hw.c arp_table_size = iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_ARP].cnt; iwdev 64 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->max_cqe = 0xFFFFF; iwdev 73 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->mem_resources = kzalloc(resources_size, GFP_KERNEL); iwdev 75 drivers/infiniband/hw/i40iw/i40iw_hw.c if (!iwdev->mem_resources) iwdev 78 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->max_qp = max_qp; iwdev 79 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->max_mr = max_mr; iwdev 80 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->max_cq = max_cq; iwdev 81 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->max_pd = num_pds; iwdev 82 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->arp_table_size = arp_table_size; iwdev 83 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->arp_table = (struct i40iw_arp_entry *)iwdev->mem_resources; iwdev 84 drivers/infiniband/hw/i40iw/i40iw_hw.c resource_ptr = iwdev->mem_resources + (sizeof(struct i40iw_arp_entry) * arp_table_size); iwdev 86 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->device_cap_flags = IB_DEVICE_LOCAL_DMA_LKEY | iwdev 89 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->allocated_qps = resource_ptr; iwdev 90 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->allocated_cqs = &iwdev->allocated_qps[BITS_TO_LONGS(max_qp)]; iwdev 91 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->allocated_mrs = &iwdev->allocated_cqs[BITS_TO_LONGS(max_cq)]; iwdev 92 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->allocated_pds = &iwdev->allocated_mrs[BITS_TO_LONGS(max_mr)]; iwdev 93 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->allocated_arps = &iwdev->allocated_pds[BITS_TO_LONGS(num_pds)]; iwdev 94 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->qp_table = (struct i40iw_qp **)(&iwdev->allocated_arps[BITS_TO_LONGS(arp_table_size)]); iwdev 95 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(0, iwdev->allocated_mrs); iwdev 96 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(0, iwdev->allocated_qps); iwdev 97 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(0, iwdev->allocated_cqs); iwdev 98 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(0, iwdev->allocated_pds); iwdev 99 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(0, iwdev->allocated_arps); iwdev 102 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(1, iwdev->allocated_qps); iwdev 103 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(1, iwdev->allocated_cqs); iwdev 104 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(1, iwdev->allocated_pds); iwdev 105 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(2, iwdev->allocated_cqs); iwdev 106 drivers/infiniband/hw/i40iw/i40iw_hw.c set_bit(2, iwdev->allocated_pds); iwdev 108 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_lock_init(&iwdev->resource_lock); iwdev 109 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_lock_init(&iwdev->qptable_lock); iwdev 111 drivers/infiniband/hw/i40iw/i40iw_hw.c mrdrvbits = 24 - max(get_count_order(iwdev->max_mr), 14); iwdev 112 drivers/infiniband/hw/i40iw/i40iw_hw.c iwdev->mr_stagmask = ~(((1 << mrdrvbits) - 1) << (32 - mrdrvbits)); iwdev 122 drivers/infiniband/hw/i40iw/i40iw_hw.c static void i40iw_cqp_ce_handler(struct i40iw_device *iwdev, struct i40iw_sc_cq *cq, bool arm) iwdev 125 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 148 drivers/infiniband/hw/i40iw/i40iw_hw.c i40iw_put_cqp_request(&iwdev->cqp, cqp_request); iwdev 152 drivers/infiniband/hw/i40iw/i40iw_hw.c i40iw_put_cqp_request(&iwdev->cqp, cqp_request); iwdev 170 drivers/infiniband/hw/i40iw/i40iw_hw.c static void i40iw_iwarp_ce_handler(struct i40iw_device *iwdev, iwdev 185 drivers/infiniband/hw/i40iw/i40iw_hw.c static void i40iw_puda_ce_handler(struct i40iw_device *iwdev, iwdev 188 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_sc_dev *dev = (struct i40iw_sc_dev *)&iwdev->sc_dev; iwdev 214 drivers/infiniband/hw/i40iw/i40iw_hw.c void i40iw_process_ceq(struct i40iw_device *iwdev, struct i40iw_ceq *ceq) iwdev 216 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 228 drivers/infiniband/hw/i40iw/i40iw_hw.c i40iw_cqp_ce_handler(iwdev, cq, arm); iwdev 230 drivers/infiniband/hw/i40iw/i40iw_hw.c i40iw_iwarp_ce_handler(iwdev, cq); iwdev 233 drivers/infiniband/hw/i40iw/i40iw_hw.c i40iw_puda_ce_handler(iwdev, cq); iwdev 269 drivers/infiniband/hw/i40iw/i40iw_hw.c i40iw_hw_modify_qp(iwqp->iwdev, iwqp, &info, 0); iwdev 276 drivers/infiniband/hw/i40iw/i40iw_hw.c void i40iw_process_aeq(struct i40iw_device *iwdev) iwdev 278 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 279 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_aeq *aeq = &iwdev->aeq; iwdev 307 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_lock_irqsave(&iwdev->qptable_lock, flags); iwdev 308 drivers/infiniband/hw/i40iw/i40iw_hw.c iwqp = iwdev->qp_table[info->qp_cq_id]; iwdev 310 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_unlock_irqrestore(&iwdev->qptable_lock, flags); iwdev 317 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_unlock_irqrestore(&iwdev->qptable_lock, flags); iwdev 444 drivers/infiniband/hw/i40iw/i40iw_hw.c i40iw_cqp_manage_abvpt_cmd(struct i40iw_device *iwdev, iwdev 453 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, add_port); iwdev 466 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_info->in.u.manage_apbvt_entry.cqp = &iwdev->cqp.sc_cqp; iwdev 468 drivers/infiniband/hw/i40iw/i40iw_hw.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 481 drivers/infiniband/hw/i40iw/i40iw_hw.c enum i40iw_status_code i40iw_manage_apbvt(struct i40iw_device *iwdev, iwdev 485 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; iwdev 501 drivers/infiniband/hw/i40iw/i40iw_hw.c return i40iw_cqp_manage_abvpt_cmd(iwdev, accel_local_port, iwdev 511 drivers/infiniband/hw/i40iw/i40iw_hw.c status = i40iw_cqp_manage_abvpt_cmd(iwdev, accel_local_port, iwdev 525 drivers/infiniband/hw/i40iw/i40iw_hw.c void i40iw_manage_arp_cache(struct i40iw_device *iwdev, iwdev 536 drivers/infiniband/hw/i40iw/i40iw_hw.c arp_index = i40iw_arp_table(iwdev, ip_addr, ipv4, mac_addr, action); iwdev 539 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, false); iwdev 552 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_info->in.u.add_arp_cache_entry.cqp = &iwdev->cqp.sc_cqp; iwdev 556 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_info->in.u.del_arp_cache_entry.cqp = &iwdev->cqp.sc_cqp; iwdev 560 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_info->in.u.add_arp_cache_entry.cqp = &iwdev->cqp.sc_cqp; iwdev 563 drivers/infiniband/hw/i40iw/i40iw_hw.c if (i40iw_handle_cqp_op(iwdev, cqp_request)) iwdev 587 drivers/infiniband/hw/i40iw/i40iw_hw.c enum i40iw_status_code i40iw_manage_qhash(struct i40iw_device *iwdev, iwdev 595 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 596 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_sc_vsi *vsi = &iwdev->vsi; iwdev 598 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 609 drivers/infiniband/hw/i40iw/i40iw_hw.c info->vsi = &iwdev->vsi; iwdev 621 drivers/infiniband/hw/i40iw/i40iw_hw.c ether_addr_copy(info->mac_addr, iwdev->netdev->dev_addr); iwdev 652 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_info->in.u.manage_qhash_table_entry.cqp = &iwdev->cqp.sc_cqp; iwdev 656 drivers/infiniband/hw/i40iw/i40iw_hw.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 669 drivers/infiniband/hw/i40iw/i40iw_hw.c enum i40iw_status_code i40iw_hw_flush_wqes(struct i40iw_device *iwdev, iwdev 680 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, wait); iwdev 692 drivers/infiniband/hw/i40iw/i40iw_hw.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 726 drivers/infiniband/hw/i40iw/i40iw_hw.c void i40iw_gen_ae(struct i40iw_device *iwdev, iwdev 735 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, wait); iwdev 747 drivers/infiniband/hw/i40iw/i40iw_hw.c if (i40iw_handle_cqp_op(iwdev, cqp_request)) iwdev 758 drivers/infiniband/hw/i40iw/i40iw_hw.c enum i40iw_status_code i40iw_hw_manage_vf_pble_bp(struct i40iw_device *iwdev, iwdev 767 drivers/infiniband/hw/i40iw/i40iw_hw.c if ((iwdev->init_state < CCQ_CREATED) && wait) iwdev 770 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, wait); iwdev 780 drivers/infiniband/hw/i40iw/i40iw_hw.c cqp_info->in.u.manage_vf_pble_bp.cqp = &iwdev->cqp.sc_cqp; iwdev 782 drivers/infiniband/hw/i40iw/i40iw_hw.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 835 drivers/infiniband/hw/i40iw/i40iw_hw.c void i40iw_flush_wqes(struct i40iw_device *iwdev, struct i40iw_qp *iwqp) iwdev 851 drivers/infiniband/hw/i40iw/i40iw_hw.c (void)i40iw_hw_flush_wqes(iwdev, &iwqp->sc_qp, &info, true); iwdev 197 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev = (struct i40iw_device *)data; iwdev 199 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->msix_shared) iwdev 200 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_process_ceq(iwdev, iwdev->ceqlist); iwdev 201 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_process_aeq(iwdev); iwdev 202 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_enable_intr(&iwdev->sc_dev, iwdev->iw_msixtbl[0].idx); iwdev 212 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev = iwceq->iwdev; iwdev 214 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_process_ceq(iwdev, iwceq); iwdev 215 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_enable_intr(&iwdev->sc_dev, iwceq->msix_idx); iwdev 225 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev = (struct i40iw_device *)data; iwdev 227 drivers/infiniband/hw/i40iw/i40iw_main.c tasklet_schedule(&iwdev->dpc_tasklet); iwdev 239 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_destroy_cqp(struct i40iw_device *iwdev, bool free_hwcqp) iwdev 241 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 242 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_cqp *cqp = &iwdev->cqp; iwdev 247 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_cleanup_pending_cqp_op(iwdev); iwdev 251 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->cqp.scratch_array = NULL; iwdev 285 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_destroy_aeq(struct i40iw_device *iwdev) iwdev 288 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 289 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_aeq *aeq = &iwdev->aeq; iwdev 291 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->msix_shared) iwdev 292 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_disable_irq(dev, iwdev->iw_msixtbl, (void *)iwdev); iwdev 293 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->reset) iwdev 313 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_destroy_ceq(struct i40iw_device *iwdev, iwdev 317 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 319 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->reset) iwdev 342 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_dele_ceqs(struct i40iw_device *iwdev) iwdev 345 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 346 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_ceq *iwceq = iwdev->ceqlist; iwdev 347 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_msix_vector *msix_vec = iwdev->iw_msixtbl; iwdev 349 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->msix_shared) { iwdev 350 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_disable_irq(dev, msix_vec, (void *)iwdev); iwdev 351 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_ceq(iwdev, iwceq); iwdev 356 drivers/infiniband/hw/i40iw/i40iw_main.c for (msix_vec++; i < iwdev->ceqs_count; i++, msix_vec++, iwceq++) { iwdev 358 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_ceq(iwdev, iwceq); iwdev 361 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->sc_dev.ceq_valid = false; iwdev 371 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_destroy_ccq(struct i40iw_device *iwdev) iwdev 373 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 374 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_ccq *ccq = &iwdev->ccq; iwdev 377 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->reset) iwdev 475 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_create_hmc_objs(struct i40iw_device *iwdev, iwdev 478 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 486 drivers/infiniband/hw/i40iw/i40iw_main.c info.entry_type = iwdev->sd_type; iwdev 526 drivers/infiniband/hw/i40iw/i40iw_main.c enum i40iw_status_code i40iw_obj_aligned_mem(struct i40iw_device *iwdev, iwdev 534 drivers/infiniband/hw/i40iw/i40iw_main.c va = (unsigned long)iwdev->obj_next.va; iwdev 540 drivers/infiniband/hw/i40iw/i40iw_main.c memptr->pa = iwdev->obj_next.pa + extra; iwdev 542 drivers/infiniband/hw/i40iw/i40iw_main.c if ((memptr->va + size) > (iwdev->obj_mem.va + iwdev->obj_mem.size)) iwdev 545 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->obj_next.va = memptr->va + size; iwdev 546 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->obj_next.pa = memptr->pa + size; iwdev 557 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_create_cqp(struct i40iw_device *iwdev) iwdev 562 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 564 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_cqp *cqp = &iwdev->cqp; iwdev 584 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_obj_aligned_mem(iwdev, &mem, sizeof(struct i40iw_cqp_ctx), iwdev 597 drivers/infiniband/hw/i40iw/i40iw_main.c cqp_init_info.hmc_profile = iwdev->resource_profile; iwdev 598 drivers/infiniband/hw/i40iw/i40iw_main.c cqp_init_info.enabled_vf_count = iwdev->max_rdma_vfs; iwdev 622 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_cqp(iwdev, false); iwdev 633 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_create_ccq(struct i40iw_device *iwdev) iwdev 635 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 639 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_ccq *ccq = &iwdev->ccq; iwdev 651 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_obj_aligned_mem(iwdev, &mem, ccq->shadow_area.size, iwdev 684 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_configure_ceq_vector(struct i40iw_device *iwdev, iwdev 691 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->msix_shared && !ceq_id) { iwdev 692 drivers/infiniband/hw/i40iw/i40iw_main.c tasklet_init(&iwdev->dpc_tasklet, i40iw_dpc, (unsigned long)iwdev); iwdev 693 drivers/infiniband/hw/i40iw/i40iw_main.c status = request_irq(msix_vec->irq, i40iw_irq_handler, 0, "AEQCEQ", iwdev); iwdev 721 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_create_ceq(struct i40iw_device *iwdev, iwdev 727 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 732 drivers/infiniband/hw/i40iw/i40iw_main.c iwceq->iwdev = iwdev; iwdev 734 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_CQ].cnt; iwdev 743 drivers/infiniband/hw/i40iw/i40iw_main.c info.elem_cnt = iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_CQ].cnt; iwdev 746 drivers/infiniband/hw/i40iw/i40iw_main.c scratch = (uintptr_t)&iwdev->cqp.sc_cqp; iwdev 757 drivers/infiniband/hw/i40iw/i40iw_main.c void i40iw_request_reset(struct i40iw_device *iwdev) iwdev 759 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40e_info *ldev = iwdev->ldev; iwdev 761 drivers/infiniband/hw/i40iw/i40iw_main.c ldev->ops->request_reset(ldev, iwdev->client, 1); iwdev 773 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_setup_ceqs(struct i40iw_device *iwdev, iwdev 785 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_qvlist); iwdev 793 drivers/infiniband/hw/i40iw/i40iw_main.c num_ceqs = min(iwdev->msix_count, iwdev->sc_dev.hmc_fpm_misc.max_ceqs); iwdev 794 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->ceqlist = kcalloc(num_ceqs, sizeof(*iwdev->ceqlist), GFP_KERNEL); iwdev 795 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->ceqlist) { iwdev 799 drivers/infiniband/hw/i40iw/i40iw_main.c i = (iwdev->msix_shared) ? 0 : 1; iwdev 801 drivers/infiniband/hw/i40iw/i40iw_main.c iwceq = &iwdev->ceqlist[ceq_id]; iwdev 802 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_create_ceq(iwdev, iwceq, ceq_id); iwdev 808 drivers/infiniband/hw/i40iw/i40iw_main.c msix_vec = &iwdev->iw_msixtbl[i]; iwdev 811 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_configure_ceq_vector(iwdev, iwceq, ceq_id, msix_vec); iwdev 813 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_ceq(iwdev, iwceq); iwdev 816 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_enable_intr(&iwdev->sc_dev, msix_vec->idx); iwdev 817 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->ceqs_count++; iwdev 820 drivers/infiniband/hw/i40iw/i40iw_main.c if (status && !iwdev->ceqs_count) { iwdev 821 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->ceqlist); iwdev 822 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->ceqlist = NULL; iwdev 825 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->sc_dev.ceq_valid = true; iwdev 838 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_configure_aeq_vector(struct i40iw_device *iwdev) iwdev 840 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_msix_vector *msix_vec = iwdev->iw_msixtbl; iwdev 843 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->msix_shared) { iwdev 844 drivers/infiniband/hw/i40iw/i40iw_main.c tasklet_init(&iwdev->dpc_tasklet, i40iw_dpc, (unsigned long)iwdev); iwdev 845 drivers/infiniband/hw/i40iw/i40iw_main.c ret = request_irq(msix_vec->irq, i40iw_irq_handler, 0, "i40iw", iwdev); iwdev 862 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_create_aeq(struct i40iw_device *iwdev) iwdev 866 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 867 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_aeq *aeq = &iwdev->aeq; iwdev 871 drivers/infiniband/hw/i40iw/i40iw_main.c aeq_size = 2 * iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_QP].cnt + iwdev 872 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->sc_dev.hmc_info->hmc_obj[I40IW_HMC_IW_CQ].cnt; iwdev 903 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_setup_aeq(struct i40iw_device *iwdev) iwdev 905 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 908 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_create_aeq(iwdev); iwdev 912 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_configure_aeq_vector(iwdev); iwdev 914 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_aeq(iwdev); iwdev 918 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->msix_shared) iwdev 919 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_enable_intr(dev, iwdev->iw_msixtbl[0].idx); iwdev 929 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_initialize_ilq(struct i40iw_device *iwdev) iwdev 946 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_puda_create_rsrc(&iwdev->vsi, &info); iwdev 958 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_initialize_ieq(struct i40iw_device *iwdev) iwdev 966 drivers/infiniband/hw/i40iw/i40iw_main.c info.qp_id = iwdev->vsi.exception_lan_queue; iwdev 971 drivers/infiniband/hw/i40iw/i40iw_main.c info.buf_size = iwdev->vsi.mtu + VLAN_ETH_HLEN; iwdev 973 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_puda_create_rsrc(&iwdev->vsi, &info); iwdev 985 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 987 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_puda_dele_resources(&iwdev->vsi, I40IW_PUDA_RSRC_TYPE_IEQ, false); iwdev 988 drivers/infiniband/hw/i40iw/i40iw_main.c if (i40iw_initialize_ieq(iwdev)) { iwdev 989 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->reset = true; iwdev 990 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_request_reset(iwdev); iwdev 1002 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_hmc_setup(struct i40iw_device *iwdev) iwdev 1006 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->sd_type = I40IW_SD_TYPE_DIRECT; iwdev 1007 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_config_fpm_values(&iwdev->sc_dev, IW_CFG_FPM_QP_COUNT); iwdev 1010 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_create_hmc_objs(iwdev, true); iwdev 1013 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = HMC_OBJS_CREATED; iwdev 1022 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_del_init_mem(struct i40iw_device *iwdev) iwdev 1024 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 1026 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_free_dma_mem(&iwdev->hw, &iwdev->obj_mem); iwdev 1029 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->mem_resources); iwdev 1030 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->mem_resources = NULL; iwdev 1031 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->ceqlist); iwdev 1032 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->ceqlist = NULL; iwdev 1033 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->iw_msixtbl); iwdev 1034 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_msixtbl = NULL; iwdev 1035 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->hmc_info_mem); iwdev 1036 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->hmc_info_mem = NULL; iwdev 1044 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_del_macip_entry(struct i40iw_device *iwdev, u8 idx) iwdev 1046 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 1063 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1074 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_add_mac_ipaddr_entry(struct i40iw_device *iwdev, iwdev 1079 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 1100 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1115 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_alloc_local_mac_ipaddr_entry(struct i40iw_device *iwdev, iwdev 1118 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 1137 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1155 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_alloc_set_mac_ipaddr(struct i40iw_device *iwdev, iwdev 1160 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_alloc_local_mac_ipaddr_entry(iwdev, &iwdev->mac_ip_table_idx); iwdev 1162 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_add_mac_ipaddr_entry(iwdev, macaddr, iwdev 1163 drivers/infiniband/hw/i40iw/i40iw_main.c (u8)iwdev->mac_ip_table_idx); iwdev 1165 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_del_macip_entry(iwdev, (u8)iwdev->mac_ip_table_idx); iwdev 1174 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_add_ipv6_addr(struct i40iw_device *iwdev) iwdev 1184 drivers/infiniband/hw/i40iw/i40iw_main.c (rdma_vlan_dev_real_dev(ip_dev) == iwdev->netdev)) || iwdev 1185 drivers/infiniband/hw/i40iw/i40iw_main.c (ip_dev == iwdev->netdev)) && (ip_dev->flags & IFF_UP)) { iwdev 1196 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_manage_arp_cache(iwdev, iwdev 1211 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_add_ipv4_addr(struct i40iw_device *iwdev) iwdev 1223 drivers/infiniband/hw/i40iw/i40iw_main.c (rdma_vlan_dev_real_dev(dev) == iwdev->netdev)) || iwdev 1224 drivers/infiniband/hw/i40iw/i40iw_main.c (dev == iwdev->netdev)) && (dev->flags & IFF_UP)) { iwdev 1231 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_CM, iwdev 1236 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_manage_arp_cache(iwdev, iwdev 1258 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_add_mac_ip(struct i40iw_device *iwdev) iwdev 1260 drivers/infiniband/hw/i40iw/i40iw_main.c struct net_device *netdev = iwdev->netdev; iwdev 1263 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_alloc_set_mac_ipaddr(iwdev, (u8 *)netdev->dev_addr); iwdev 1266 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_add_ipv4_addr(iwdev); iwdev 1267 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_add_ipv6_addr(iwdev); iwdev 1311 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_initialize_dev(struct i40iw_device *iwdev, iwdev 1315 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 1330 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->hmc_info_mem = kzalloc(size, GFP_KERNEL); iwdev 1331 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->hmc_info_mem) iwdev 1334 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->pble_rsrc = (struct i40iw_hmc_pble_rsrc *)iwdev->hmc_info_mem; iwdev 1335 drivers/infiniband/hw/i40iw/i40iw_main.c dev->hmc_info = &iwdev->hw.hmc; iwdev 1336 drivers/infiniband/hw/i40iw/i40iw_main.c dev->hmc_info->hmc_obj = (struct i40iw_hmc_obj_info *)(iwdev->pble_rsrc + 1); iwdev 1337 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_obj_aligned_mem(iwdev, &mem, I40IW_QUERY_FPM_BUF_SIZE, iwdev 1343 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_obj_aligned_mem(iwdev, &mem, I40IW_COMMIT_FPM_BUF_SIZE, iwdev 1352 drivers/infiniband/hw/i40iw/i40iw_main.c info.hw = &iwdev->hw; iwdev 1362 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->dcb = true; iwdev 1364 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_pr_info("DCB is set/clear = %d\n", iwdev->dcb); iwdev 1366 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_device_init(&iwdev->sc_dev, &info); iwdev 1371 drivers/infiniband/hw/i40iw/i40iw_main.c vsi_info.dev = &iwdev->sc_dev; iwdev 1372 drivers/infiniband/hw/i40iw/i40iw_main.c vsi_info.back_vsi = (void *)iwdev; iwdev 1375 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_sc_vsi_init(&iwdev->vsi, &vsi_info); iwdev 1387 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_vsi_stats_init(&iwdev->vsi, &stats_info); iwdev 1391 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->hmc_info_mem); iwdev 1392 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->hmc_info_mem = NULL; iwdev 1427 drivers/infiniband/hw/i40iw/i40iw_main.c static enum i40iw_status_code i40iw_save_msix_info(struct i40iw_device *iwdev, iwdev 1441 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->msix_count = ldev->msix_count; iwdev 1443 drivers/infiniband/hw/i40iw/i40iw_main.c size = sizeof(struct i40iw_msix_vector) * iwdev->msix_count; iwdev 1445 drivers/infiniband/hw/i40iw/i40iw_main.c size += sizeof(struct i40e_qv_info) * iwdev->msix_count - 1; iwdev 1446 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_msixtbl = kzalloc(size, GFP_KERNEL); iwdev 1448 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->iw_msixtbl) iwdev 1450 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_qvlist = (struct i40e_qvlist_info *)(&iwdev->iw_msixtbl[iwdev->msix_count]); iwdev 1451 drivers/infiniband/hw/i40iw/i40iw_main.c iw_qvlist = iwdev->iw_qvlist; iwdev 1453 drivers/infiniband/hw/i40iw/i40iw_main.c iw_qvlist->num_vectors = iwdev->msix_count; iwdev 1454 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->msix_count <= num_online_cpus()) iwdev 1455 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->msix_shared = true; iwdev 1456 drivers/infiniband/hw/i40iw/i40iw_main.c for (i = 0, ceq_idx = 0; i < iwdev->msix_count; i++, iw_qvinfo++) { iwdev 1457 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_msixtbl[i].idx = ldev->msix_entries[i].entry; iwdev 1458 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_msixtbl[i].irq = ldev->msix_entries[i].vector; iwdev 1459 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_msixtbl[i].cpu_affinity = ceq_idx; iwdev 1462 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->msix_shared) iwdev 1471 drivers/infiniband/hw/i40iw/i40iw_main.c iw_qvinfo->v_idx = iwdev->iw_msixtbl[i].idx; iwdev 1483 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_deinit_device(struct i40iw_device *iwdev) iwdev 1485 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40e_info *ldev = iwdev->ldev; iwdev 1487 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 1489 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_pr_info("state = %d\n", iwdev->init_state); iwdev 1490 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->param_wq) iwdev 1491 drivers/infiniband/hw/i40iw/i40iw_main.c destroy_workqueue(iwdev->param_wq); iwdev 1493 drivers/infiniband/hw/i40iw/i40iw_main.c switch (iwdev->init_state) { iwdev 1495 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_status = 0; iwdev 1496 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_port_ibevent(iwdev); iwdev 1497 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_rdma_device(iwdev->iwibdev); iwdev 1500 drivers/infiniband/hw/i40iw/i40iw_main.c if (!iwdev->reset) iwdev 1501 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_del_macip_entry(iwdev, (u8)iwdev->mac_ip_table_idx); iwdev 1505 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_pble_pool(dev, iwdev->pble_rsrc); iwdev 1508 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_dele_ceqs(iwdev); iwdev 1511 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_aeq(iwdev); iwdev 1514 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_puda_dele_resources(&iwdev->vsi, I40IW_PUDA_RSRC_TYPE_IEQ, iwdev->reset); iwdev 1517 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_puda_dele_resources(&iwdev->vsi, I40IW_PUDA_RSRC_TYPE_ILQ, iwdev->reset); iwdev 1520 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_ccq(iwdev); iwdev 1523 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_del_hmc_objects(dev, dev->hmc_info, true, iwdev->reset); iwdev 1526 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_destroy_cqp(iwdev, true); iwdev 1529 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_cleanup_cm_core(&iwdev->cm_core); iwdev 1530 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->vsi.pestat) { iwdev 1531 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_vsi_stats_free(&iwdev->vsi); iwdev 1532 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->vsi.pestat); iwdev 1534 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_del_init_mem(iwdev); iwdev 1539 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_pr_err("bad init_state = %d\n", iwdev->init_state); iwdev 1544 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->hdl); iwdev 1561 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev = &hdl->device; iwdev 1562 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 1567 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->mpa_version = mpa_version; iwdev 1568 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->resource_profile = (resource_profile < I40IW_HMC_PROFILE_EQUAL) ? iwdev 1571 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->max_rdma_vfs = iwdev 1572 drivers/infiniband/hw/i40iw/i40iw_main.c (iwdev->resource_profile != I40IW_HMC_PROFILE_DEFAULT) ? max_rdma_vfs : 0; iwdev 1573 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->max_enabled_vfs = iwdev->max_rdma_vfs; iwdev 1574 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->netdev = ldev->netdev; iwdev 1577 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->db_start = pci_resource_start(ldev->pcidev, 0) + I40IW_DB_ADDR_OFFSET; iwdev 1579 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->db_start = pci_resource_start(ldev->pcidev, 0) + I40IW_VF_DB_ADDR_OFFSET; iwdev 1581 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_save_msix_info(iwdev, ldev); iwdev 1584 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->hw.dev_context = (void *)ldev->pcidev; iwdev 1585 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->hw.hw_addr = ldev->hw_addr; iwdev 1586 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_allocate_dma_mem(&iwdev->hw, iwdev 1587 drivers/infiniband/hw/i40iw/i40iw_main.c &iwdev->obj_mem, 8192, 4096); iwdev 1590 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->obj_next = iwdev->obj_mem; iwdev 1591 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->push_mode = push_mode; iwdev 1593 drivers/infiniband/hw/i40iw/i40iw_main.c init_waitqueue_head(&iwdev->vchnl_waitq); iwdev 1595 drivers/infiniband/hw/i40iw/i40iw_main.c init_waitqueue_head(&iwdev->close_wq); iwdev 1597 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_initialize_dev(iwdev, ldev); iwdev 1600 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->iw_msixtbl); iwdev 1601 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_free_dma_mem(dev->hw, &iwdev->obj_mem); iwdev 1602 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_msixtbl = NULL; iwdev 1613 drivers/infiniband/hw/i40iw/i40iw_main.c static void i40iw_get_used_rsrc(struct i40iw_device *iwdev) iwdev 1615 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->used_pds = find_next_zero_bit(iwdev->allocated_pds, iwdev->max_pd, 0); iwdev 1616 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->used_qps = find_next_zero_bit(iwdev->allocated_qps, iwdev->max_qp, 0); iwdev 1617 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->used_cqs = find_next_zero_bit(iwdev->allocated_cqs, iwdev->max_cq, 0); iwdev 1618 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->used_mrs = find_next_zero_bit(iwdev->allocated_mrs, iwdev->max_mr, 0); iwdev 1633 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev; iwdev 1645 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev = &hdl->device; iwdev 1646 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->hdl = hdl; iwdev 1647 drivers/infiniband/hw/i40iw/i40iw_main.c dev = &iwdev->sc_dev; iwdev 1648 drivers/infiniband/hw/i40iw/i40iw_main.c if (i40iw_setup_cm_core(iwdev)) { iwdev 1649 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->hdl); iwdev 1653 drivers/infiniband/hw/i40iw/i40iw_main.c dev->back_dev = (void *)iwdev; iwdev 1654 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->ldev = &hdl->ldev; iwdev 1655 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->client = client; iwdev 1656 drivers/infiniband/hw/i40iw/i40iw_main.c mutex_init(&iwdev->pbl_mutex); iwdev 1663 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = INITIAL_STATE; iwdev 1666 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_create_cqp(iwdev); iwdev 1669 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = CQP_CREATED; iwdev 1670 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_hmc_setup(iwdev); iwdev 1673 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_create_ccq(iwdev); iwdev 1676 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = CCQ_CREATED; iwdev 1677 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_initialize_ilq(iwdev); iwdev 1680 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = ILQ_CREATED; iwdev 1681 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_initialize_ieq(iwdev); iwdev 1684 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = IEQ_CREATED; iwdev 1685 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_setup_aeq(iwdev); iwdev 1688 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = AEQ_CREATED; iwdev 1689 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_setup_ceqs(iwdev, ldev); iwdev 1692 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = CEQ_CREATED; iwdev 1693 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_initialize_hw_resources(iwdev); iwdev 1696 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_get_used_rsrc(iwdev); iwdev 1698 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_hmc_init_pble(&iwdev->sc_dev, iwdev->pble_rsrc); iwdev 1701 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = PBLE_CHUNK_MEM; iwdev 1702 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->virtchnl_wq = alloc_ordered_workqueue("iwvch", WQ_MEM_RECLAIM); iwdev 1703 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_add_mac_ip(iwdev); iwdev 1706 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = IP_ADDR_REGISTERED; iwdev 1707 drivers/infiniband/hw/i40iw/i40iw_main.c if (i40iw_register_rdma_device(iwdev)) { iwdev 1712 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->init_state = RDMA_DEV_REGISTERED; iwdev 1713 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->iw_status = 1; iwdev 1714 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_port_ibevent(iwdev); iwdev 1715 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->param_wq = alloc_ordered_workqueue("l2params", WQ_MEM_RECLAIM); iwdev 1716 drivers/infiniband/hw/i40iw/i40iw_main.c if(iwdev->param_wq == NULL) iwdev 1722 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_pr_err("status = %d last completion = %d\n", status, iwdev->init_state); iwdev 1723 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_deinit_device(iwdev); iwdev 1735 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev = dwork->iwdev; iwdev 1737 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_change_l2params(&iwdev->vsi, &dwork->l2params); iwdev 1738 drivers/infiniband/hw/i40iw/i40iw_main.c atomic_dec(&iwdev->params_busy); iwdev 1754 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev; iwdev 1761 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev = &hdl->device; iwdev 1763 drivers/infiniband/hw/i40iw/i40iw_main.c if (atomic_read(&iwdev->params_busy)) iwdev 1771 drivers/infiniband/hw/i40iw/i40iw_main.c atomic_inc(&iwdev->params_busy); iwdev 1773 drivers/infiniband/hw/i40iw/i40iw_main.c work->iwdev = iwdev; iwdev 1778 drivers/infiniband/hw/i40iw/i40iw_main.c l2params->mtu = (params->mtu) ? params->mtu : iwdev->vsi.mtu; iwdev 1781 drivers/infiniband/hw/i40iw/i40iw_main.c queue_work(iwdev->param_wq, &work->work); iwdev 1794 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev; iwdev 1801 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev = &hdl->device; iwdev 1802 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->closing = true; iwdev 1805 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev->reset = true; iwdev 1807 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_cm_teardown_connections(iwdev, NULL, NULL, true); iwdev 1808 drivers/infiniband/hw/i40iw/i40iw_main.c destroy_workqueue(iwdev->virtchnl_wq); iwdev 1809 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_deinit_device(iwdev); iwdev 1830 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev; iwdev 1837 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1844 drivers/infiniband/hw/i40iw/i40iw_main.c spin_lock_irqsave(&iwdev->vsi.pestat->lock, flags); iwdev 1846 drivers/infiniband/hw/i40iw/i40iw_main.c spin_unlock_irqrestore(&iwdev->vsi.pestat->lock, flags); iwdev 1937 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev; iwdev 1948 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev = dev->back_dev; iwdev 1953 drivers/infiniband/hw/i40iw/i40iw_main.c atomic_dec(&iwdev->vchnl_msgs); iwdev 1954 drivers/infiniband/hw/i40iw/i40iw_main.c wake_up(&iwdev->vchnl_waitq); iwdev 1971 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev; iwdev 1974 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev = dev->back_dev; iwdev 1977 drivers/infiniband/hw/i40iw/i40iw_main.c (atomic_read(&iwdev->vchnl_msgs) == 0)) iwdev 1984 drivers/infiniband/hw/i40iw/i40iw_main.c (atomic_read(&iwdev->vchnl_msgs) == 0), iwdev 2008 drivers/infiniband/hw/i40iw/i40iw_main.c struct i40iw_device *iwdev; iwdev 2014 drivers/infiniband/hw/i40iw/i40iw_main.c iwdev = dev->back_dev; iwdev 2015 drivers/infiniband/hw/i40iw/i40iw_main.c ldev = iwdev->ldev; iwdev 208 drivers/infiniband/hw/i40iw/i40iw_osdep.h enum i40iw_status_code i40iw_hw_manage_vf_pble_bp(struct i40iw_device *iwdev, iwdev 61 drivers/infiniband/hw/i40iw/i40iw_utils.c int i40iw_arp_table(struct i40iw_device *iwdev, iwdev 78 drivers/infiniband/hw/i40iw/i40iw_utils.c for (arp_index = 0; (u32)arp_index < iwdev->arp_table_size; arp_index++) iwdev 79 drivers/infiniband/hw/i40iw/i40iw_utils.c if (memcmp(iwdev->arp_table[arp_index].ip_addr, ip, sizeof(ip)) == 0) iwdev 83 drivers/infiniband/hw/i40iw/i40iw_utils.c if (arp_index != iwdev->arp_table_size) iwdev 87 drivers/infiniband/hw/i40iw/i40iw_utils.c err = i40iw_alloc_resource(iwdev, iwdev->allocated_arps, iwdev 88 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev->arp_table_size, iwdev 90 drivers/infiniband/hw/i40iw/i40iw_utils.c &iwdev->next_arp_index); iwdev 95 drivers/infiniband/hw/i40iw/i40iw_utils.c memcpy(iwdev->arp_table[arp_index].ip_addr, ip, sizeof(ip)); iwdev 96 drivers/infiniband/hw/i40iw/i40iw_utils.c ether_addr_copy(iwdev->arp_table[arp_index].mac_addr, mac_addr); iwdev 99 drivers/infiniband/hw/i40iw/i40iw_utils.c if (arp_index == iwdev->arp_table_size) iwdev 103 drivers/infiniband/hw/i40iw/i40iw_utils.c if (arp_index == iwdev->arp_table_size) iwdev 105 drivers/infiniband/hw/i40iw/i40iw_utils.c memset(iwdev->arp_table[arp_index].ip_addr, 0, iwdev 106 drivers/infiniband/hw/i40iw/i40iw_utils.c sizeof(iwdev->arp_table[arp_index].ip_addr)); iwdev 107 drivers/infiniband/hw/i40iw/i40iw_utils.c eth_zero_addr(iwdev->arp_table[arp_index].mac_addr); iwdev 108 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_free_resource(iwdev, iwdev->allocated_arps, arp_index); iwdev 153 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev; iwdev 162 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev = &hdl->device; iwdev 163 drivers/infiniband/hw/i40iw/i40iw_utils.c if (iwdev->init_state < IP_ADDR_REGISTERED || iwdev->closing) iwdev 166 drivers/infiniband/hw/i40iw/i40iw_utils.c netdev = iwdev->ldev->netdev; iwdev 202 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_manage_arp_cache(iwdev, iwdev 207 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_if_notify(iwdev, netdev, &local_ipaddr, true, iwdev 229 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev; iwdev 238 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev = &hdl->device; iwdev 239 drivers/infiniband/hw/i40iw/i40iw_utils.c if (iwdev->init_state < IP_ADDR_REGISTERED || iwdev->closing) iwdev 242 drivers/infiniband/hw/i40iw/i40iw_utils.c netdev = iwdev->ldev->netdev; iwdev 254 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_manage_arp_cache(iwdev, iwdev 259 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_if_notify(iwdev, netdev, local_ipaddr6, false, iwdev 277 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev; iwdev 287 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev = &iwhdl->device; iwdev 288 drivers/infiniband/hw/i40iw/i40iw_utils.c if (iwdev->init_state < IP_ADDR_REGISTERED || iwdev->closing) iwdev 293 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_manage_arp_cache(iwdev, iwdev 300 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_manage_arp_cache(iwdev, iwdev 325 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev; iwdev 334 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev = &hdl->device; iwdev 335 drivers/infiniband/hw/i40iw/i40iw_utils.c if (iwdev->init_state < RDMA_DEV_REGISTERED || iwdev->closing) iwdev 338 drivers/infiniband/hw/i40iw/i40iw_utils.c netdev = iwdev->ldev->netdev; iwdev 342 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev->iw_status = 1; iwdev 346 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev->iw_status = 0; iwdev 349 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_port_ibevent(iwdev); iwdev 403 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = container_of(cqp, struct i40iw_device, cqp); iwdev 417 drivers/infiniband/hw/i40iw/i40iw_utils.c wake_up(&iwdev->close_wq); iwdev 440 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = container_of(cqp, struct i40iw_device, cqp); iwdev 448 drivers/infiniband/hw/i40iw/i40iw_utils.c wait_event_timeout(iwdev->close_wq, iwdev 457 drivers/infiniband/hw/i40iw/i40iw_utils.c void i40iw_cleanup_pending_cqp_op(struct i40iw_device *iwdev) iwdev 459 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 460 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_cqp *cqp = &iwdev->cqp; iwdev 491 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev; iwdev 494 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev = iwqp->iwdev; iwdev 496 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_rem_pdusecount(iwqp->iwpd, iwdev); iwdev 497 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_free_qp_resources(iwdev, iwqp, qp_num); iwdev 498 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_rem_devusecount(iwdev); iwdev 506 drivers/infiniband/hw/i40iw/i40iw_utils.c static int i40iw_wait_event(struct i40iw_device *iwdev, iwdev 510 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 515 drivers/infiniband/hw/i40iw/i40iw_utils.c cqp_timeout.compl_cqp_cmds = iwdev->sc_dev.cqp_cmd_stats[OP_COMPLETED_COMMANDS]; iwdev 521 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_check_cqp_progress(&cqp_timeout, &iwdev->sc_dev); iwdev 528 drivers/infiniband/hw/i40iw/i40iw_utils.c if (!iwdev->reset) { iwdev 529 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev->reset = true; iwdev 530 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_request_reset(iwdev); iwdev 552 drivers/infiniband/hw/i40iw/i40iw_utils.c enum i40iw_status_code i40iw_handle_cqp_op(struct i40iw_device *iwdev, iwdev 556 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 561 drivers/infiniband/hw/i40iw/i40iw_utils.c if (iwdev->reset) { iwdev 562 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_free_cqp_request(&iwdev->cqp, cqp_request); iwdev 569 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_free_cqp_request(&iwdev->cqp, cqp_request); iwdev 573 drivers/infiniband/hw/i40iw/i40iw_utils.c err_code = i40iw_wait_event(iwdev, cqp_request); iwdev 583 drivers/infiniband/hw/i40iw/i40iw_utils.c void i40iw_add_devusecount(struct i40iw_device *iwdev) iwdev 585 drivers/infiniband/hw/i40iw/i40iw_utils.c atomic64_inc(&iwdev->use_count); iwdev 592 drivers/infiniband/hw/i40iw/i40iw_utils.c void i40iw_rem_devusecount(struct i40iw_device *iwdev) iwdev 594 drivers/infiniband/hw/i40iw/i40iw_utils.c if (!atomic64_dec_and_test(&iwdev->use_count)) iwdev 596 drivers/infiniband/hw/i40iw/i40iw_utils.c wake_up(&iwdev->close_wq); iwdev 613 drivers/infiniband/hw/i40iw/i40iw_utils.c void i40iw_rem_pdusecount(struct i40iw_pd *iwpd, struct i40iw_device *iwdev) iwdev 617 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_free_resource(iwdev, iwdev->allocated_pds, iwpd->sc_pd.pd_id); iwdev 641 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev; iwdev 646 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev = iwqp->iwdev; iwdev 647 drivers/infiniband/hw/i40iw/i40iw_utils.c spin_lock_irqsave(&iwdev->qptable_lock, flags); iwdev 649 drivers/infiniband/hw/i40iw/i40iw_utils.c spin_unlock_irqrestore(&iwdev->qptable_lock, flags); iwdev 654 drivers/infiniband/hw/i40iw/i40iw_utils.c iwdev->qp_table[qp_num] = NULL; iwdev 655 drivers/infiniband/hw/i40iw/i40iw_utils.c spin_unlock_irqrestore(&iwdev->qptable_lock, flags); iwdev 656 drivers/infiniband/hw/i40iw/i40iw_utils.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, false); iwdev 668 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 672 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_rem_pdusecount(iwqp->iwpd, iwdev); iwdev 673 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_free_qp_resources(iwdev, iwqp, qp_num); iwdev 674 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_rem_devusecount(iwdev); iwdev 684 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = to_iwdev(device); iwdev 686 drivers/infiniband/hw/i40iw/i40iw_utils.c if ((qpn < IW_FIRST_QPN) || (qpn >= iwdev->max_qp)) iwdev 689 drivers/infiniband/hw/i40iw/i40iw_utils.c return &iwdev->qp_table[qpn]->ibqp; iwdev 837 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 839 drivers/infiniband/hw/i40iw/i40iw_utils.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 849 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 863 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 869 drivers/infiniband/hw/i40iw/i40iw_utils.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, false); iwdev 878 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 996 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 998 drivers/infiniband/hw/i40iw/i40iw_utils.c work = &iwdev->virtchnl_w[iw_vf_idx]; iwdev 1001 drivers/infiniband/hw/i40iw/i40iw_utils.c queue_work(iwdev->virtchnl_wq, &work->work); iwdev 1015 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = iwdev 1027 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_put_cqp_request(&iwdev->cqp, cqp_request); iwdev 1041 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = iwdev 1046 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_HMC, "%s1\n", __func__); iwdev 1048 drivers/infiniband/hw/i40iw/i40iw_utils.c work = &iwdev->virtchnl_w[hmcfcninfo->iw_vf_idx]; iwdev 1051 drivers/infiniband/hw/i40iw/i40iw_utils.c queue_work(iwdev->virtchnl_wq, &work->work); iwdev 1052 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_HMC, "%s2\n", __func__); iwdev 1054 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_HMC, "%s: Something wrong\n", __func__); iwdev 1069 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1071 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_debug(&iwdev->sc_dev, I40IW_DEBUG_HMC, "%s\n", __func__); iwdev 1072 drivers/infiniband/hw/i40iw/i40iw_utils.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, false); iwdev 1084 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1103 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1105 drivers/infiniband/hw/i40iw/i40iw_utils.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 1117 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1136 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1138 drivers/infiniband/hw/i40iw/i40iw_utils.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 1150 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1162 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = dev->back_dev; iwdev 1166 drivers/infiniband/hw/i40iw/i40iw_utils.c __func__, __LINE__, dev, iwdev); iwdev 1168 drivers/infiniband/hw/i40iw/i40iw_utils.c atomic_set(&iwdev->vchnl_msgs, 2); iwdev 1169 drivers/infiniband/hw/i40iw/i40iw_utils.c timeout_ret = wait_event_timeout(iwdev->vchnl_waitq, iwdev 1170 drivers/infiniband/hw/i40iw/i40iw_utils.c (atomic_read(&iwdev->vchnl_msgs) == 1), iwdev 1172 drivers/infiniband/hw/i40iw/i40iw_utils.c atomic_dec(&iwdev->vchnl_msgs); iwdev 1175 drivers/infiniband/hw/i40iw/i40iw_utils.c atomic_set(&iwdev->vchnl_msgs, 0); iwdev 1191 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1192 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 1206 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1221 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1222 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 1244 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1257 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1259 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_cq_wq_destroy(iwdev, cq); iwdev 1269 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1270 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 1287 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1301 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1306 drivers/infiniband/hw/i40iw/i40iw_utils.c i40iw_gen_ae(iwdev, qp, &info, false); iwdev 1356 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1358 drivers/infiniband/hw/i40iw/i40iw_utils.c status = i40iw_obj_aligned_mem(iwdev, mem, I40IW_QUERY_FPM_BUF_SIZE, iwdev 1398 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_device *iwdev = (struct i40iw_device *)dev->back_dev; iwdev 1420 drivers/infiniband/hw/i40iw/i40iw_utils.c cm_node = i40iw_find_node(&iwdev->cm_core, rem_port, rem_addr, loc_port, iwdev 61 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibdev); iwdev 66 drivers/infiniband/hw/i40iw/i40iw_verbs.c ether_addr_copy((u8 *)&props->sys_image_guid, iwdev->netdev->dev_addr); iwdev 68 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->device_cap_flags = iwdev->device_cap_flags; iwdev 69 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->vendor_id = iwdev->ldev->pcidev->vendor; iwdev 70 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->vendor_part_id = iwdev->ldev->pcidev->device; iwdev 71 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->hw_ver = (u32)iwdev->sc_dev.hw_rev; iwdev 73 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->max_qp = iwdev->max_qp - iwdev->used_qps; iwdev 77 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->max_cq = iwdev->max_cq - iwdev->used_cqs; iwdev 78 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->max_cqe = iwdev->max_cqe; iwdev 79 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->max_mr = iwdev->max_mr - iwdev->used_mrs; iwdev 80 drivers/infiniband/hw/i40iw/i40iw_verbs.c props->max_pd = iwdev->max_pd - iwdev->used_pds; iwdev 123 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibdev); iwdev 136 drivers/infiniband/hw/i40iw/i40iw_verbs.c uresp.max_qps = iwdev->max_qp; iwdev 137 drivers/infiniband/hw/i40iw/i40iw_verbs.c uresp.max_pds = iwdev->max_pd; iwdev 138 drivers/infiniband/hw/i40iw/i40iw_verbs.c uresp.wq_size = iwdev->max_qp_wr * 2; iwdev 141 drivers/infiniband/hw/i40iw/i40iw_verbs.c ucontext->iwdev = iwdev; iwdev 176 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (ucontext->iwdev->sc_dev.is_pf) { iwdev 201 drivers/infiniband/hw/i40iw/i40iw_verbs.c vma->vm_pgoff + (pci_resource_start(ucontext->iwdev->ldev->pcidev, 0) >> PAGE_SHIFT), iwdev 213 drivers/infiniband/hw/i40iw/i40iw_verbs.c static void i40iw_alloc_push_page(struct i40iw_device *iwdev, struct i40iw_sc_qp *qp) iwdev 222 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 234 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_info->in.u.manage_push_page.cqp = &iwdev->cqp.sc_cqp; iwdev 237 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 242 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_put_cqp_request(&iwdev->cqp, cqp_request); iwdev 250 drivers/infiniband/hw/i40iw/i40iw_verbs.c static void i40iw_dealloc_push_page(struct i40iw_device *iwdev, struct i40iw_sc_qp *qp) iwdev 259 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, false); iwdev 270 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_info->in.u.manage_push_page.cqp = &iwdev->cqp.sc_cqp; iwdev 273 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 288 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(pd->device); iwdev 289 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 295 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (iwdev->closing) iwdev 298 drivers/infiniband/hw/i40iw/i40iw_verbs.c err = i40iw_alloc_resource(iwdev, iwdev->allocated_pds, iwdev 299 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev->max_pd, &pd_id, &iwdev->next_pd); iwdev 325 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_resource(iwdev, iwdev->allocated_pds, pd_id); iwdev 337 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibpd->device); iwdev 339 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_rem_pdusecount(iwpd, iwdev); iwdev 369 drivers/infiniband/hw/i40iw/i40iw_verbs.c void i40iw_free_qp_resources(struct i40iw_device *iwdev, iwdev 375 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_ieq_cleanup_qp(iwdev->vsi.ieq, &iwqp->sc_qp); iwdev 376 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_dealloc_push_page(iwdev, &iwqp->sc_qp); iwdev 378 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_resource(iwdev, iwdev->allocated_qps, qp_num); iwdev 380 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, &iwpbl->pble_alloc); iwdev 381 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_dma_mem(iwdev->sc_dev.hw, &iwqp->q2_ctx_mem); iwdev 382 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_dma_mem(iwdev->sc_dev.hw, &iwqp->kqp.dma_mem); iwdev 431 drivers/infiniband/hw/i40iw/i40iw_verbs.c static int i40iw_setup_virt_qp(struct i40iw_device *iwdev, iwdev 457 drivers/infiniband/hw/i40iw/i40iw_verbs.c static int i40iw_setup_kmode_qp(struct i40iw_device *iwdev, iwdev 489 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_allocate_dma_mem(iwdev->sc_dev.hw, mem, size, 256); iwdev 522 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibpd->device); iwdev 523 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_cqp *iwcqp = &iwdev->cqp; iwdev 536 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 546 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (iwdev->closing) iwdev 565 drivers/infiniband/hw/i40iw/i40iw_verbs.c init_info.vsi = &iwdev->vsi; iwdev 599 drivers/infiniband/hw/i40iw/i40iw_verbs.c err_code = i40iw_alloc_resource(iwdev, iwdev->allocated_qps, iwdev->max_qp, iwdev 600 drivers/infiniband/hw/i40iw/i40iw_verbs.c &qp_num, &iwdev->next_qp); iwdev 606 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwqp->iwdev = iwdev; iwdev 625 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (iwdev->push_mode) iwdev 626 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_alloc_push_page(iwdev, qp); iwdev 654 drivers/infiniband/hw/i40iw/i40iw_verbs.c err_code = i40iw_setup_virt_qp(iwdev, iwqp, &init_info); iwdev 656 drivers/infiniband/hw/i40iw/i40iw_verbs.c err_code = i40iw_setup_kmode_qp(iwdev, iwqp, &init_info); iwdev 713 drivers/infiniband/hw/i40iw/i40iw_verbs.c ret = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 723 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev->qp_table[qp_num] = iwqp; iwdev 725 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_add_devusecount(iwdev); iwdev 745 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_qp_resources(iwdev, iwqp, qp_num); iwdev 790 drivers/infiniband/hw/i40iw/i40iw_verbs.c void i40iw_hw_modify_qp(struct i40iw_device *iwdev, struct i40iw_qp *iwqp, iwdev 798 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, wait); iwdev 809 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (!i40iw_handle_cqp_op(iwdev, cqp_request)) iwdev 822 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_gen_ae(iwdev, &iwqp->sc_qp, &ae_info, false); iwdev 841 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = iwqp->iwdev; iwdev 857 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (iwdev->closing && attr->qp_state != IB_QPS_ERR) { iwdev 925 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev->iw_status && iwdev 960 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 978 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_hw_modify_qp(iwdev, iwqp, &info, true); iwdev 1018 drivers/infiniband/hw/i40iw/i40iw_verbs.c static void cq_free_resources(struct i40iw_device *iwdev, struct i40iw_cq *iwcq) iwdev 1023 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_dma_mem(iwdev->sc_dev.hw, &iwcq->kmem); iwdev 1024 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_resource(iwdev, iwdev->allocated_cqs, cq->cq_uk.cq_id); iwdev 1032 drivers/infiniband/hw/i40iw/i40iw_verbs.c void i40iw_cq_wq_destroy(struct i40iw_device *iwdev, struct i40iw_sc_cq *cq) iwdev 1038 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 1048 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1061 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev; iwdev 1065 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev = to_iwdev(ib_cq->device); iwdev 1067 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_cq_wq_destroy(iwdev, cq); iwdev 1068 drivers/infiniband/hw/i40iw/i40iw_verbs.c cq_free_resources(iwdev, iwcq); iwdev 1069 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_rem_devusecount(iwdev); iwdev 1083 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibdev); iwdev 1088 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 1098 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (iwdev->closing) iwdev 1101 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (entries > iwdev->max_cqe) iwdev 1104 drivers/infiniband/hw/i40iw/i40iw_verbs.c err_code = i40iw_alloc_resource(iwdev, iwdev->allocated_cqs, iwdev 1105 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev->max_cq, &cq_num, iwdev 1106 drivers/infiniband/hw/i40iw/i40iw_verbs.c &iwdev->next_cq); iwdev 1119 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (attr->comp_vector < iwdev->ceqs_count) iwdev 1183 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 1194 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1214 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_add_devusecount(iwdev); iwdev 1218 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_cq_wq_destroy(iwdev, cq); iwdev 1220 drivers/infiniband/hw/i40iw/i40iw_verbs.c cq_free_resources(iwdev, iwcq); iwdev 1244 drivers/infiniband/hw/i40iw/i40iw_verbs.c static void i40iw_free_stag(struct i40iw_device *iwdev, u32 stag) iwdev 1248 drivers/infiniband/hw/i40iw/i40iw_verbs.c stag_idx = (stag & iwdev->mr_stagmask) >> I40IW_CQPSQ_STAG_IDX_SHIFT; iwdev 1249 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_resource(iwdev, iwdev->allocated_mrs, stag_idx); iwdev 1250 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_rem_devusecount(iwdev); iwdev 1257 drivers/infiniband/hw/i40iw/i40iw_verbs.c static u32 i40iw_create_stag(struct i40iw_device *iwdev) iwdev 1270 drivers/infiniband/hw/i40iw/i40iw_verbs.c driver_key = random & ~iwdev->mr_stagmask; iwdev 1271 drivers/infiniband/hw/i40iw/i40iw_verbs.c next_stag_index = (random & iwdev->mr_stagmask) >> 8; iwdev 1272 drivers/infiniband/hw/i40iw/i40iw_verbs.c next_stag_index %= iwdev->max_mr; iwdev 1274 drivers/infiniband/hw/i40iw/i40iw_verbs.c ret = i40iw_alloc_resource(iwdev, iwdev 1275 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev->allocated_mrs, iwdev->max_mr, iwdev 1281 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_add_devusecount(iwdev); iwdev 1391 drivers/infiniband/hw/i40iw/i40iw_verbs.c static int i40iw_setup_pbles(struct i40iw_device *iwdev, iwdev 1403 drivers/infiniband/hw/i40iw/i40iw_verbs.c mutex_lock(&iwdev->pbl_mutex); iwdev 1404 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_get_pble(&iwdev->sc_dev, iwdev->pble_rsrc, palloc, iwmr->page_cnt); iwdev 1405 drivers/infiniband/hw/i40iw/i40iw_verbs.c mutex_unlock(&iwdev->pbl_mutex); iwdev 1432 drivers/infiniband/hw/i40iw/i40iw_verbs.c static int i40iw_handle_q_mem(struct i40iw_device *iwdev, iwdev 1451 drivers/infiniband/hw/i40iw/i40iw_verbs.c err = i40iw_setup_pbles(iwdev, iwmr, use_pbles); iwdev 1456 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); iwdev 1497 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); iwdev 1509 drivers/infiniband/hw/i40iw/i40iw_verbs.c static int i40iw_hw_alloc_stag(struct i40iw_device *iwdev, struct i40iw_mr *iwmr) iwdev 1518 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 1532 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_info->in.u.alloc_stag.dev = &iwdev->sc_dev; iwdev 1535 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1554 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(pd->device); iwdev 1566 drivers/infiniband/hw/i40iw/i40iw_verbs.c stag = i40iw_create_stag(iwdev); iwdev 1582 drivers/infiniband/hw/i40iw/i40iw_verbs.c mutex_lock(&iwdev->pbl_mutex); iwdev 1583 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_get_pble(&iwdev->sc_dev, iwdev->pble_rsrc, palloc, iwmr->page_cnt); iwdev 1584 drivers/infiniband/hw/i40iw/i40iw_verbs.c mutex_unlock(&iwdev->pbl_mutex); iwdev 1590 drivers/infiniband/hw/i40iw/i40iw_verbs.c err_code = i40iw_hw_alloc_stag(iwdev, iwmr); iwdev 1597 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); iwdev 1599 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_stag(iwdev, stag); iwdev 1672 drivers/infiniband/hw/i40iw/i40iw_verbs.c static int i40iw_hwreg_mr(struct i40iw_device *iwdev, iwdev 1685 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 1715 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_info->in.u.mr_reg_non_shared.dev = &iwdev->sc_dev; iwdev 1718 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 1743 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(pd->device); iwdev 1761 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (iwdev->closing) iwdev 1807 drivers/infiniband/hw/i40iw/i40iw_verbs.c err = i40iw_handle_q_mem(iwdev, &req, iwpbl, use_pbles); iwdev 1817 drivers/infiniband/hw/i40iw/i40iw_verbs.c err = i40iw_handle_q_mem(iwdev, &req, iwpbl, use_pbles); iwdev 1830 drivers/infiniband/hw/i40iw/i40iw_verbs.c err = i40iw_setup_pbles(iwdev, iwmr, use_pbles); iwdev 1837 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); iwdev 1843 drivers/infiniband/hw/i40iw/i40iw_verbs.c stag = i40iw_create_stag(iwdev); iwdev 1853 drivers/infiniband/hw/i40iw/i40iw_verbs.c err = i40iw_hwreg_mr(iwdev, iwmr, access); iwdev 1855 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_stag(iwdev, stag); iwdev 1871 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); iwdev 1892 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(pd->device); iwdev 1909 drivers/infiniband/hw/i40iw/i40iw_verbs.c stag = i40iw_create_stag(iwdev); iwdev 1921 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_hwreg_mr(iwdev, iwmr, access); iwdev 1923 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_stag(iwdev, stag); iwdev 1989 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ib_mr->device); iwdev 2012 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); iwdev 2017 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_request = i40iw_get_cqp_request(&iwdev->cqp, true); iwdev 2034 drivers/infiniband/hw/i40iw/i40iw_verbs.c cqp_info->in.u.dealloc_stag.dev = &iwdev->sc_dev; iwdev 2036 drivers/infiniband/hw/i40iw/i40iw_verbs.c status = i40iw_handle_cqp_op(iwdev, cqp_request); iwdev 2039 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_rem_pdusecount(iwpd, iwdev); iwdev 2040 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_stag(iwdev, iwmr->stag); iwdev 2042 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_free_pble(iwdev->pble_rsrc, palloc); iwdev 2055 drivers/infiniband/hw/i40iw/i40iw_verbs.c u32 hw_rev = iwibdev->iwdev->sc_dev.hw_rev; iwdev 2237 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_sc_dev *dev = &iwqp->iwdev->sc_dev; iwdev 2550 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibdev); iwdev 2551 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 2581 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibdev); iwdev 2582 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_sc_dev *dev = &iwdev->sc_dev; iwdev 2583 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_vsi_pestat *devstat = iwdev->vsi.pestat; iwdev 2610 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_device *iwdev = to_iwdev(ibdev); iwdev 2613 drivers/infiniband/hw/i40iw/i40iw_verbs.c ether_addr_copy(gid->raw, iwdev->netdev->dev_addr); iwdev 2686 drivers/infiniband/hw/i40iw/i40iw_verbs.c static struct i40iw_ib_device *i40iw_init_rdma_device(struct i40iw_device *iwdev) iwdev 2689 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct net_device *netdev = iwdev->netdev; iwdev 2690 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct pci_dev *pcidev = (struct pci_dev *)iwdev->hw.dev_context; iwdev 2697 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev->iwibdev = iwibdev; iwdev 2698 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwibdev->iwdev = iwdev; iwdev 2725 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwibdev->ibdev.num_comp_vectors = iwdev->ceqs_count; iwdev 2738 drivers/infiniband/hw/i40iw/i40iw_verbs.c void i40iw_port_ibevent(struct i40iw_device *iwdev) iwdev 2740 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_ib_device *iwibdev = iwdev->iwibdev; iwdev 2745 drivers/infiniband/hw/i40iw/i40iw_verbs.c event.event = iwdev->iw_status ? IB_EVENT_PORT_ACTIVE : IB_EVENT_PORT_ERR; iwdev 2756 drivers/infiniband/hw/i40iw/i40iw_verbs.c wait_event_timeout(iwibdev->iwdev->close_wq, iwdev 2757 drivers/infiniband/hw/i40iw/i40iw_verbs.c !atomic64_read(&iwibdev->iwdev->use_count), iwdev 2766 drivers/infiniband/hw/i40iw/i40iw_verbs.c int i40iw_register_rdma_device(struct i40iw_device *iwdev) iwdev 2771 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwdev->iwibdev = i40iw_init_rdma_device(iwdev); iwdev 2772 drivers/infiniband/hw/i40iw/i40iw_verbs.c if (!iwdev->iwibdev) iwdev 2774 drivers/infiniband/hw/i40iw/i40iw_verbs.c iwibdev = iwdev->iwibdev; iwdev 2776 drivers/infiniband/hw/i40iw/i40iw_verbs.c ret = ib_device_set_netdev(&iwibdev->ibdev, iwdev->netdev, 1); iwdev 2786 drivers/infiniband/hw/i40iw/i40iw_verbs.c ib_dealloc_device(&iwdev->iwibdev->ibdev); iwdev 40 drivers/infiniband/hw/i40iw/i40iw_verbs.h struct i40iw_device *iwdev; iwdev 136 drivers/infiniband/hw/i40iw/i40iw_verbs.h struct i40iw_device *iwdev;