Lines Matching refs:rmt
14277 struct rsm_map_table *rmt; in alloc_rsm_map_table() local
14280 rmt = kmalloc(sizeof(*rmt), GFP_KERNEL); in alloc_rsm_map_table()
14281 if (rmt) { in alloc_rsm_map_table()
14282 memset(rmt->map, rxcontext, sizeof(rmt->map)); in alloc_rsm_map_table()
14283 rmt->used = 0; in alloc_rsm_map_table()
14286 return rmt; in alloc_rsm_map_table()
14294 struct rsm_map_table *rmt) in complete_rsm_map_table() argument
14298 if (rmt) { in complete_rsm_map_table()
14301 write_csr(dd, RCV_RSM_MAP_TABLE + (8 * i), rmt->map[i]); in complete_rsm_map_table()
14406 static void init_qos(struct hfi1_devdata *dd, struct rsm_map_table *rmt) in init_qos() argument
14413 if (!rmt) in init_qos()
14422 if (rmt->used + rmt_entries >= NUM_MAP_ENTRIES) in init_qos()
14434 idx = rmt->used + ((qpn << n) ^ i); in init_qos()
14438 reg = rmt->map[regidx]; in init_qos()
14442 rmt->map[regidx] = reg; in init_qos()
14449 rrd.offset = rmt->used; in init_qos()
14466 rmt->used += rmt_entries; in init_qos()
14477 struct rsm_map_table *rmt) in init_fecn_handling() argument
14494 if (rmt->used + total_cnt >= NUM_MAP_ENTRIES) { in init_fecn_handling()
14509 offset = (u8)(NUM_MAP_ENTRIES + rmt->used - start); in init_fecn_handling()
14511 for (i = start, idx = rmt->used; i < dd->num_rcv_contexts; in init_fecn_handling()
14516 reg = rmt->map[regidx]; in init_fecn_handling()
14519 rmt->map[regidx] = reg; in init_fecn_handling()
14547 rmt->used += total_cnt; in init_fecn_handling()
14686 struct rsm_map_table *rmt; in init_rxe() local
14692 rmt = alloc_rsm_map_table(dd); in init_rxe()
14693 if (!rmt) in init_rxe()
14697 init_qos(dd, rmt); in init_rxe()
14698 init_fecn_handling(dd, rmt); in init_rxe()
14699 complete_rsm_map_table(dd, rmt); in init_rxe()
14701 hfi1_netdev_set_free_rmt_idx(dd, rmt->used); in init_rxe()
14702 kfree(rmt); in init_rxe()