Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jan 2011 09:37:53 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r217632 - in head/sys/dev/ath/ath_hal: . ar9002
Message-ID:  <201101200937.p0K9brvW008037@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Thu Jan 20 09:37:53 2011
New Revision: 217632
URL: http://svn.freebsd.org/changeset/base/217632

Log:
  Include the device ids for the AR2427.
  
  This is apparently an AR9285 with the 802.11n specific bits disabled.
  
  This code is completely untested; I'm doing this in response to users
  who wish to test the functionality out. It's likely as buggy as the
  AR9285 support is in FreeBSD at the moment.

Modified:
  head/sys/dev/ath/ath_hal/ah_devid.h
  head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c

Modified: head/sys/dev/ath/ath_hal/ah_devid.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah_devid.h	Thu Jan 20 09:03:40 2011	(r217631)
+++ head/sys/dev/ath/ath_hal/ah_devid.h	Thu Jan 20 09:37:53 2011	(r217632)
@@ -78,6 +78,7 @@
 #define AR9280_DEVID_PCI	0x0029          /* AR9280 PCI Merlin */
 #define AR9280_DEVID_PCIE	0x002a          /* AR9280 PCI-E Merlin */
 #define AR9285_DEVID_PCIE	0x002b          /* AR9285 PCI-E Kite */
+#define	AR2427_DEVID_PCIE	0x002c		/* AR2427 PCI-E w/ 802.11n bonded out */
 
 #define	AR_SUBVENDOR_ID_NOG	0x0e11		/* No 11G subvendor ID */
 #define AR_SUBVENDOR_ID_NEW_A	0x7065		/* Update device to new RD */

Modified: head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c	Thu Jan 20 09:03:40 2011	(r217631)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c	Thu Jan 20 09:37:53 2011	(r217632)
@@ -244,6 +244,10 @@ ar9285Attach(uint16_t devid, HAL_SOFTC s
 		goto bad;
 	}
 
+	/* Disable 11n for the AR2427 */
+	if (devid == AR2427_DEVID_PCIE)
+		AH_PRIVATE(ah)->ah_caps.halHTSupport = AH_FALSE;
+
 	ecode = ath_hal_eepromGet(ah, AR_EEP_MACADDR, ahp->ah_macaddr);
 	if (ecode != HAL_OK) {
 		HALDEBUG(ah, HAL_DEBUG_ANY,
@@ -403,6 +407,9 @@ ar9285Probe(uint16_t vendorid, uint16_t 
 {
 	if (vendorid == ATHEROS_VENDOR_ID && devid == AR9285_DEVID_PCIE)
 		return "Atheros 9285";
+	if (vendorid == ATHEROS_VENDOR_ID && (devid == AR2427_DEVID_PCIE))
+		return "Atheros 2427";
+
 	return AH_NULL;
 }
 AH_CHIP(AR9285, ar9285Probe, ar9285Attach);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101200937.p0K9brvW008037>