summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornp <np@FreeBSD.org>2015-03-06 16:05:20 +0000
committernp <np@FreeBSD.org>2015-03-06 16:05:20 +0000
commit79eb0c64a94e36132b99dc57e4eb0633ce709684 (patch)
tree6c2c92336250bbb501bee2f99f58fa84ebac0db4
parent3a52ecfa6691c2702c8ab7eb611b6b51323de6e1 (diff)
downloadFreeBSD-src-79eb0c64a94e36132b99dc57e4eb0633ce709684.zip
FreeBSD-src-79eb0c64a94e36132b99dc57e4eb0633ce709684.tar.gz
cxgbe(4): provide the correct size of freelists associated with netmap
rx queues to the chip. This will fix many problems with native netmap rx on ncxl/ncxgbe interfaces. MFC after: 1 week
-rw-r--r--sys/dev/cxgbe/t4_netmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/cxgbe/t4_netmap.c b/sys/dev/cxgbe/t4_netmap.c
index 041afbf..d7feac2 100644
--- a/sys/dev/cxgbe/t4_netmap.c
+++ b/sys/dev/cxgbe/t4_netmap.c
@@ -279,7 +279,7 @@ alloc_nm_rxq_hwq(struct port_info *pi, struct sge_nm_rxq *nm_rxq, int cong)
c.fl0dcaen_to_fl0cidxfthresh =
htobe16(V_FW_IQ_CMD_FL0FBMIN(X_FETCHBURSTMIN_64B) |
V_FW_IQ_CMD_FL0FBMAX(X_FETCHBURSTMAX_512B));
- c.fl0size = htobe16(na->num_rx_desc + spg_len / EQ_ESIZE);
+ c.fl0size = htobe16(na->num_rx_desc / 8 + spg_len / EQ_ESIZE);
c.fl0addr = htobe64(nm_rxq->fl_ba);
rc = -t4_wr_mbox(sc, sc->mbox, &c, sizeof(c), &c);
OpenPOWER on IntegriCloud