]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
NTB: Update pci ids
authorcem <cem@FreeBSD.org>
Tue, 13 Oct 2015 17:21:38 +0000 (17:21 +0000)
committercem <cem@FreeBSD.org>
Tue, 13 Oct 2015 17:21:38 +0000 (17:21 +0000)
Add JSF, HSX, BDX ids; add two additional Xeon errata flags while we're
here.

Obtained from: Linux
Sponsored by: EMC / Isilon Storage Division

sys/dev/ntb/ntb_hw/ntb_hw.c
sys/dev/ntb/ntb_hw/ntb_hw.h

index d6825bc85fbda2033668e38963152839116decd5..280925b863323e3bbed57f43df87ea918998b344 100644 (file)
@@ -199,11 +199,23 @@ static int ntb_check_link_status(struct ntb_softc *ntb);
 static void save_bar_parameters(struct ntb_pci_bar_info *bar);
 
 static struct ntb_hw_info pci_ids[] = {
-       { 0x3C0D8086, "Xeon E5/Core i7 Non-Transparent Bridge B2B", NTB_XEON,
-           NTB_REGS_THRU_MW },
        { 0x0C4E8086, "Atom Processor S1200 NTB Primary B2B", NTB_SOC, 0 },
-       { 0x0E0D8086, "Xeon E5 V2 Non-Transparent Bridge B2B", NTB_XEON,
-           NTB_REGS_THRU_MW | NTB_BAR_SIZE_4K },
+
+       /* XXX: PS/SS IDs left out until they are supported. */
+       { 0x37258086, "JSF Xeon C35xx/C55xx Non-Transparent Bridge B2B",
+               NTB_XEON, NTB_REGS_THRU_MW | NTB_B2BDOORBELL_BIT14 },
+       { 0x3C0D8086, "SNB Xeon E5/Core i7 Non-Transparent Bridge B2B",
+               NTB_XEON, NTB_REGS_THRU_MW | NTB_B2BDOORBELL_BIT14 },
+       { 0x0E0D8086, "IVT Xeon E5 V2 Non-Transparent Bridge B2B", NTB_XEON,
+               NTB_REGS_THRU_MW | NTB_B2BDOORBELL_BIT14 | NTB_SB01BASE_LOCKUP
+                   | NTB_BAR_SIZE_4K },
+       { 0x2F0D8086, "HSX Xeon E5 V3 Non-Transparent Bridge B2B", NTB_XEON,
+               NTB_REGS_THRU_MW | NTB_B2BDOORBELL_BIT14 | NTB_SB01BASE_LOCKUP
+       },
+       { 0x6F0D8086, "BDX Xeon E5 V4 Non-Transparent Bridge B2B", NTB_XEON,
+               NTB_REGS_THRU_MW | NTB_B2BDOORBELL_BIT14 | NTB_SB01BASE_LOCKUP
+       },
+
        { 0x00000000, NULL, NTB_SOC, 0 }
 };
 
index f55f60700b220bfd630f1889b920f1e2a4be2d52..4d66350abc7cac0d06d29a1a4a25c86acf2231aa 100644 (file)
@@ -74,7 +74,10 @@ bool ntb_query_link_status(struct ntb_softc *ntb);
 device_t ntb_get_device(struct ntb_softc *ntb);
 
 #define NTB_BAR_SIZE_4K                (1 << 0)
+/* REGS_THRU_MW is the equivalent of Linux's NTB_HWERR_SDOORBELL_LOCKUP */
 #define NTB_REGS_THRU_MW       (1 << 1)
+#define NTB_SB01BASE_LOCKUP    (1 << 2)
+#define NTB_B2BDOORBELL_BIT14  (1 << 3)
 bool ntb_has_feature(struct ntb_softc *, uint64_t);
 
 #endif /* _NTB_HW_H_ */