Home
last modified time | relevance | path

Searched refs:hem (Results 1 - 9 of 9) sorted by relevance

/kernel/linux/linux-6.6/drivers/infiniband/hw/hns/
H A Dhns_roce_hem.c84 static bool hns_roce_check_hem_null(struct hns_roce_hem **hem, u64 hem_idx, in hns_roce_check_hem_null() argument
92 if (i != hem_idx && hem[i]) in hns_roce_check_hem_null()
219 * QPC/MTPT/CQC/SRQC/SCCC alloc hem for buffer pages. in hns_roce_calc_hem_mhop()
220 * MTT/CQE alloc hem for bt pages. in hns_roce_calc_hem_mhop()
257 struct hns_roce_hem *hem; in hns_roce_alloc_hem() local
264 hem = kmalloc(sizeof(*hem), in hns_roce_alloc_hem()
266 if (!hem) in hns_roce_alloc_hem()
269 INIT_LIST_HEAD(&hem->chunk_list); in hns_roce_alloc_hem()
284 list_add_tail(&chunk->list, &hem in hns_roce_alloc_hem()
315 hns_roce_free_hem(struct hns_roce_dev *hr_dev, struct hns_roce_hem *hem) hns_roce_free_hem() argument
730 struct hns_roce_hem *hem; hns_roce_table_find() local
1002 struct hns_roce_hem_item *hem; hem_list_alloc_item() local
1026 hem_list_free_item(struct hns_roce_dev *hr_dev, struct hns_roce_hem_item *hem, bool exist_bt) hem_list_free_item() argument
1038 struct hns_roce_hem_item *hem, *temp_hem; hem_list_free_all() local
1053 hem_list_assign_bt(struct hns_roce_dev *hr_dev, struct hns_roce_hem_item *hem, void *cpu_addr, u64 phy_addr) hem_list_assign_bt() argument
1061 hem_list_page_is_in_range(struct hns_roce_hem_item *hem, int offset) hem_list_page_is_in_range() argument
1070 struct hns_roce_hem_item *hem, *temp_hem; hem_list_search_item() local
1246 struct hns_roce_hem_item *hem; alloc_root_hem() local
1275 struct hns_roce_hem_item *hem; alloc_fake_root_bt() local
1293 struct hns_roce_hem_item *hem, *temp_hem; setup_middle_bt() local
1485 struct hns_roce_hem_item *hem, *temp_hem; hns_roce_hem_list_find_mtt() local
[all...]
H A Dhns_roce_hem.h89 struct hns_roce_hem *hem; member
104 void hns_roce_free_hem(struct hns_roce_dev *hr_dev, struct hns_roce_hem *hem);
136 static inline void hns_roce_hem_first(struct hns_roce_hem *hem, in hns_roce_hem_first() argument
139 iter->hem = hem; in hns_roce_hem_first()
140 iter->chunk = list_empty(&hem->chunk_list) ? NULL : in hns_roce_hem_first()
141 list_entry(hem->chunk_list.next, in hns_roce_hem_first()
154 if (iter->chunk->list.next == &iter->hem->chunk_list) { in hns_roce_hem_next()
H A Dhns_roce_device.h247 struct hns_roce_hem **hem; member
H A Dhns_roce_hw_v2.c1877 "failed to config vf-%u hem res, ret = %d.\n", in hns_roce_alloc_vf_resource()
4000 dev_warn(hr_dev->dev, "failed to check hem type %u.\n", type); in get_op_for_set_hem()
4051 struct hns_roce_hem *hem; in hns_roce_v2_set_hem() local
4085 hem = table->hem[hem_idx]; in hns_roce_v2_set_hem()
4086 for (hns_roce_hem_first(hem, &iter); in hns_roce_v2_set_hem()
/kernel/linux/linux-5.10/drivers/infiniband/hw/hns/
H A Dhns_roce_hem.c82 static bool hns_roce_check_hem_null(struct hns_roce_hem **hem, u64 hem_idx, in hns_roce_check_hem_null() argument
90 if (i != hem_idx && hem[i]) in hns_roce_check_hem_null()
209 * QPC/MTPT/CQC/SRQC/SCCC alloc hem for buffer pages. in hns_roce_calc_hem_mhop()
210 * MTT/CQE alloc hem for bt pages. in hns_roce_calc_hem_mhop()
248 struct hns_roce_hem *hem; in hns_roce_alloc_hem() local
255 hem = kmalloc(sizeof(*hem), in hns_roce_alloc_hem()
257 if (!hem) in hns_roce_alloc_hem()
260 INIT_LIST_HEAD(&hem->chunk_list); in hns_roce_alloc_hem()
275 list_add_tail(&chunk->list, &hem in hns_roce_alloc_hem()
306 hns_roce_free_hem(struct hns_roce_dev *hr_dev, struct hns_roce_hem *hem) hns_roce_free_hem() argument
712 struct hns_roce_hem *hem; hns_roce_table_find() local
977 struct roce_hem_item *hem; hem_list_alloc_item() local
1002 hem_list_free_item(struct hns_roce_dev *hr_dev, struct roce_hem_item *hem, bool exist_bt) hem_list_free_item() argument
1014 struct roce_hem_item *hem, *temp_hem; hem_list_free_all() local
1029 hem_list_assign_bt(struct hns_roce_dev *hr_dev, struct roce_hem_item *hem, void *cpu_addr, u64 phy_addr) hem_list_assign_bt() argument
1037 hem_list_page_is_in_range(struct roce_hem_item *hem, int offset) hem_list_page_is_in_range() argument
1046 struct roce_hem_item *hem, *temp_hem; hem_list_search_item() local
1223 struct roce_hem_item *hem, *temp_hem, *root_hem; hem_list_alloc_root_bt() local
1401 struct roce_hem_item *hem, *temp_hem; hns_roce_hem_list_find_mtt() local
[all...]
H A Dhns_roce_hem.h88 struct hns_roce_hem *hem; member
103 void hns_roce_free_hem(struct hns_roce_dev *hr_dev, struct hns_roce_hem *hem);
136 static inline void hns_roce_hem_first(struct hns_roce_hem *hem, in hns_roce_hem_first() argument
139 iter->hem = hem; in hns_roce_hem_first()
140 iter->chunk = list_empty(&hem->chunk_list) ? NULL : in hns_roce_hem_first()
141 list_entry(hem->chunk_list.next, in hns_roce_hem_first()
154 if (iter->chunk->list.next == &iter->hem->chunk_list) { in hns_roce_hem_next()
H A Dhns_roce_device.h311 struct hns_roce_hem **hem; member
H A Dhns_roce_hw_v2.c3622 struct hns_roce_hem *hem; in hns_roce_v2_set_hem() local
3656 hem = table->hem[hem_idx]; in hns_roce_v2_set_hem()
3657 for (hns_roce_hem_first(hem, &iter); in hns_roce_v2_set_hem()
H A Dhns_roce_hw_v1.c491 for (hns_roce_hem_first(table->hem[i], &iter); in hns_roce_v1_set_hem()

Completed in 30 milliseconds