diff options
author | Reyk Floeter <reyk@cvs.openbsd.org> | 2006-09-19 17:49:14 +0000 |
---|---|---|
committer | Reyk Floeter <reyk@cvs.openbsd.org> | 2006-09-19 17:49:14 +0000 |
commit | c63c5073038ac00d3c350e9fd6dcb1b8a4d07685 (patch) | |
tree | ecaecce32ddc0b6be334cdac9e4a602a859e4610 /sys/dev | |
parent | d481e84ecd1cd32131e9a1a20472829b804f480c (diff) |
attach and enable the newer chipset generations AR2413, AR5413, and
AR5424. unlike the previous chipset generations, these chipsets are
single chip solutions. the AR5424 is a PCI Express chipset as found in
various intel Macs.
support is still incomplete- 11a mode works and 11b mode is rx-only. i
need some more test reports, hardware donations (there are several
different subrevisions) and time to finish it.
thanks for help from kettenis@
"of course!" deraadt@
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ic/ar5212.c | 7 | ||||
-rw-r--r-- | sys/dev/ic/ar5xxx.h | 3 | ||||
-rw-r--r-- | sys/dev/ic/ath.c | 6 |
3 files changed, 11 insertions, 5 deletions
diff --git a/sys/dev/ic/ar5212.c b/sys/dev/ic/ar5212.c index 965aab792d0..41f5263deb0 100644 --- a/sys/dev/ic/ar5212.c +++ b/sys/dev/ic/ar5212.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ar5212.c,v 1.32 2006/09/19 16:42:29 reyk Exp $ */ +/* $OpenBSD: ar5212.c,v 1.33 2006/09/19 17:49:13 reyk Exp $ */ /* * Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org> @@ -305,8 +305,9 @@ ar5k_ar5212_nic_wakeup(struct ath_hal *hal, u_int16_t flags) */ /* ...reset chipset and PCI device */ - if (ar5k_ar5212_nic_reset(hal, - AR5K_AR5212_RC_CHIP | AR5K_AR5212_RC_PCI) == AH_FALSE) { + if (hal->ah_single_chip == AH_FALSE && + ar5k_ar5212_nic_reset(hal, + AR5K_AR5212_RC_CHIP | AR5K_AR5212_RC_PCI) == AH_FALSE) { AR5K_PRINT("failed to reset the AR5212 + PCI chipset\n"); return (AH_FALSE); } diff --git a/sys/dev/ic/ar5xxx.h b/sys/dev/ic/ar5xxx.h index fb0116a2168..15d6bf2ec51 100644 --- a/sys/dev/ic/ar5xxx.h +++ b/sys/dev/ic/ar5xxx.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ar5xxx.h,v 1.34 2006/09/19 17:08:01 reyk Exp $ */ +/* $OpenBSD: ar5xxx.h,v 1.35 2006/09/19 17:49:13 reyk Exp $ */ /* * Copyright (c) 2004, 2005 Reyk Floeter <reyk@openbsd.org> @@ -1102,6 +1102,7 @@ struct ath_hal { HAL_BOOL ah_turbo; HAL_BOOL ah_calibration; HAL_BOOL ah_running; + HAL_BOOL ah_single_chip; HAL_RFGAIN ah_rf_gain; HAL_RATE_TABLE ah_rt_11a; diff --git a/sys/dev/ic/ath.c b/sys/dev/ic/ath.c index 0df7c5d0df3..edd7f3d0c42 100644 --- a/sys/dev/ic/ath.c +++ b/sys/dev/ic/ath.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ath.c,v 1.55 2006/09/19 17:08:01 reyk Exp $ */ +/* $OpenBSD: ath.c,v 1.56 2006/09/19 17:49:13 reyk Exp $ */ /* $NetBSD: ath.c,v 1.37 2004/08/18 21:59:39 dyoung Exp $ */ /*- @@ -242,6 +242,7 @@ ath_attach(u_int16_t devid, struct ath_softc *sc) /* * Known single chip solutions */ + ah->ah_single_chip = AH_TRUE; printf("%s: AR%s %u.%u phy %u.%u rf %u.%u", ifp->if_xname, ar5k_printver(AR5K_VERSION_DEV, devid), ah->ah_mac_version, ah->ah_mac_revision, @@ -253,6 +254,7 @@ ath_attach(u_int16_t devid, struct ath_softc *sc) /* * Multi chip solutions */ + ah->ah_single_chip = AH_FALSE; printf("%s: AR%s %u.%u phy %u.%u", ifp->if_xname, ar5k_printver(AR5K_VERSION_VER, ah->ah_mac_srev), ah->ah_mac_version, ah->ah_mac_revision, @@ -271,12 +273,14 @@ ath_attach(u_int16_t devid, struct ath_softc *sc) break; } +#if 0 if (ah->ah_radio_5ghz_revision >= AR5K_SREV_RAD_UNSUPP || ah->ah_radio_2ghz_revision >= AR5K_SREV_RAD_UNSUPP) { printf(": RF radio not supported\n"); error = EOPNOTSUPP; goto bad; } +#endif sc->sc_ah = ah; sc->sc_invalid = 0; /* ready to go, enable interrupt handling */ |