svn commit: r341654 - head/sys/dev/cxgbe

Navdeep Parhar np at FreeBSD.org
Thu Dec 6 21:33:10 UTC 2018


Author: np
Date: Thu Dec  6 21:33:08 2018
New Revision: 341654
URL: https://svnweb.freebsd.org/changeset/base/341654

Log:
  cxgbe(4): Get Linux cxgb4vf working in bhyve VMs with VFs passed
  through.
  
  cxgb4vf doesn't own the buffer size list but still expects the first two
  entries to be 4K and some power of 2 respectively.  The BSD cxgbe
  doesn't care where its preferred buffer sizes are as long as they're in
  the list somewhere, so just move its entries towards the end as a
  workaround.
  
  MFC after:	1 month
  Sponsored by:	Chelsio Communicatons

Modified:
  head/sys/dev/cxgbe/t4_sge.c

Modified: head/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- head/sys/dev/cxgbe/t4_sge.c	Thu Dec  6 21:27:36 2018	(r341653)
+++ head/sys/dev/cxgbe/t4_sge.c	Thu Dec  6 21:33:08 2018	(r341654)
@@ -701,8 +701,10 @@ t4_tweak_chip_settings(struct adapter *sc)
 
 	KASSERT(nitems(sge_flbuf_sizes) <= SGE_FLBUF_SIZES,
 	    ("%s: hw buffer size table too big", __func__));
+	t4_write_reg(sc, A_SGE_FL_BUFFER_SIZE0, 4096);
+	t4_write_reg(sc, A_SGE_FL_BUFFER_SIZE1, 65536);
 	for (i = 0; i < min(nitems(sge_flbuf_sizes), SGE_FLBUF_SIZES); i++) {
-		t4_write_reg(sc, A_SGE_FL_BUFFER_SIZE0 + (4 * i),
+		t4_write_reg(sc, A_SGE_FL_BUFFER_SIZE15 - (4 * i),
 		    sge_flbuf_sizes[i]);
 	}
 


More information about the svn-src-all mailing list