svn commit: r326294 - head/sys/dev/bhnd/siba

Landon J. Fuller landonf at FreeBSD.org
Mon Nov 27 22:38:46 UTC 2017


Author: landonf
Date: Mon Nov 27 22:38:44 2017
New Revision: 326294
URL: https://svnweb.freebsd.org/changeset/base/326294

Log:
  siba(4): fix workaround for BCM4312 D11 core backplane timeouts
  
  The SIBA_QUIRK_PCIE_D11_SB_TIMEOUT quirk should match on all BCM4312
  revisions, and backplane service timeouts must also be disabled.
  
  Approved by:	adrian (mentor, implicit)
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/dev/bhnd/siba/siba_bhndb.c

Modified: head/sys/dev/bhnd/siba/siba_bhndb.c
==============================================================================
--- head/sys/dev/bhnd/siba/siba_bhndb.c	Mon Nov 27 22:29:35 2017	(r326293)
+++ head/sys/dev/bhnd/siba/siba_bhndb.c	Mon Nov 27 22:38:44 2017	(r326294)
@@ -77,7 +77,7 @@ static struct bhnd_device_quirk pci_bridge_quirks[] = 
 /* Bus-level quirks when bridged via a PCIe host bridge core */
 static struct bhnd_device_quirk pcie_bridge_quirks[] = {
 	BHND_CHIP_QUIRK (4311, HWREV_EQ(2),	SIBA_QUIRK_PCIE_D11_SB_TIMEOUT),
-	BHND_CHIP_QUIRK (4312, HWREV_EQ(0),	SIBA_QUIRK_PCIE_D11_SB_TIMEOUT),
+	BHND_CHIP_QUIRK (4312, HWREV_ANY,	SIBA_QUIRK_PCIE_D11_SB_TIMEOUT),
 	BHND_DEVICE_QUIRK_END
 };
 
@@ -250,7 +250,7 @@ siba_bhndb_wars_pcie_clear_d11_timeout(struct siba_bhn
 	KASSERT(dinfo->cfg_res[0] != NULL, ("missing core config mapping"));
 
 	imcfg = bhnd_bus_read_4(dinfo->cfg_res[0], SIBA_CFG0_IMCONFIGLOW);
-	imcfg &= ~SIBA_IMCL_RTO_MASK;
+	imcfg &= ~(SIBA_IMCL_RTO_MASK|SIBA_IMCL_STO_MASK);
 
 	bhnd_bus_write_4(dinfo->cfg_res[0], SIBA_CFG0_IMCONFIGLOW, imcfg);
 


More information about the svn-src-head mailing list