diff options
author | np <np@FreeBSD.org> | 2015-03-06 16:05:20 +0000 |
---|---|---|
committer | np <np@FreeBSD.org> | 2015-03-06 16:05:20 +0000 |
commit | 79eb0c64a94e36132b99dc57e4eb0633ce709684 (patch) | |
tree | 6c2c92336250bbb501bee2f99f58fa84ebac0db4 | |
parent | 3a52ecfa6691c2702c8ab7eb611b6b51323de6e1 (diff) | |
download | FreeBSD-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.c | 2 |
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); |