Home
last modified time | relevance | path

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

/linux-6.15/drivers/infiniband/hw/hns/
H A Dhns_roce_main.c62 return hr_dev->hw->set_mac(hr_dev, phy_port, addr); in hns_roce_set_mac()
1083 ret = hr_dev->hw->cmq_init(hr_dev); in hns_roce_init()
1090 ret = hr_dev->hw->hw_profile(hr_dev); in hns_roce_init()
1103 ret = hr_dev->hw->init_eq(hr_dev); in hns_roce_init()
1129 ret = hr_dev->hw->hw_init(hr_dev); in hns_roce_init()
1149 hr_dev->hw->hw_exit(hr_dev); in hns_roce_init()
1160 hr_dev->hw->cleanup_eq(hr_dev); in hns_roce_init()
1167 hr_dev->hw->cmq_exit(hr_dev); in hns_roce_init()
1181 hr_dev->hw->hw_exit(hr_dev); in hns_roce_exit()
1188 hr_dev->hw->cleanup_eq(hr_dev); in hns_roce_exit()
[all …]
H A Dhns_roce_cmd.c46 ret = hr_dev->hw->post_mbox(hr_dev, mbox_msg); in hns_roce_cmd_mbox_post_hw()
69 ret = hr_dev->hw->poll_mbox_done(hr_dev); in __hns_roce_cmd_mbox_poll()
83 down(&hr_dev->cmd.poll_sem); in hns_roce_cmd_mbox_poll()
85 up(&hr_dev->cmd.poll_sem); in hns_roce_cmd_mbox_poll()
94 &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()
200 hr_dev->cmd.use_events = 0; in hns_roce_cmd_init()
202 hr_dev->cmd.pool = dma_pool_create("hns_roce_cmd", hr_dev->dev, in hns_roce_cmd_init()
205 if (!hr_dev->cmd.pool) in hns_roce_cmd_init()
[all …]
H A Dhns_roce_cq.c117 hr_dev->hw->write_cqc(hr_dev, hr_cq, mailbox->buf, mtts, dma_handle); in hns_roce_create_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()
399 ret = alloc_cqn(hr_dev, hr_cq); in hns_roce_create_cq()
405 ret = alloc_cqc(hr_dev, hr_cq); in hns_roce_create_cq()
428 free_cqc(hr_dev, hr_cq); in hns_roce_create_cq()
430 free_cqn(hr_dev, hr_cq->cqn); in hns_roce_create_cq()
434 free_cq_buf(hr_dev, hr_cq); in hns_roce_create_cq()
446 free_cqc(hr_dev, hr_cq); in hns_roce_destroy_cq()
447 free_cqn(hr_dev, hr_cq->cqn); in hns_roce_destroy_cq()
[all …]
H A Dhns_roce_qp.c145 flush_cqe(hr_dev, qp); in hns_roce_flush_cqe()
920 hr_qp->sq.db_reg = hr_dev->reg_base + hr_dev->sdb_offset + in alloc_kernel_qp_db()
923 hr_qp->rq.db_reg = hr_dev->reg_base + hr_dev->odb_offset + in alloc_kernel_qp_db()
1164 flush_work->hr_dev = hr_dev; in hns_roce_create_qp_common()
1228 ret = hr_dev->hw->qp_flow_control_init(hr_dev, hr_qp); in hns_roce_create_qp_common()
1243 free_qpc(hr_dev, hr_qp); in hns_roce_create_qp_common()
1247 free_qpn(hr_dev, hr_qp); in hns_roce_create_qp_common()
1264 free_qpc(hr_dev, hr_qp); in hns_roce_qp_destroy()
1265 free_qpn(hr_dev, hr_qp); in hns_roce_qp_destroy()
1591 hr_dev->qp_table.bank[i].max = hr_dev->caps.num_qps / in hns_roce_init_qp_table()
[all …]
H A Dhns_roce_srq.c53 dev_err(hr_dev->dev, in hns_roce_ib_srq_event()
301 ibdev_err(&hr_dev->ib_dev, in set_srq_basic_param()
353 ibdev_err(&hr_dev->ib_dev, in alloc_srq_buf()
379 free_srq_idx(hr_dev, srq); in alloc_srq_buf()
388 free_srq_idx(hr_dev, srq); in free_srq_buf()
513 free_srqc(hr_dev, srq); in hns_roce_create_srq()
515 free_srqn(hr_dev, srq); in hns_roce_create_srq()
519 free_srq_buf(hr_dev, srq); in hns_roce_create_srq()
532 free_srqc(hr_dev, srq); in hns_roce_destroy_srq()
533 free_srqn(hr_dev, srq); in hns_roce_destroy_srq()
[all …]
H A Dhns_roce_pd.c38 struct hns_roce_ida *pd_ida = &hr_dev->pd_ida; in hns_roce_init_pd_table()
41 pd_ida->max = hr_dev->caps.num_pds - 1; in hns_roce_init_pd_table()
42 pd_ida->min = hr_dev->caps.reserved_pds; in hns_roce_init_pd_table()
49 struct hns_roce_ida *pd_ida = &hr_dev->pd_ida; in hns_roce_alloc_pd()
101 (hr_dev->caps.phy_num_uars - 1) + 1; in hns_roce_uar_alloc()
107 hr_dev->dwqe_page = pci_resource_start(hr_dev->pci_dev, 4); in hns_roce_uar_alloc()
117 uar_ida->max = hr_dev->caps.num_uars - 1; in hns_roce_init_uar_table()
118 uar_ida->min = hr_dev->caps.reserved_uars; in hns_roce_init_uar_table()
142 xrcd_ida->max = hr_dev->caps.num_xrcds - 1; in hns_roce_init_xrcd_table()
143 xrcd_ida->min = hr_dev->caps.reserved_xrcds; in hns_roce_init_xrcd_table()
[all …]
H A Dhns_roce_mr.c69 err = hns_roce_table_get(hr_dev, &hr_dev->mr_table.mtpt_table, in alloc_mr_key()
86 hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, obj); in free_mr_key()
145 free_mr_pbl(hr_dev, mr); in hns_roce_mr_free()
146 free_mr_key(hr_dev, mr); in hns_roce_mr_free()
163 ret = hr_dev->hw->write_mtpt(hr_dev, mailbox->buf, mr); in hns_roce_mr_enable()
223 free_mr_key(hr_dev, mr); in hns_roce_get_dma_mr()
267 free_mr_pbl(hr_dev, mr); in hns_roce_reg_user_mr()
269 free_mr_key(hr_dev, mr); in hns_roce_reg_user_mr()
332 ret = hr_dev->hw->rereg_write_mtpt(hr_dev, mr, flags, mailbox->buf); in hns_roce_rereg_user_mr()
365 hr_dev->hw->dereg_mr(hr_dev); in hns_roce_dereg_mr()
[all …]
H A Dhns_roce_hem.c456 ret = hr_dev->hw->set_hem(hr_dev, table, obj, 0); in set_mhop_hem()
464 ret = hr_dev->hw->set_hem(hr_dev, table, obj, 1); in set_mhop_hem()
476 ret = hr_dev->hw->set_hem(hr_dev, table, obj, step_idx); in set_mhop_hem()
606 ret = hr_dev->hw->clear_hem(hr_dev, table, obj, step_idx); in clear_mhop_hem()
612 ret = hr_dev->hw->clear_hem(hr_dev, table, obj, 1); in clear_mhop_hem()
619 ret = hr_dev->hw->clear_hem(hr_dev, table, obj, 0); in clear_mhop_hem()
887 ret = hr_dev->hw->clear_hem(hr_dev, table, obj, 0); in hns_roce_cleanup_hem_table()
904 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->cq_table.table); in hns_roce_cleanup_hem()
919 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->gmv_table); in hns_roce_cleanup_hem()
921 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->qp_table.irrl_table); in hns_roce_cleanup_hem()
[all …]
H A Dhns_roce_hw_v2.c1446 hr_dev->vendor_id = hr_dev->pci_dev->vendor; in hns_roce_cmq_query_hw_info()
2523 size = hr_dev->caps.num_qps * hr_dev->func_num * in alloc_link_table_buf()
6166 irq_work->hr_dev = hr_dev; in hns_roce_v2_init_irq_work()
6175 struct hns_roce_dev *hr_dev = eq->hr_dev; in update_eq_db() local
6287 struct hns_roce_dev *hr_dev = eq->hr_dev; in hns_roce_v2_msix_interrupt_eq() local
6671 struct hns_roce_dev *hr_dev = eq->hr_dev; in hns_roce_ceq_work() local
6729 0, hr_dev->irq_names[j], hr_dev); in __hns_roce_request_irq()
6755 free_irq(hr_dev->irq[j], hr_dev); in __hns_roce_request_irq()
6781 free_irq(hr_dev->irq[i], hr_dev); in __hns_roce_free_irq()
6824 eq->hr_dev = hr_dev; in hns_roce_v2_init_eq_table()
[all …]
H A Dhns_roce_restrack.c50 if (!hr_dev->hw->query_cqc) in hns_roce_fill_res_cq_entry_raw()
53 ret = hr_dev->hw->query_cqc(hr_dev, hr_cq->cqn, &context); in hns_roce_fill_res_cq_entry_raw()
106 if (!hr_dev->hw->query_qpc) in hns_roce_fill_res_qp_entry_raw()
109 ret = hr_dev->hw->query_qpc(hr_dev, hr_qp->qpn, &context.qpc); in hns_roce_fill_res_qp_entry_raw()
117 !hr_dev->hw->query_sccc) in hns_roce_fill_res_qp_entry_raw()
120 ret = hr_dev->hw->query_sccc(hr_dev, hr_qp->qpn, &context.sccc); in hns_roce_fill_res_qp_entry_raw()
122 ibdev_warn_ratelimited(&hr_dev->ib_dev, in hns_roce_fill_res_qp_entry_raw()
169 if (!hr_dev->hw->query_mpt) in hns_roce_fill_res_mr_entry_raw()
172 ret = hr_dev->hw->query_mpt(hr_dev, hr_mr->key, &context); in hns_roce_fill_res_mr_entry_raw()
218 if (!hr_dev->hw->query_srqc) in hns_roce_fill_res_srq_entry_raw()
[all …]
H A Dhns_roce_alloc.c118 dma_free_coherent(hr_dev->dev, trunk_size, in hns_roce_buf_alloc()
175 if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_XRC) in hns_roce_cleanup_bitmap()
176 ida_destroy(&hr_dev->xrcd_ida.ida); in hns_roce_cleanup_bitmap()
178 if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ) { in hns_roce_cleanup_bitmap()
179 ida_destroy(&hr_dev->srq_table.srq_ida.ida); in hns_roce_cleanup_bitmap()
180 xa_destroy(&hr_dev->srq_table.xa); 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 …]
H A Dhns_roce_hem.h89 int hns_roce_table_get(struct hns_roce_dev *hr_dev,
91 void hns_roce_table_put(struct hns_roce_dev *hr_dev,
93 void *hns_roce_table_find(struct hns_roce_dev *hr_dev,
96 int hns_roce_init_hem_table(struct hns_roce_dev *hr_dev,
99 void hns_roce_cleanup_hem_table(struct hns_roce_dev *hr_dev,
101 void hns_roce_cleanup_hem(struct hns_roce_dev *hr_dev);
102 int hns_roce_calc_hem_mhop(struct hns_roce_dev *hr_dev,
105 bool hns_roce_check_whether_mhop(struct hns_roce_dev *hr_dev, u32 type);
110 int hns_roce_hem_list_request(struct hns_roce_dev *hr_dev,
114 void hns_roce_hem_list_release(struct hns_roce_dev *hr_dev,
[all …]
H A Dhns_roce_device.h594 struct hns_roce_dev *hr_dev; member
702 struct hns_roce_dev *hr_dev; member
917 int (*cmq_init)(struct hns_roce_dev *hr_dev);
918 void (*cmq_exit)(struct hns_roce_dev *hr_dev);
920 int (*hw_init)(struct hns_roce_dev *hr_dev);
921 void (*hw_exit)(struct hns_roce_dev *hr_dev);
922 int (*post_mbox)(struct hns_roce_dev *hr_dev,
940 int (*set_hem)(struct hns_roce_dev *hr_dev,
942 int (*clear_hem)(struct hns_roce_dev *hr_dev,
951 int (*init_eq)(struct hns_roce_dev *hr_dev);
[all …]
H A Dhns_roce_debugfs.c64 struct hns_roce_dev *hr_dev = file->private; in sw_stat_debugfs_show() local
69 atomic64_read(&hr_dev->dfx_cnt[i])); in sw_stat_debugfs_show()
74 static void create_sw_stat_debugfs(struct hns_roce_dev *hr_dev, in create_sw_stat_debugfs() argument
77 struct hns_sw_stat_debugfs *dbgfs = &hr_dev->dbgfs.sw_stat_root; in create_sw_stat_debugfs()
82 sw_stat_debugfs_show, hr_dev); in create_sw_stat_debugfs()
86 void hns_roce_register_debugfs(struct hns_roce_dev *hr_dev) in hns_roce_register_debugfs() argument
88 struct hns_roce_dev_debugfs *dbgfs = &hr_dev->dbgfs; in hns_roce_register_debugfs()
90 dbgfs->root = debugfs_create_dir(pci_name(hr_dev->pci_dev), in hns_roce_register_debugfs()
93 create_sw_stat_debugfs(hr_dev, dbgfs->root); in hns_roce_register_debugfs()
96 void hns_roce_unregister_debugfs(struct hns_roce_dev *hr_dev) in hns_roce_unregister_debugfs() argument
[all …]
H A Dhns_roce_db.c124 int hns_roce_alloc_db(struct hns_roce_dev *hr_dev, struct hns_roce_db *db, in hns_roce_alloc_db() argument
130 mutex_lock(&hr_dev->pgdir_mutex); in hns_roce_alloc_db()
132 list_for_each_entry(pgdir, &hr_dev->pgdir_list, list) in hns_roce_alloc_db()
136 pgdir = hns_roce_alloc_db_pgdir(hr_dev->dev); in hns_roce_alloc_db()
142 list_add(&pgdir->list, &hr_dev->pgdir_list); in hns_roce_alloc_db()
148 mutex_unlock(&hr_dev->pgdir_mutex); in hns_roce_alloc_db()
153 void hns_roce_free_db(struct hns_roce_dev *hr_dev, struct hns_roce_db *db) in hns_roce_free_db() argument
158 mutex_lock(&hr_dev->pgdir_mutex); in hns_roce_free_db()
173 dma_free_coherent(hr_dev->dev, PAGE_SIZE, db->u.pgdir->page, in hns_roce_free_db()
179 mutex_unlock(&hr_dev->pgdir_mutex); in hns_roce_free_db()
H A Dhns_roce_ah.c59 struct hns_roce_dev *hr_dev = to_hr_dev(ibah->device); in hns_roce_create_ah() local
67 if (hr_dev->pci_dev->revision == PCI_REVISION_ID_HIP08 && udata) { in hns_roce_create_ah()
83 ret = hr_dev->hw->get_dscp(hr_dev, tclass, &tc_mode, &priority); in hns_roce_create_ah()
96 if (!check_sl_valid(hr_dev, ah->av.sl)) { in hns_roce_create_ah()
105 if (hr_dev->pci_dev->revision == PCI_REVISION_ID_HIP08) { in hns_roce_create_ah()
124 atomic64_inc(&hr_dev->dfx_cnt[HNS_ROCE_DFX_AH_CREATE_ERR_CNT]); in hns_roce_create_ah()
H A Dhns_roce_cmd.h145 int hns_roce_cmd_mbox(struct hns_roce_dev *hr_dev, u64 in_param, u64 out_param,
149 hns_roce_alloc_cmd_mailbox(struct hns_roce_dev *hr_dev);
150 void hns_roce_free_cmd_mailbox(struct hns_roce_dev *hr_dev,
H A Dhns_roce_debugfs.h30 void hns_roce_register_debugfs(struct hns_roce_dev *hr_dev);
31 void hns_roce_unregister_debugfs(struct hns_roce_dev *hr_dev);
H A Dhns_roce_hw_v2.h1471 static inline void hns_roce_write64(struct hns_roce_dev *hr_dev, __le32 val[2], in hns_roce_write64() argument
1474 struct hns_roce_v2_priv *priv = hr_dev->priv; in hns_roce_write64()
1478 if (!hr_dev->dis_db && !ops->get_hw_reset_stat(handle)) in hns_roce_write64()