Lines Matching refs:egrbufs

436 		rcd->egrbufs.count = round_down(rcvtids,
438 if (rcd->egrbufs.count > MAX_EAGER_ENTRIES) {
441 rcd->egrbufs.count = MAX_EAGER_ENTRIES;
445 rcd->ctxt, rcd->egrbufs.count);
455 rcd->egrbufs.buffers =
456 kcalloc_node(rcd->egrbufs.count,
457 sizeof(*rcd->egrbufs.buffers),
459 if (!rcd->egrbufs.buffers)
461 rcd->egrbufs.rcvtids =
462 kcalloc_node(rcd->egrbufs.count,
463 sizeof(*rcd->egrbufs.rcvtids),
465 if (!rcd->egrbufs.rcvtids)
467 rcd->egrbufs.size = eager_buffer_size;
473 if (rcd->egrbufs.size < hfi1_max_mtu) {
474 rcd->egrbufs.size = __roundup_pow_of_two(hfi1_max_mtu);
477 rcd->ctxt, rcd->egrbufs.size);
479 rcd->egrbufs.rcvtid_size = HFI1_MAX_EAGER_BUFFER_SIZE;
1147 kfree(rcd->egrbufs.rcvtids);
1148 rcd->egrbufs.rcvtids = NULL;
1150 for (e = 0; e < rcd->egrbufs.alloced; e++) {
1151 if (rcd->egrbufs.buffers[e].addr)
1153 rcd->egrbufs.buffers[e].len,
1154 rcd->egrbufs.buffers[e].addr,
1155 rcd->egrbufs.buffers[e].dma);
1157 kfree(rcd->egrbufs.buffers);
1158 rcd->egrbufs.alloced = 0;
1159 rcd->egrbufs.buffers = NULL;
1884 if (rcd->egrbufs.size < (round_mtu * dd->rcv_entries.group_size))
1885 rcd->egrbufs.size = round_mtu * dd->rcv_entries.group_size;
1891 rcd->egrbufs.rcvtid_size = round_mtu;
1897 if (rcd->egrbufs.size <= (1 << 20))
1898 rcd->egrbufs.rcvtid_size = max((unsigned long)round_mtu,
1899 rounddown_pow_of_two(rcd->egrbufs.size / 8));
1901 while (alloced_bytes < rcd->egrbufs.size &&
1902 rcd->egrbufs.alloced < rcd->egrbufs.count) {
1903 rcd->egrbufs.buffers[idx].addr =
1905 rcd->egrbufs.rcvtid_size,
1906 &rcd->egrbufs.buffers[idx].dma,
1908 if (rcd->egrbufs.buffers[idx].addr) {
1909 rcd->egrbufs.buffers[idx].len =
1910 rcd->egrbufs.rcvtid_size;
1911 rcd->egrbufs.rcvtids[rcd->egrbufs.alloced].addr =
1912 rcd->egrbufs.buffers[idx].addr;
1913 rcd->egrbufs.rcvtids[rcd->egrbufs.alloced].dma =
1914 rcd->egrbufs.buffers[idx].dma;
1915 rcd->egrbufs.alloced++;
1916 alloced_bytes += rcd->egrbufs.rcvtid_size;
1928 if (rcd->egrbufs.rcvtid_size == round_mtu ||
1936 new_size = rcd->egrbufs.rcvtid_size / 2;
1944 rcd->egrbufs.rcvtid_size = new_size;
1952 rcd->egrbufs.alloced = 0;
1954 if (i >= rcd->egrbufs.count)
1956 rcd->egrbufs.rcvtids[i].dma =
1957 rcd->egrbufs.buffers[j].dma + offset;
1958 rcd->egrbufs.rcvtids[i].addr =
1959 rcd->egrbufs.buffers[j].addr + offset;
1960 rcd->egrbufs.alloced++;
1961 if ((rcd->egrbufs.buffers[j].dma + offset +
1963 (rcd->egrbufs.buffers[j].dma +
1964 rcd->egrbufs.buffers[j].len)) {
1971 rcd->egrbufs.rcvtid_size = new_size;
1974 rcd->egrbufs.numbufs = idx;
1975 rcd->egrbufs.size = alloced_bytes;
1979 rcd->ctxt, rcd->egrbufs.alloced,
1980 rcd->egrbufs.rcvtid_size / 1024, rcd->egrbufs.size / 1024);
1987 rcd->egrbufs.threshold =
1988 rounddown_pow_of_two(rcd->egrbufs.alloced / 2);
1995 egrtop = roundup(rcd->egrbufs.alloced, dd->rcv_entries.group_size);
2002 rcd->ctxt, rcd->egrbufs.alloced, rcd->expected_count,
2005 if (!hfi1_rcvbuf_validate(rcd->egrbufs.rcvtid_size, PT_EAGER, &order)) {
2008 rcd->ctxt, rcd->egrbufs.rcvtid_size);
2013 for (idx = 0; idx < rcd->egrbufs.alloced; idx++) {
2015 rcd->egrbufs.rcvtids[idx].dma, order);
2022 for (idx = 0; idx < rcd->egrbufs.alloced &&
2023 rcd->egrbufs.buffers[idx].addr;
2026 rcd->egrbufs.buffers[idx].len,
2027 rcd->egrbufs.buffers[idx].addr,
2028 rcd->egrbufs.buffers[idx].dma);
2029 rcd->egrbufs.buffers[idx].addr = NULL;
2030 rcd->egrbufs.buffers[idx].dma = 0;
2031 rcd->egrbufs.buffers[idx].len = 0;