Lines Matching refs:rmt
14238 struct rsm_map_table *rmt; in alloc_rsm_map_table() local
14241 rmt = kmalloc(sizeof(*rmt), GFP_KERNEL); in alloc_rsm_map_table()
14242 if (rmt) { in alloc_rsm_map_table()
14243 memset(rmt->map, rxcontext, sizeof(rmt->map)); in alloc_rsm_map_table()
14244 rmt->used = 0; in alloc_rsm_map_table()
14247 return rmt; in alloc_rsm_map_table()
14255 struct rsm_map_table *rmt) in complete_rsm_map_table() argument
14259 if (rmt) { in complete_rsm_map_table()
14262 write_csr(dd, RCV_RSM_MAP_TABLE + (8 * i), rmt->map[i]); in complete_rsm_map_table()
14367 static void init_qos(struct hfi1_devdata *dd, struct rsm_map_table *rmt) in init_qos() argument
14374 if (!rmt) in init_qos()
14383 if (rmt->used + rmt_entries >= NUM_MAP_ENTRIES) in init_qos()
14395 idx = rmt->used + ((qpn << n) ^ i); in init_qos()
14399 reg = rmt->map[regidx]; in init_qos()
14403 rmt->map[regidx] = reg; in init_qos()
14410 rrd.offset = rmt->used; in init_qos()
14427 rmt->used += rmt_entries; in init_qos()
14438 struct rsm_map_table *rmt) in init_fecn_handling() argument
14455 if (rmt->used + total_cnt >= NUM_MAP_ENTRIES) { in init_fecn_handling()
14470 offset = (u8)(NUM_MAP_ENTRIES + rmt->used - start); in init_fecn_handling()
14472 for (i = start, idx = rmt->used; i < dd->num_rcv_contexts; in init_fecn_handling()
14477 reg = rmt->map[regidx]; in init_fecn_handling()
14480 rmt->map[regidx] = reg; in init_fecn_handling()
14508 rmt->used += total_cnt; in init_fecn_handling()
14647 struct rsm_map_table *rmt; in init_rxe() local
14653 rmt = alloc_rsm_map_table(dd); in init_rxe()
14654 if (!rmt) in init_rxe()
14658 init_qos(dd, rmt); in init_rxe()
14659 init_fecn_handling(dd, rmt); in init_rxe()
14660 complete_rsm_map_table(dd, rmt); in init_rxe()
14662 hfi1_netdev_set_free_rmt_idx(dd, rmt->used); in init_rxe()
14663 kfree(rmt); in init_rxe()