summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzbb <zbb@FreeBSD.org>2015-08-08 21:46:38 +0000
committerzbb <zbb@FreeBSD.org>2015-08-08 21:46:38 +0000
commit2e34ad881ba7116d804c94402c88f2f861598470 (patch)
tree4d86de0191b7700c0e581cdebd263803e0b526e5
parent89fb1d12ff6c2b9b8df1f91e7e29468cb9181ad5 (diff)
downloadFreeBSD-src-2e34ad881ba7116d804c94402c88f2f861598470.zip
FreeBSD-src-2e34ad881ba7116d804c94402c88f2f861598470.tar.gz
Treat internal bridge as subtractive on ThunderX ARM64
Internal bridges in Cavium ThunderX SoC behave as subtractive, but they are unable to be identified. Force setting an appropriate flag. Reviewed by: emaste, imp Obtained from: Semihalf Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3277
-rw-r--r--sys/dev/pci/pci_pci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c
index 585ee86..5b925c8 100644
--- a/sys/dev/pci/pci_pci.c
+++ b/sys/dev/pci/pci_pci.c
@@ -960,9 +960,10 @@ pcib_attach_common(device_t dev)
* The i82380FB mobile docking controller is a PCI-PCI bridge,
* and it is a subtractive bridge. However, the ProgIf is wrong
* so the normal setting of PCIB_SUBTRACTIVE bit doesn't
- * happen. There's also a Toshiba bridge that behaves this
- * way.
+ * happen. There are also Toshiba and Cavium ThunderX bridges
+ * that behave this way.
*/
+ case 0xa002177d: /* Cavium ThunderX */
case 0x124b8086: /* Intel 82380FB Mobile */
case 0x060513d7: /* Toshiba ???? */
sc->flags |= PCIB_SUBTRACTIVE;
OpenPOWER on IntegriCloud