Home
last modified time | relevance | path

Searched refs:rcfw (Results 1 – 14 of 14) sorted by relevance

/linux/drivers/infiniband/hw/bng_re/
H A Dbng_fw.c53 void bng_re_free_rcfw_channel(struct bng_re_rcfw *rcfw) in bng_re_free_rcfw_channel() argument
55 kfree(rcfw->crsqe_tbl); in bng_re_free_rcfw_channel()
56 bng_re_free_hwq(rcfw->res, &rcfw->cmdq.hwq); in bng_re_free_rcfw_channel()
57 bng_re_free_hwq(rcfw->res, &rcfw->creq.hwq); in bng_re_free_rcfw_channel()
58 rcfw->pdev = NULL; in bng_re_free_rcfw_channel()
62 struct bng_re_rcfw *rcfw) in bng_re_alloc_fw_channel() argument
69 rcfw->pdev = res->pdev; in bng_re_alloc_fw_channel()
70 cmdq = &rcfw->cmdq; in bng_re_alloc_fw_channel()
71 creq = &rcfw->creq; in bng_re_alloc_fw_channel()
72 rcfw->res = res; in bng_re_alloc_fw_channel()
[all …]
H A Dbng_sp.c11 static bool bng_re_is_atomic_cap(struct bng_re_rcfw *rcfw) in bng_re_is_atomic_cap() argument
15 pcie_capability_read_word(rcfw->pdev, PCI_EXP_DEVCTL2, &pcie_ctl2); in bng_re_is_atomic_cap()
19 static void bng_re_query_version(struct bng_re_rcfw *rcfw, in bng_re_query_version() argument
32 rc = bng_re_rcfw_send_message(rcfw, &msg); in bng_re_query_version()
41 int bng_re_get_dev_attr(struct bng_re_rcfw *rcfw) in bng_re_get_dev_attr() argument
43 struct bng_re_dev_attr *attr = rcfw->res->dattr; in bng_re_get_dev_attr()
58 sbuf.sb = dma_alloc_coherent(&rcfw->pdev->dev, sbuf.size, in bng_re_get_dev_attr()
66 rc = bng_re_rcfw_send_message(rcfw, &msg); in bng_re_get_dev_attr()
115 bng_re_query_version(rcfw, attr->fw_ver); in bng_re_get_dev_attr()
126 attr->is_atomic = bng_re_is_atomic_cap(rcfw); in bng_re_get_dev_attr()
[all …]
H A Dbng_fw.h196 void bng_re_free_rcfw_channel(struct bng_re_rcfw *rcfw);
198 struct bng_re_rcfw *rcfw);
199 int bng_re_enable_fw_channel(struct bng_re_rcfw *rcfw,
202 void bng_re_disable_rcfw_channel(struct bng_re_rcfw *rcfw);
203 int bng_re_rcfw_start_irq(struct bng_re_rcfw *rcfw, int msix_vector,
205 void bng_re_rcfw_stop_irq(struct bng_re_rcfw *rcfw, bool kill);
206 int bng_re_rcfw_send_message(struct bng_re_rcfw *rcfw,
208 int bng_re_init_rcfw(struct bng_re_rcfw *rcfw,
210 int bng_re_deinit_rcfw(struct bng_re_rcfw *rcfw);
H A Dbng_dev.c65 rdev->rcfw.res = NULL; in bng_re_destroy_chip_ctx()
79 rdev->rcfw.res = &rdev->bng_res; in bng_re_setup_chip_ctx()
273 rc = bng_re_deinit_rcfw(&rdev->rcfw); in bng_re_dev_uninit()
279 bng_re_disable_rcfw_channel(&rdev->rcfw); in bng_re_dev_uninit()
280 bng_re_net_ring_free(rdev, rdev->rcfw.creq.ring_id, in bng_re_dev_uninit()
282 bng_re_free_rcfw_channel(&rdev->rcfw); in bng_re_dev_uninit()
332 rc = bng_re_alloc_fw_channel(&rdev->bng_res, &rdev->rcfw); in bng_re_dev_init()
353 creq = &rdev->rcfw.creq; in bng_re_dev_init()
368 rc = bng_re_enable_fw_channel(&rdev->rcfw, in bng_re_dev_init()
376 rc = bng_re_get_dev_attr(&rdev->rcfw); in bng_re_dev_init()
[all …]
H A Dbng_sp.h46 int bng_re_get_dev_attr(struct bng_re_rcfw *rcfw);
H A Dbng_re.h77 struct bng_re_rcfw rcfw; member
/linux/drivers/infiniband/hw/bnxt_re/
H A Dqplib_rcfw.c111 static int bnxt_re_is_fw_stalled(struct bnxt_qplib_rcfw *rcfw, in bnxt_re_is_fw_stalled() argument
117 crsqe = &rcfw->crsqe_tbl[cookie]; in bnxt_re_is_fw_stalled()
118 cmdq = &rcfw->cmdq; in bnxt_re_is_fw_stalled()
121 (rcfw->max_timeout * HZ))) { in bnxt_re_is_fw_stalled()
122 dev_warn_ratelimited(&rcfw->pdev->dev, in bnxt_re_is_fw_stalled()
126 rcfw->max_timeout * 1000, in bnxt_re_is_fw_stalled()
145 static int __wait_for_resp(struct bnxt_qplib_rcfw *rcfw, u16 cookie) in __wait_for_resp() argument
151 cmdq = &rcfw->cmdq; in __wait_for_resp()
152 crsqe = &rcfw->crsqe_tbl[cookie]; in __wait_for_resp()
163 secs_to_jiffies(rcfw->max_timeout)); in __wait_for_resp()
[all …]
H A Dqplib_sp.c58 static bool bnxt_qplib_is_atomic_cap(struct bnxt_qplib_rcfw *rcfw) in bnxt_qplib_is_atomic_cap() argument
62 if (!bnxt_qplib_is_chip_gen_p5_p7(rcfw->res->cctx)) in bnxt_qplib_is_atomic_cap()
65 pcie_capability_read_word(rcfw->pdev, PCI_EXP_DEVCTL2, &pcie_ctl2); in bnxt_qplib_is_atomic_cap()
69 void bnxt_qplib_query_version(struct bnxt_qplib_rcfw *rcfw) in bnxt_qplib_query_version() argument
77 attr = rcfw->res->dattr; in bnxt_qplib_query_version()
83 rc = bnxt_qplib_rcfw_send_message(rcfw, &msg); in bnxt_qplib_query_version()
92 int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw) in bnxt_qplib_get_dev_attr() argument
94 struct bnxt_qplib_dev_attr *attr = rcfw->res->dattr; in bnxt_qplib_get_dev_attr()
105 cctx = rcfw->res->cctx; in bnxt_qplib_get_dev_attr()
111 sbuf.sb = dma_alloc_coherent(&rcfw->pdev->dev, sbuf.size, in bnxt_qplib_get_dev_attr()
[all …]
H A Dmain.c158 rdev->rcfw.res = NULL; in bnxt_re_destroy_chip_ctx()
184 rdev->rcfw.res = &rdev->qplib_res; in bnxt_re_setup_chip_ctx()
312 bnxt_qplib_set_func_resources(&rdev->qplib_res, &rdev->rcfw, in bnxt_re_vf_res_config()
440 struct bnxt_qplib_rcfw *rcfw; in bnxt_re_stop_irq() local
448 rcfw = &rdev->rcfw; in bnxt_re_stop_irq()
451 set_bit(ERR_DEVICE_DETACHED, &rdev->rcfw.cmdq.flags); in bnxt_re_stop_irq()
453 wake_up_all(&rdev->rcfw.cmdq.waitq); in bnxt_re_stop_irq()
463 bnxt_qplib_rcfw_stop_irq(rcfw, false); in bnxt_re_stop_irq()
470 struct bnxt_qplib_rcfw *rcfw; in bnxt_re_start_irq() local
479 rcfw = &rdev->rcfw; in bnxt_re_start_irq()
[all …]
H A Dqplib_fp.c621 struct bnxt_qplib_rcfw *rcfw = res->rcfw; in bnxt_qplib_destroy_srq() local
635 rc = bnxt_qplib_rcfw_send_message(rcfw, &msg); in bnxt_qplib_destroy_srq()
645 struct bnxt_qplib_rcfw *rcfw = res->rcfw; in bnxt_qplib_create_srq() local
683 rc = bnxt_qplib_rcfw_send_message(rcfw, &msg); in bnxt_qplib_create_srq()
721 struct bnxt_qplib_rcfw *rcfw = res->rcfw; in bnxt_qplib_query_srq() local
735 sbuf.sb = dma_alloc_coherent(&rcfw->pdev->dev, sbuf.size, in bnxt_qplib_query_srq()
744 rc = bnxt_qplib_rcfw_send_message(rcfw, &msg); in bnxt_qplib_query_srq()
747 dma_free_coherent(&rcfw->pdev->dev, sbuf.size, in bnxt_qplib_query_srq()
819 struct bnxt_qplib_rcfw *rcfw = res->rcfw; in bnxt_qplib_create_qp1() local
904 rc = bnxt_qplib_rcfw_send_message(rcfw, &msg); in bnxt_qplib_create_qp1()
[all …]
H A Dqplib_sp.h331 int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw);
333 struct bnxt_qplib_rcfw *rcfw,
352 int bnxt_qplib_get_roce_stats(struct bnxt_qplib_rcfw *rcfw,
354 int bnxt_qplib_qext_stat(struct bnxt_qplib_rcfw *rcfw, u32 fid,
358 int bnxt_qplib_read_context(struct bnxt_qplib_rcfw *rcfw, u8 type, u32 xid,
362 void bnxt_qplib_query_version(struct bnxt_qplib_rcfw *rcfw);
H A Dbnxt_re.h191 struct bnxt_qplib_rcfw rcfw; member
274 rdev->rcfw.res->cctx->hwrm_intf_ver < HWRM_VERSION_READ_CTX) in bnxt_re_read_context_allowed()
H A Dqplib_res.c858 kfree(res->rcfw->qp_tbl); in bnxt_qplib_free_res()
866 struct bnxt_qplib_rcfw *rcfw = res->rcfw; in bnxt_qplib_alloc_res() local
874 rcfw->qp_tbl_size = max_t(u32, BNXT_RE_MAX_QPC_COUNT + 1, dev_attr->max_qp); in bnxt_qplib_alloc_res()
875 rcfw->qp_tbl = kcalloc(rcfw->qp_tbl_size, sizeof(struct bnxt_qplib_qp_node), in bnxt_qplib_alloc_res()
877 if (!rcfw->qp_tbl) in bnxt_qplib_alloc_res()
H A Dib_verbs.c292 port_attr->gid_tbl_len = (rdev->rcfw.roce_mirror ? (dev_attr->max_sgid - 1) : in bnxt_re_query_port()
960 if (!rdev->rcfw.roce_mirror) in bnxt_re_del_unique_gid()
1621 if (!rdev->rcfw.roce_mirror) in bnxt_re_add_unique_gid()
4470 !rdev->rcfw.roce_mirror) in bnxt_re_create_flow()