svn commit: r220867 - head/sys/dev/iwn

Bernhard Schmidt bschmidt at FreeBSD.org
Tue Apr 19 19:51:36 UTC 2011


Author: bschmidt
Date: Tue Apr 19 19:51:35 2011
New Revision: 220867
URL: http://svn.freebsd.org/changeset/base/220867

Log:
  Enable DC calibration for all 6000 series devices, except those
  with an internal PA.
  Override the chainmask also for the 6050.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Apr 19 19:47:41 2011	(r220866)
+++ head/sys/dev/iwn/if_iwn.c	Tue Apr 19 19:51:35 2011	(r220867)
@@ -809,6 +809,9 @@ iwn5000_attach(struct iwn_softc *sc, uin
 	case IWN_HW_REV_TYPE_6050:
 		sc->limits = &iwn6000_sensitivity_limits;
 		sc->fwname = "iwn6050fw";
+		/* Override chains masks, ROM is known to be broken. */
+		sc->txchainmask = IWN_ANT_AB;
+		sc->rxchainmask = IWN_ANT_AB;
 		break;
 	case IWN_HW_REV_TYPE_6005:
 		sc->limits = &iwn6000_sensitivity_limits;
@@ -2387,7 +2390,9 @@ iwn5000_rx_calib_results(struct iwn_soft
 
 	switch (calib->code) {
 	case IWN5000_PHY_CALIB_DC:
-		if (sc->hw_type == IWN_HW_REV_TYPE_5150)
+		if ((sc->sc_flags & IWN_FLAG_INTERNAL_PA) == 0 &&
+		    (sc->hw_type == IWN_HW_REV_TYPE_5150 ||
+		     sc->hw_type >= IWN_HW_REV_TYPE_6000))
 			idx = 0;
 		break;
 	case IWN5000_PHY_CALIB_LO:


More information about the svn-src-all mailing list