Home
last modified time | relevance | path

Searched refs:hr_dev (Results 1 – 19 of 19) sorted by relevance

/linux/drivers/infiniband/hw/hns/
A Dhns_roce_main.c156 hr_dev->hw->set_mtu(hr_dev, hr_dev->iboe.phy_port[i], in hns_roce_setup_mtu_mac()
920 ret = hr_dev->hw->cmq_init(hr_dev); in hns_roce_init()
940 ret = hr_dev->hw->init_eq(hr_dev); in hns_roce_init()
966 ret = hr_dev->hw->hw_init(hr_dev); in hns_roce_init()
986 hr_dev->hw->hw_exit(hr_dev); in hns_roce_init()
997 hr_dev->hw->cleanup_eq(hr_dev); in hns_roce_init()
1004 hr_dev->hw->cmq_exit(hr_dev); in hns_roce_init()
1020 hr_dev->hw->hw_exit(hr_dev); in hns_roce_exit()
1027 hr_dev->hw->cleanup_eq(hr_dev); in hns_roce_exit()
1030 hr_dev->hw->cmq_exit(hr_dev); in hns_roce_exit()
[all …]
A Dhns_roce_qp.c76 flush_work->hr_dev = hr_dev; in init_flush_work()
121 flush_cqe(hr_dev, qp); in hns_roce_qp_event()
879 hr_qp->sq.db_reg = hr_dev->reg_base + hr_dev->sdb_offset + in alloc_kernel_qp_db()
882 hr_qp->rq.db_reg = hr_dev->reg_base + hr_dev->odb_offset + in alloc_kernel_qp_db()
1110 ret = hr_dev->hw->qp_flow_control_init(hr_dev, hr_qp); in hns_roce_create_qp_common()
1125 free_qpc(hr_dev, hr_qp); in hns_roce_create_qp_common()
1129 free_qpn(hr_dev, hr_qp); in hns_roce_create_qp_common()
1144 free_qpc(hr_dev, hr_qp); in hns_roce_qp_destroy()
1145 free_qpn(hr_dev, hr_qp); in hns_roce_qp_destroy()
1456 hr_dev->qp_table.bank[i].max = hr_dev->caps.num_qps / in hns_roce_init_qp_table()
[all …]
A Dhns_roce_cmd.c47 return hr_dev->hw->post_mbox(hr_dev, in_param, out_param, in_modifier, in hns_roce_cmd_mbox_post_hw()
69 return hr_dev->hw->poll_mbox_done(hr_dev, timeout); in __hns_roce_cmd_mbox_poll()
78 down(&hr_dev->cmd.poll_sem); in hns_roce_cmd_mbox_poll()
81 up(&hr_dev->cmd.poll_sem); in hns_roce_cmd_mbox_poll()
90 &hr_dev->cmd.context[token % hr_dev->cmd.max_cmds]; in hns_roce_cmd_event()
165 up(&hr_dev->cmd.event_sem); in hns_roce_cmd_mbox_wait()
177 if (!hr_dev->hw->chk_mbox_avail(hr_dev, &is_busy)) in hns_roce_cmd_mbox()
180 if (hr_dev->cmd.use_events) in hns_roce_cmd_mbox()
195 hr_dev->cmd.pool = dma_pool_create("hns_roce_cmd", hr_dev->dev, in hns_roce_cmd_init()
198 if (!hr_dev->cmd.pool) in hns_roce_cmd_init()
[all …]
A Dhns_roce_mr.c86 err = hns_roce_table_get(hr_dev, &hr_dev->mr_table.mtpt_table, in alloc_mr_key()
103 hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, obj); in free_mr_key()
156 free_mr_pbl(hr_dev, mr); in hns_roce_mr_free()
157 free_mr_key(hr_dev, mr); in hns_roce_mr_free()
176 ret = hr_dev->hw->write_mtpt(hr_dev, mailbox->buf, mr, in hns_roce_mr_enable()
179 ret = hr_dev->hw->frmr_write_mtpt(hr_dev, mailbox->buf, mr); in hns_roce_mr_enable()
237 free_mr_key(hr_dev, mr); in hns_roce_get_dma_mr()
280 free_mr_pbl(hr_dev, mr); in hns_roce_reg_user_mr()
338 ret = hr_dev->hw->rereg_write_mtpt(hr_dev, mr, flags, mailbox->buf); in hns_roce_rereg_user_mr()
367 ret = hr_dev->hw->dereg_mr(hr_dev, mr, udata); in hns_roce_dereg_mr()
[all …]
A Dhns_roce_cq.c141 hr_dev->hw->write_cqc(hr_dev, hr_cq, mailbox->buf, mtts, dma_handle); in alloc_cqc()
252 hr_cq->db_reg = hr_dev->reg_base + hr_dev->odb_offset + in alloc_cq_db()
342 ibdev_err(&hr_dev->ib_dev, in set_cqe_size()
396 ret = alloc_cqn(hr_dev, hr_cq); in hns_roce_create_cq()
429 free_cqc(hr_dev, hr_cq); in hns_roce_create_cq()
431 free_cqn(hr_dev, hr_cq->cqn); in hns_roce_create_cq()
435 free_cq_buf(hr_dev, hr_cq); in hns_roce_create_cq()
444 if (hr_dev->hw->destroy_cq) in hns_roce_destroy_cq()
447 free_cqc(hr_dev, hr_cq); in hns_roce_destroy_cq()
448 free_cqn(hr_dev, hr_cq->cqn); in hns_roce_destroy_cq()
[all …]
A Dhns_roce_hem.c496 ret = hr_dev->hw->set_hem(hr_dev, table, obj, 0); in set_mhop_hem()
504 ret = hr_dev->hw->set_hem(hr_dev, table, obj, 1); in set_mhop_hem()
516 ret = hr_dev->hw->set_hem(hr_dev, table, obj, step_idx); in set_mhop_hem()
646 if (hr_dev->hw->clear_hem(hr_dev, table, obj, step_idx)) in clear_mhop_hem()
650 if (hr_dev->hw->clear_hem(hr_dev, table, obj, 1)) in clear_mhop_hem()
654 if (hr_dev->hw->clear_hem(hr_dev, table, obj, 0)) in clear_mhop_hem()
934 if (hr_dev->hw->clear_hem(hr_dev, table, in hns_roce_cleanup_hem_table()
949 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->cq_table.table); in hns_roce_cleanup_hem()
964 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->gmv_table); in hns_roce_cleanup_hem()
966 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->qp_table.irrl_table); in hns_roce_cleanup_hem()
[all …]
A Dhns_roce_srq.c52 dev_err(hr_dev->dev, in hns_roce_ib_srq_event()
299 ibdev_err(&hr_dev->ib_dev, in set_srq_basic_param()
351 ibdev_err(&hr_dev->ib_dev, in alloc_srq_buf()
375 free_srq_wqe_buf(hr_dev, srq); in alloc_srq_buf()
377 free_srq_idx(hr_dev, srq); in alloc_srq_buf()
385 free_srq_wqe_buf(hr_dev, srq); in free_srq_buf()
386 free_srq_idx(hr_dev, srq); in free_srq_buf()
430 free_srqc(hr_dev, srq); in hns_roce_create_srq()
432 free_srq_buf(hr_dev, srq); in hns_roce_create_srq()
442 free_srqc(hr_dev, srq); in hns_roce_destroy_srq()
[all …]
A Dhns_roce_pd.c39 struct hns_roce_ida *pd_ida = &hr_dev->pd_ida; in hns_roce_init_pd_table()
42 pd_ida->max = hr_dev->caps.num_pds - 1; in hns_roce_init_pd_table()
43 pd_ida->min = hr_dev->caps.reserved_pds; in hns_roce_init_pd_table()
50 struct hns_roce_ida *pd_ida = &hr_dev->pd_ida; in hns_roce_alloc_pd()
103 (hr_dev->caps.phy_num_uars - 1) + 1; in hns_roce_uar_alloc()
107 if (!dev_is_pci(hr_dev->dev)) { in hns_roce_uar_alloc()
128 uar_ida->max = hr_dev->caps.num_uars - 1; in hns_roce_init_uar_table()
129 uar_ida->min = hr_dev->caps.reserved_uars; in hns_roce_init_uar_table()
153 xrcd_ida->max = hr_dev->caps.num_xrcds - 1; in hns_roce_init_xrcd_table()
154 xrcd_ida->min = hr_dev->caps.reserved_xrcds; in hns_roce_init_xrcd_table()
[all …]
A Dhns_roce_hw_v2.c1373 hr_dev->vendor_id = hr_dev->pci_dev->vendor; in hns_roce_cmq_query_hw_info()
2506 hr_dev->vendor_part_id = hr_dev->pci_dev->device; in hns_roce_v2_profile()
2716 hns_roce_table_put(hr_dev, &hr_dev->gmv_table, i); in get_hem_table()
5632 irq_work->hr_dev = hr_dev; in hns_roce_v2_init_irq_work()
5641 struct hns_roce_dev *hr_dev = eq->hr_dev; in update_eq_db() local
5795 struct hns_roce_dev *hr_dev = eq->hr_dev; in hns_roce_v2_msix_interrupt_eq() local
6061 0, hr_dev->irq_names[j], hr_dev); in __hns_roce_request_irq()
6084 free_irq(hr_dev->irq[j], hr_dev); in __hns_roce_request_irq()
6106 free_irq(hr_dev->irq[i], hr_dev); in __hns_roce_free_irq()
6143 eq->hr_dev = hr_dev; in hns_roce_v2_init_eq_table()
[all …]
A Dhns_roce_hw_v1.c1529 hr_dev->vendor_id = roce_read(hr_dev, ROCEE_VENDOR_ID_REG); in hns_roce_v1_profile()
1530 hr_dev->vendor_part_id = roce_read(hr_dev, ROCEE_VENDOR_PART_ID_REG); in hns_roce_v1_profile()
2769 mtts_2 = hns_roce_table_find(hr_dev, &hr_dev->qp_table.irrl_table, in hns_roce_v1_m_qp()
3993 struct hns_roce_dev *hr_dev = eq->hr_dev; in hns_roce_v1_msix_interrupt_eq() local
4297 eq->hr_dev = hr_dev; in hns_roce_v1_init_eq_table()
4355 hr_dev->irq_names[j], hr_dev); in hns_roce_v1_init_eq_table()
4402 free_irq(hr_dev->irq[i], hr_dev); in hns_roce_v1_cleanup_eq_table()
4506 hr_dev->reg_base = devm_platform_ioremap_resource(hr_dev->pdev, 0); in hns_roce_get_cfg()
4580 hr_dev->irq[i] = platform_get_irq(hr_dev->pdev, i); in hns_roce_get_cfg()
4601 if (!hr_dev) in hns_roce_probe()
[all …]
A Dhns_roce_alloc.c51 dma_free_coherent(hr_dev->dev, 1 << buf->trunk_shift, in hns_roce_buf_free()
119 dma_free_coherent(hr_dev->dev, trunk_size, in hns_roce_buf_alloc()
177 if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_XRC) in hns_roce_cleanup_bitmap()
178 ida_destroy(&hr_dev->xrcd_ida.ida); in hns_roce_cleanup_bitmap()
180 if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ) in hns_roce_cleanup_bitmap()
181 ida_destroy(&hr_dev->srq_table.srq_ida.ida); in hns_roce_cleanup_bitmap()
182 hns_roce_cleanup_qp_table(hr_dev); in hns_roce_cleanup_bitmap()
183 hns_roce_cleanup_cq_table(hr_dev); in hns_roce_cleanup_bitmap()
184 ida_destroy(&hr_dev->mr_table.mtpt_ida.ida); in hns_roce_cleanup_bitmap()
185 ida_destroy(&hr_dev->pd_ida.ida); in hns_roce_cleanup_bitmap()
[all …]
A Dhns_roce_device.h623 struct hns_roce_dev *hr_dev; member
717 struct hns_roce_dev *hr_dev; member
901 int (*cmq_init)(struct hns_roce_dev *hr_dev);
902 void (*cmq_exit)(struct hns_roce_dev *hr_dev);
904 int (*hw_init)(struct hns_roce_dev *hr_dev);
905 void (*hw_exit)(struct hns_roce_dev *hr_dev);
926 void (*write_cqc)(struct hns_roce_dev *hr_dev,
929 int (*set_hem)(struct hns_roce_dev *hr_dev,
931 int (*clear_hem)(struct hns_roce_dev *hr_dev,
942 int (*init_eq)(struct hns_roce_dev *hr_dev);
[all …]
A Dhns_roce_hem.h105 int hns_roce_table_get(struct hns_roce_dev *hr_dev,
107 void hns_roce_table_put(struct hns_roce_dev *hr_dev,
109 void *hns_roce_table_find(struct hns_roce_dev *hr_dev,
112 int hns_roce_init_hem_table(struct hns_roce_dev *hr_dev,
116 void hns_roce_cleanup_hem_table(struct hns_roce_dev *hr_dev,
118 void hns_roce_cleanup_hem(struct hns_roce_dev *hr_dev);
119 int hns_roce_calc_hem_mhop(struct hns_roce_dev *hr_dev,
122 bool hns_roce_check_whether_mhop(struct hns_roce_dev *hr_dev, u32 type);
127 int hns_roce_hem_list_request(struct hns_roce_dev *hr_dev,
131 void hns_roce_hem_list_release(struct hns_roce_dev *hr_dev,
[all …]
A Dhns_roce_db.c125 int hns_roce_alloc_db(struct hns_roce_dev *hr_dev, struct hns_roce_db *db, in hns_roce_alloc_db() argument
131 mutex_lock(&hr_dev->pgdir_mutex); in hns_roce_alloc_db()
133 list_for_each_entry(pgdir, &hr_dev->pgdir_list, list) in hns_roce_alloc_db()
137 pgdir = hns_roce_alloc_db_pgdir(hr_dev->dev); in hns_roce_alloc_db()
143 list_add(&pgdir->list, &hr_dev->pgdir_list); in hns_roce_alloc_db()
149 mutex_unlock(&hr_dev->pgdir_mutex); in hns_roce_alloc_db()
154 void hns_roce_free_db(struct hns_roce_dev *hr_dev, struct hns_roce_db *db) in hns_roce_free_db() argument
159 mutex_lock(&hr_dev->pgdir_mutex); in hns_roce_free_db()
174 dma_free_coherent(hr_dev->dev, PAGE_SIZE, db->u.pgdir->page, in hns_roce_free_db()
180 mutex_unlock(&hr_dev->pgdir_mutex); in hns_roce_free_db()
A Dhns_roce_hw_v2_dfx.c9 int hns_roce_v2_query_cqc_info(struct hns_roce_dev *hr_dev, u32 cqn, in hns_roce_v2_query_cqc_info() argument
16 mailbox = hns_roce_alloc_cmd_mailbox(hr_dev); in hns_roce_v2_query_cqc_info()
21 ret = hns_roce_cmd_mbox(hr_dev, 0, mailbox->dma, cqn, 0, in hns_roce_v2_query_cqc_info()
25 dev_err(hr_dev->dev, "QUERY cqc cmd process error\n"); in hns_roce_v2_query_cqc_info()
32 hns_roce_free_cmd_mailbox(hr_dev, mailbox); in hns_roce_v2_query_cqc_info()
A Dhns_roce_restrack.c82 struct hns_roce_dev *hr_dev = to_hr_dev(ib_cq->device); in hns_roce_fill_res_cq_entry() local
88 if (!hr_dev->dfx->query_cqc_info) in hns_roce_fill_res_cq_entry()
95 ret = hr_dev->dfx->query_cqc_info(hr_dev, hr_cq->cqn, (int *)context); in hns_roce_fill_res_cq_entry()
A Dhns_roce_cmd.h142 int hns_roce_cmd_mbox(struct hns_roce_dev *hr_dev, u64 in_param, u64 out_param,
147 hns_roce_alloc_cmd_mailbox(struct hns_roce_dev *hr_dev);
148 void hns_roce_free_cmd_mailbox(struct hns_roce_dev *hr_dev,
A Dhns_roce_ah.c60 struct hns_roce_dev *hr_dev = to_hr_dev(ibah->device); in hns_roce_create_ah() local
64 if (hr_dev->pci_dev->revision <= PCI_REVISION_ID_HIP08 && udata) in hns_roce_create_ah()
83 if (hr_dev->pci_dev->revision <= PCI_REVISION_ID_HIP08) { in hns_roce_create_ah()
A Dhns_roce_hw_v2.h1570 int hns_roce_v2_query_cqc_info(struct hns_roce_dev *hr_dev, u32 cqn,
1573 static inline void hns_roce_write64(struct hns_roce_dev *hr_dev, __le32 val[2], in hns_roce_write64() argument
1576 struct hns_roce_v2_priv *priv = hr_dev->priv; in hns_roce_write64()
1580 if (!hr_dev->dis_db && !ops->get_hw_reset_stat(handle)) in hns_roce_write64()

Completed in 75 milliseconds