svn commit: r354506 - head/sys/dev/iwm

Mark Johnston markj at FreeBSD.org
Thu Nov 7 23:36:26 UTC 2019


Author: markj
Date: Thu Nov  7 23:36:25 2019
New Revision: 354506
URL: https://svnweb.freebsd.org/changeset/base/354506

Log:
  iwm: Explicitly enable MSI on newer chipsets.
  
  9000-series chips implement support for MSI-X interrupts and disable MSI
  by default.
  
  MFC after:	2 weeks
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/dev/iwm/if_iwm_pcie_trans.c
  head/sys/dev/iwm/if_iwmreg.h

Modified: head/sys/dev/iwm/if_iwm_pcie_trans.c
==============================================================================
--- head/sys/dev/iwm/if_iwm_pcie_trans.c	Thu Nov  7 23:36:10 2019	(r354505)
+++ head/sys/dev/iwm/if_iwm_pcie_trans.c	Thu Nov  7 23:36:25 2019	(r354506)
@@ -616,6 +616,10 @@ iwm_start_hw(struct iwm_softc *sc)
 	if ((error = iwm_apm_init(sc)) != 0)
 		return error;
 
+	/* On newer chipsets MSI is disabled by default. */
+	if (sc->cfg->mqrx_supported)
+		iwm_write_prph(sc, IWM_UREG_CHICK, IWM_UREG_CHICK_MSI_ENABLE);
+
 	iwm_enable_rfkill_int(sc);
 	iwm_check_rfkill(sc);
 

Modified: head/sys/dev/iwm/if_iwmreg.h
==============================================================================
--- head/sys/dev/iwm/if_iwmreg.h	Thu Nov  7 23:36:10 2019	(r354505)
+++ head/sys/dev/iwm/if_iwmreg.h	Thu Nov  7 23:36:25 2019	(r354506)
@@ -457,6 +457,10 @@ enum iwm_secure_boot_status_reg {
 #define IWM_LMPM_CHICK				0xa01ff8
 #define IWM_LMPM_CHICK_EXTENDED_ADDR_SPACE	0x01
 
+#define	IWM_UREG_CHICK			0xa05c00
+#define	IWM_UREG_CHICK_MSI_ENABLE	0x01000000
+#define	IWM_UREG_CHICK_MSIX_ENABLE	0x02000000
+
 #define IWM_FH_TCSR_0_REG0 (0x1D00)
 
 /*


More information about the svn-src-all mailing list