Lines Matching refs:iwdev

219 	struct irdma_device *iwdev = rf->iwdev;  in irdma_process_aeq()  local
235 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_AEQ, in irdma_process_aeq()
248 struct irdma_device *iwdev = rf->iwdev; in irdma_process_aeq() local
250 if (!iwdev->vsi.tc_change_pending) in irdma_process_aeq()
253 atomic_dec(&iwdev->vsi.qp_suspend_reqs); in irdma_process_aeq()
254 wake_up(&iwdev->suspend_wq); in irdma_process_aeq()
257 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_AEQ, in irdma_process_aeq()
324 if (iwqp->iwdev->vsi.tc_change_pending) { in irdma_process_aeq()
326 wake_up(&iwqp->iwdev->suspend_wq); in irdma_process_aeq()
330 wake_up(&iwqp->iwdev->suspend_wq); in irdma_process_aeq()
341 irdma_dev_err(&iwdev->ibdev, in irdma_process_aeq()
349 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_AEQ, in irdma_process_aeq()
371 irdma_dev_err(&iwdev->ibdev, in irdma_process_aeq()
400 irdma_dev_err(&iwdev->ibdev, in irdma_process_aeq()
404 if (rdma_protocol_roce(&iwqp->iwdev->ibdev, 1)) { in irdma_process_aeq()
1127 irdma_alloc_set_mac(struct irdma_device *iwdev) in irdma_alloc_set_mac() argument
1131 status = irdma_alloc_local_mac_entry(iwdev->rf, in irdma_alloc_set_mac()
1132 &iwdev->mac_ip_table_idx); in irdma_alloc_set_mac()
1134 status = irdma_add_local_mac_entry(iwdev->rf, in irdma_alloc_set_mac()
1135 (const u8 *)if_getlladdr(iwdev->netdev), in irdma_alloc_set_mac()
1136 (u8)iwdev->mac_ip_table_idx); in irdma_alloc_set_mac()
1138 irdma_del_local_mac_entry(iwdev->rf, in irdma_alloc_set_mac()
1139 (u8)iwdev->mac_ip_table_idx); in irdma_alloc_set_mac()
1563 irdma_initialize_ilq(struct irdma_device *iwdev) in irdma_initialize_ilq() argument
1574 info.sq_size = min(iwdev->rf->max_qp / 2, (u32)32768); in irdma_initialize_ilq()
1580 status = irdma_puda_create_rsrc(&iwdev->vsi, &info); in irdma_initialize_ilq()
1582 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_ERR, "ilq create fail\n"); in irdma_initialize_ilq()
1594 irdma_initialize_ieq(struct irdma_device *iwdev) in irdma_initialize_ieq() argument
1601 info.qp_id = iwdev->vsi.exception_lan_q; in irdma_initialize_ieq()
1605 info.sq_size = min(iwdev->rf->max_qp / 2, (u32)32768); in irdma_initialize_ieq()
1607 info.buf_size = iwdev->vsi.mtu + IRDMA_IPV4_PAD; in irdma_initialize_ieq()
1609 status = irdma_puda_create_rsrc(&iwdev->vsi, &info); in irdma_initialize_ieq()
1611 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_ERR, "ieq create fail\n"); in irdma_initialize_ieq()
1623 struct irdma_device *iwdev = vsi->back_vsi; in irdma_reinitialize_ieq() local
1624 struct irdma_pci_f *rf = iwdev->rf; in irdma_reinitialize_ieq()
1627 if (irdma_initialize_ieq(iwdev)) { in irdma_reinitialize_ieq()
1628 iwdev->rf->reset = true; in irdma_reinitialize_ieq()
1759 irdma_rt_deinit_hw(struct irdma_device *iwdev) in irdma_rt_deinit_hw() argument
1763 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_INIT, "state = %d\n", iwdev->init_state); in irdma_rt_deinit_hw()
1765 switch (iwdev->init_state) { in irdma_rt_deinit_hw()
1767 if (iwdev->rf->sc_dev.hw_attrs.uk_attrs.hw_rev == IRDMA_GEN_1) in irdma_rt_deinit_hw()
1768 irdma_del_local_mac_entry(iwdev->rf, in irdma_rt_deinit_hw()
1769 (u8)iwdev->mac_ip_table_idx); in irdma_rt_deinit_hw()
1775 if (iwdev->rf->en_rem_endpoint_trk) { in irdma_rt_deinit_hw()
1776 qp.dev = &iwdev->rf->sc_dev; in irdma_rt_deinit_hw()
1783 if (!iwdev->roce_mode) in irdma_rt_deinit_hw()
1784 irdma_puda_dele_rsrc(&iwdev->vsi, IRDMA_PUDA_RSRC_TYPE_IEQ, in irdma_rt_deinit_hw()
1785 iwdev->rf->reset); in irdma_rt_deinit_hw()
1788 if (!iwdev->roce_mode) in irdma_rt_deinit_hw()
1789 irdma_puda_dele_rsrc(&iwdev->vsi, in irdma_rt_deinit_hw()
1791 iwdev->rf->reset); in irdma_rt_deinit_hw()
1794 irdma_dev_warn(&iwdev->ibdev, "bad init_state = %d\n", iwdev->init_state); in irdma_rt_deinit_hw()
1798 irdma_cleanup_cm_core(&iwdev->cm_core); in irdma_rt_deinit_hw()
1799 if (iwdev->vsi.pestat) { in irdma_rt_deinit_hw()
1800 irdma_vsi_stats_free(&iwdev->vsi); in irdma_rt_deinit_hw()
1801 kfree(iwdev->vsi.pestat); in irdma_rt_deinit_hw()
1803 if (iwdev->cleanup_wq) in irdma_rt_deinit_hw()
1804 destroy_workqueue(iwdev->cleanup_wq); in irdma_rt_deinit_hw()
1847 irdma_get_used_rsrc(struct irdma_device *iwdev) in irdma_get_used_rsrc() argument
1849 iwdev->rf->used_pds = find_first_zero_bit(iwdev->rf->allocated_pds, in irdma_get_used_rsrc()
1850 iwdev->rf->max_pd); in irdma_get_used_rsrc()
1851 iwdev->rf->used_qps = find_first_zero_bit(iwdev->rf->allocated_qps, in irdma_get_used_rsrc()
1852 iwdev->rf->max_qp); in irdma_get_used_rsrc()
1853 iwdev->rf->used_cqs = find_first_zero_bit(iwdev->rf->allocated_cqs, in irdma_get_used_rsrc()
1854 iwdev->rf->max_cq); in irdma_get_used_rsrc()
1855 iwdev->rf->used_mrs = find_first_zero_bit(iwdev->rf->allocated_mrs, in irdma_get_used_rsrc()
1856 iwdev->rf->max_mr); in irdma_get_used_rsrc()
1892 irdma_dev_warn(&rf->iwdev->ibdev, "bad init_state = %d\n", rf->init_state); in irdma_ctrl_deinit_hw()
1906 irdma_rt_init_hw(struct irdma_device *iwdev, in irdma_rt_init_hw() argument
1909 struct irdma_pci_f *rf = iwdev->rf; in irdma_rt_init_hw()
1917 vsi_info.back_vsi = iwdev; in irdma_rt_init_hw()
1919 vsi_info.pf_data_vsi_num = iwdev->vsi_num; in irdma_rt_init_hw()
1923 irdma_sc_vsi_init(&iwdev->vsi, &vsi_info); in irdma_rt_init_hw()
1925 status = irdma_setup_cm_core(iwdev, rf->rdma_ver); in irdma_rt_init_hw()
1931 irdma_cleanup_cm_core(&iwdev->cm_core); in irdma_rt_init_hw()
1935 status = irdma_vsi_stats_init(&iwdev->vsi, &stats_info); in irdma_rt_init_hw()
1937 irdma_cleanup_cm_core(&iwdev->cm_core); in irdma_rt_init_hw()
1943 if (!iwdev->roce_mode) { in irdma_rt_init_hw()
1944 status = irdma_initialize_ilq(iwdev); in irdma_rt_init_hw()
1947 iwdev->init_state = ILQ_CREATED; in irdma_rt_init_hw()
1948 status = irdma_initialize_ieq(iwdev); in irdma_rt_init_hw()
1951 iwdev->init_state = IEQ_CREATED; in irdma_rt_init_hw()
1953 if (iwdev->rf->en_rem_endpoint_trk) { in irdma_rt_init_hw()
1960 iwdev->init_state = REM_ENDPOINT_TRK_CREATED; in irdma_rt_init_hw()
1963 status = irdma_setup_ceqs(rf, &iwdev->vsi); in irdma_rt_init_hw()
1967 iwdev->init_state = CEQS_CREATED; in irdma_rt_init_hw()
1976 iwdev->init_state = PBLE_CHUNK_MEM; in irdma_rt_init_hw()
1984 iwdev->init_state = AEQ_CREATED; in irdma_rt_init_hw()
1988 if (iwdev->rf->sc_dev.hw_attrs.uk_attrs.hw_rev == IRDMA_GEN_1) in irdma_rt_init_hw()
1989 irdma_alloc_set_mac(iwdev); in irdma_rt_init_hw()
1990 irdma_add_ip(iwdev); in irdma_rt_init_hw()
1991 iwdev->init_state = IP_ADDR_REGISTERED; in irdma_rt_init_hw()
1996 iwdev->cleanup_wq = alloc_workqueue("irdma-cleanup-wq", in irdma_rt_init_hw()
1998 if (!iwdev->cleanup_wq) in irdma_rt_init_hw()
2000 irdma_get_used_rsrc(iwdev); in irdma_rt_init_hw()
2001 init_waitqueue_head(&iwdev->suspend_wq); in irdma_rt_init_hw()
2007 status, iwdev->init_state); in irdma_rt_init_hw()
2008 irdma_rt_deinit_hw(iwdev); in irdma_rt_init_hw()
2227 irdma_dev_err(&rf->iwdev->ibdev, in irdma_cqp_ce_handler()
2314 irdma_hw_modify_qp(iwqp->iwdev, iwqp, &info, 0); in irdma_next_iw_state()
2425 irdma_cqp_manage_apbvt_cmd(struct irdma_device *iwdev, in irdma_cqp_manage_apbvt_cmd() argument
2433 cqp_request = irdma_alloc_and_get_cqp_request(&iwdev->rf->cqp, add_port); in irdma_cqp_manage_apbvt_cmd()
2444 cqp_info->in.u.manage_apbvt_entry.cqp = &iwdev->rf->cqp.sc_cqp; in irdma_cqp_manage_apbvt_cmd()
2446 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_DEV, in irdma_cqp_manage_apbvt_cmd()
2450 status = irdma_handle_cqp_op(iwdev->rf, cqp_request); in irdma_cqp_manage_apbvt_cmd()
2451 irdma_put_cqp_request(&iwdev->rf->cqp, cqp_request); in irdma_cqp_manage_apbvt_cmd()
2462 irdma_add_apbvt(struct irdma_device *iwdev, u16 port) in irdma_add_apbvt() argument
2464 struct irdma_cm_core *cm_core = &iwdev->cm_core; in irdma_add_apbvt()
2486 if (irdma_cqp_manage_apbvt_cmd(iwdev, port, true)) { in irdma_add_apbvt()
2500 irdma_del_apbvt(struct irdma_device *iwdev, in irdma_del_apbvt() argument
2503 struct irdma_cm_core *cm_core = &iwdev->cm_core; in irdma_del_apbvt()
2517 irdma_cqp_manage_apbvt_cmd(iwdev, entry->port, false); in irdma_del_apbvt()
2593 irdma_manage_qhash(struct irdma_device *iwdev, struct irdma_cm_info *cminfo, in irdma_manage_qhash() argument
2599 struct irdma_cqp *iwcqp = &iwdev->rf->cqp; in irdma_manage_qhash()
2615 info->vsi = &iwdev->vsi; in irdma_manage_qhash()
2626 ether_addr_copy(info->mac_addr, if_getlladdr(iwdev->netdev)); in irdma_manage_qhash()
2651 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, in irdma_manage_qhash()
2661 irdma_debug(&iwdev->rf->sc_dev, IRDMA_DEBUG_CM, in irdma_manage_qhash()
2672 cqp_info->in.u.manage_qhash_table_entry.cqp = &iwdev->rf->cqp.sc_cqp; in irdma_manage_qhash()
2676 status = irdma_handle_cqp_op(iwdev->rf, cqp_request); in irdma_manage_qhash()
2786 struct irdma_pci_f *rf = iwqp->iwdev->rf; in irdma_flush_wqes()
2816 irdma_dev_warn(&iwqp->iwdev->ibdev, "failed to upload QP context\n"); in irdma_flush_wqes()