diff options
author | zbb <zbb@FreeBSD.org> | 2015-08-08 21:46:38 +0000 |
---|---|---|
committer | zbb <zbb@FreeBSD.org> | 2015-08-08 21:46:38 +0000 |
commit | 2e34ad881ba7116d804c94402c88f2f861598470 (patch) | |
tree | 4d86de0191b7700c0e581cdebd263803e0b526e5 | |
parent | 89fb1d12ff6c2b9b8df1f91e7e29468cb9181ad5 (diff) | |
download | FreeBSD-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.c | 5 |
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; |