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);
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to