Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Mar 2019 20:56:07 +0000 (UTC)
From:      Navdeep Parhar <np@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r345603 - stable/12/sys/dev/cxgbe
Message-ID:  <201903272056.x2RKu7P5020680@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: np
Date: Wed Mar 27 20:56:06 2019
New Revision: 345603
URL: https://svnweb.freebsd.org/changeset/base/345603

Log:
  MFC r341654:
  
  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.
  
  Sponsored by:	Chelsio Communicatons

Modified:
  stable/12/sys/dev/cxgbe/t4_sge.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- stable/12/sys/dev/cxgbe/t4_sge.c	Wed Mar 27 20:29:02 2019	(r345602)
+++ stable/12/sys/dev/cxgbe/t4_sge.c	Wed Mar 27 20:56:06 2019	(r345603)
@@ -697,8 +697,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]);
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903272056.x2RKu7P5020680>