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