summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2010-01-23 09:14:14 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2010-01-23 09:14:14 +0000
commitc0475986fd78ac3ca5e23b9cf91fa22d0c0bf9fd (patch)
tree9e607c21a4cdf9b31e6b56be7d056aa0540b787d
parentf1bfe873d3d249f0ad1eefd48481b20ac7d305ed (diff)
finally, 6250 parts need crystal calibration too.
update sensitivity settings for 5000 series to workaround a performance bug in the DSP (1000 is not affected so we keep the old values for 5000.) update sensitivity settings for 6000 series. from similar changes to iwlwifi
-rw-r--r--sys/dev/pci/if_iwn.c7
-rw-r--r--sys/dev/pci/if_iwnreg.h22
2 files changed, 20 insertions, 9 deletions
diff --git a/sys/dev/pci/if_iwn.c b/sys/dev/pci/if_iwn.c
index d6429226134..4af38df1b88 100644
--- a/sys/dev/pci/if_iwn.c
+++ b/sys/dev/pci/if_iwn.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwn.c,v 1.81 2010/01/16 12:48:58 damien Exp $ */
+/* $OpenBSD: if_iwn.c,v 1.82 2010/01/23 09:14:13 damien Exp $ */
/*-
* Copyright (c) 2007-2009 Damien Bergamini <damien.bergamini@free.fr>
@@ -605,7 +605,7 @@ iwn_hal_attach(struct iwn_softc *sc, pci_product_id_t pid)
break;
case IWN_HW_REV_TYPE_1000:
sc->sc_hal = &iwn5000_hal;
- sc->limits = &iwn5000_sensitivity_limits;
+ sc->limits = &iwn1000_sensitivity_limits;
sc->fwname = "iwn-1000";
sc->txchainmask = IWN_ANT_A;
sc->rxchainmask = IWN_ANT_AB;
@@ -4919,8 +4919,7 @@ iwn5000_post_alive(struct iwn_softc *sc)
sc->sc_dev.dv_xname);
return error;
}
- if (sc->hw_type != IWN_HW_REV_TYPE_5150 &&
- sc->hw_type != IWN_HW_REV_TYPE_6050) {
+ if (sc->hw_type != IWN_HW_REV_TYPE_5150) {
struct iwn5000_phy_calib_crystal cmd;
/* Perform crystal calibration. */
diff --git a/sys/dev/pci/if_iwnreg.h b/sys/dev/pci/if_iwnreg.h
index 84b1d1351d4..bea35a866ca 100644
--- a/sys/dev/pci/if_iwnreg.h
+++ b/sys/dev/pci/if_iwnreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwnreg.h,v 1.35 2010/01/16 12:48:58 damien Exp $ */
+/* $OpenBSD: if_iwnreg.h,v 1.36 2010/01/23 09:14:13 damien Exp $ */
/*-
* Copyright (c) 2007, 2008
@@ -1537,8 +1537,8 @@ static const struct iwn_sensitivity_limits iwn4965_sensitivity_limits = {
};
static const struct iwn_sensitivity_limits iwn5000_sensitivity_limits = {
- 120, 155,
- 240, 290,
+ 120, 120, /* min = max for performance bug in DSP. */
+ 240, 240, /* min = max for performance bug in DSP. */
90, 120,
170, 210,
125, 200,
@@ -1560,8 +1560,20 @@ static const struct iwn_sensitivity_limits iwn5150_sensitivity_limits = {
95
};
+static const struct iwn_sensitivity_limits iwn1000_sensitivity_limits = {
+ 120, 155,
+ 240, 290,
+ 90, 120,
+ 170, 210,
+ 125, 200,
+ 170, 400,
+ 95,
+ 95,
+ 95
+};
+
static const struct iwn_sensitivity_limits iwn6000_sensitivity_limits = {
- 105, 145,
+ 105, 110,
192, 232,
80, 145,
128, 232,
@@ -1627,7 +1639,7 @@ static const char * const iwn_fw_errmsg[] = {
"DEBUG_1",
"DEBUG_2",
"DEBUG_3",
- "UNKNOWN"
+ "ADVANCED_SYSASSERT"
};
/* Find least significant bit that is set. */