Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Jun 2013 00:42:04 +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: r251400 - in head/sys/dev/ath/ath_hal: . ar9002
Message-ID:  <201306050042.r550g4mQ051010@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Wed Jun  5 00:42:04 2013
New Revision: 251400
URL: http://svnweb.freebsd.org/changeset/base/251400

Log:
  Add a new capability flag to announce that the chip implements LNA mixing
  for the RX path.
  
  This is different to the div comb HAL flag, that says it actually
  can use this for RX diversity (the "slow" diversity path implemented
  but disabled in the AR9285 HAL code.)
  
  Tested:
  
  * AR9285, STA operation

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

Modified: head/sys/dev/ath/ath_hal/ah.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.c	Wed Jun  5 00:39:20 2013	(r251399)
+++ head/sys/dev/ath/ath_hal/ah.c	Wed Jun  5 00:42:04 2013	(r251400)
@@ -784,6 +784,8 @@ ath_hal_getcapability(struct ath_hal *ah
 	case HAL_CAP_MFP:			/* Management frame protection setting */
 		*result = pCap->halMfpSupport;
 		return HAL_OK;
+	case HAL_CAP_RX_LNA_MIXING:	/* Hardware uses an RX LNA mixer to map 2 antennas to a 1 stream receiver */
+		return pCap->halRxUsingLnaMixing ? HAL_OK : HAL_ENOTSUPP;
 	default:
 		return HAL_EINVAL;
 	}

Modified: head/sys/dev/ath/ath_hal/ah.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.h	Wed Jun  5 00:39:20 2013	(r251399)
+++ head/sys/dev/ath/ath_hal/ah.h	Wed Jun  5 00:42:04 2013	(r251400)
@@ -198,6 +198,7 @@ typedef enum {
 	HAL_CAP_BB_READ_WAR	= 244,	/* baseband read WAR */
 	HAL_CAP_SERIALISE_WAR	= 245,	/* serialise register access on PCI */
 	HAL_CAP_ENFORCE_TXOP	= 246,	/* Enforce TXOP if supported */
+	HAL_CAP_RX_LNA_MIXING	= 247,	/* RX hardware uses LNA mixing */
 } HAL_CAPABILITY_TYPE;
 
 /* 

Modified: head/sys/dev/ath/ath_hal/ah_internal.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah_internal.h	Wed Jun  5 00:39:20 2013	(r251399)
+++ head/sys/dev/ath/ath_hal/ah_internal.h	Wed Jun  5 00:42:04 2013	(r251400)
@@ -279,7 +279,8 @@ typedef struct {
 			halAntDivCombSupport		: 1,
 			halAntDivCombSupportOrg		: 1,
 			halRadioRetentionSupport	: 1,
-			halSpectralScanSupport		: 1;
+			halSpectralScanSupport		: 1,
+			halRxUsingLnaMixing		: 1;
 
 	uint32_t	halWirelessModes;
 	uint16_t	halTotalQueues;

Modified: head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c	Wed Jun  5 00:39:20 2013	(r251399)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c	Wed Jun  5 00:42:04 2013	(r251400)
@@ -525,6 +525,7 @@ ar9285FillCapabilityInfo(struct ath_hal 
 	pCap->halMbssidAggrSupport = AH_TRUE;  
 	pCap->hal4AddrAggrSupport = AH_TRUE;
 	pCap->halSpectralScanSupport = AH_TRUE;
+	pCap->halRxUsingLnaMixing = AH_TRUE;
 
 	if (AR_SREV_KITE_12_OR_LATER(ah))
 		pCap->halPSPollBroken = AH_FALSE;



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