summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2016-08-18 11:09:43 +0000
committermav <mav@FreeBSD.org>2016-08-18 11:09:43 +0000
commitce283bc36fdff9bc2fe96b61adb634a76c29cf7a (patch)
treedaa9cfeb488b33e91045584952ce1d06f14bf5d0
parent62174c796a523646e9afe590df9f3f1ebe3e0f57 (diff)
downloadFreeBSD-src-ce283bc36fdff9bc2fe96b61adb634a76c29cf7a.zip
FreeBSD-src-ce283bc36fdff9bc2fe96b61adb634a76c29cf7a.tar.gz
MFC r303561: Wrap previous MSIX workaround into #ifndef EARLY_AP_STARTUP.
With EARLY_AP_STARTUP we can successfully negotiate MSIX earlier.
-rw-r--r--sys/dev/ntb/ntb_hw/ntb_hw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/ntb/ntb_hw/ntb_hw.c b/sys/dev/ntb/ntb_hw/ntb_hw.c
index 4694003..609aa4d 100644
--- a/sys/dev/ntb/ntb_hw/ntb_hw.c
+++ b/sys/dev/ntb/ntb_hw/ntb_hw.c
@@ -2625,6 +2625,7 @@ intel_ntb_user_mw_to_idx(struct ntb_softc *ntb, unsigned uidx)
return (uidx);
}
+#ifndef EARLY_AP_STARTUP
static int msix_ready;
static void
@@ -2635,6 +2636,7 @@ intel_ntb_msix_ready(void *arg __unused)
}
SYSINIT(intel_ntb_msix_ready, SI_SUB_SMP, SI_ORDER_ANY,
intel_ntb_msix_ready, NULL);
+#endif
static void
intel_ntb_exchange_msix(void *ctx)
@@ -2650,9 +2652,11 @@ intel_ntb_exchange_msix(void *ctx)
if (ntb->peer_msix_done)
goto msix_done;
+#ifndef EARLY_AP_STARTUP
/* Block MSIX negotiation until SMP started and IRQ reshuffled. */
if (!msix_ready)
goto reschedule;
+#endif
intel_ntb_get_msix_info(ntb);
for (i = 0; i < XEON_NONLINK_DB_MSIX_BITS; i++) {
OpenPOWER on IntegriCloud