Author: adrian
Date: Wed Apr  1 04:56:22 2015
New Revision: 280942
URL: https://svnweb.freebsd.org/changeset/base/280942

Log:
  Use the HAL API for returning ar5212AniState, rather than just dumping
  AniState itself.

Modified:
  head/sys/dev/ath/ath_hal/ar5212/ar5212.h
  head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212.h    Wed Apr  1 04:56:10 2015        
(r280941)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212.h    Wed Apr  1 04:56:22 2015        
(r280942)
@@ -345,6 +345,7 @@ struct ath_hal_5212 {
        uint32_t        ah_txBusy;
        uint32_t        ah_rx_chainmask;
        uint32_t        ah_tx_chainmask;
+       HAL_ANI_STATE   ext_ani_state;
 };
 #define        AH5212(_ah)     ((struct ath_hal_5212 *)(_ah))
 

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c       Wed Apr  1 04:56:10 
2015        (r280941)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c       Wed Apr  1 04:56:22 
2015        (r280942)
@@ -1052,6 +1052,7 @@ ar5212GetDiagState(struct ath_hal *ah, i
        void **result, uint32_t *resultsize)
 {
        struct ath_hal_5212 *ahp = AH5212(ah);
+       struct ar5212AniState *astate;
 
        (void) ahp;
        if (ath_hal_getdiagstate(ah, request, args, argsize, result, 
resultsize))
@@ -1083,9 +1084,28 @@ ar5212GetDiagState(struct ath_hal *ah, i
                        0 : sizeof(struct ar5212AniState);
                return AH_TRUE;
        case HAL_DIAG_ANI_STATS:
-               *result = ar5212AniGetCurrentStats(ah);
-               *resultsize = (*result == AH_NULL) ?
-                       0 : sizeof(HAL_ANI_STATS);
+               OS_MEMZERO(&ahp->ext_ani_state, sizeof(ahp->ext_ani_state));
+               astate = ar5212AniGetCurrentState(ah);
+               if (astate == NULL) {
+                       *result = NULL;
+                       *resultsize = 0;
+               } else {
+                       ahp->ext_ani_state.noiseImmunityLevel =
+                           astate->noiseImmunityLevel;
+                       ahp->ext_ani_state.spurImmunityLevel =
+                           astate->spurImmunityLevel;
+                       ahp->ext_ani_state.firstepLevel =
+                           astate->firstepLevel;
+                       ahp->ext_ani_state.ofdmWeakSigDetectOff =
+                           astate->ofdmWeakSigDetectOff;
+                       ahp->ext_ani_state.cckWeakSigThreshold =
+                           astate->cckWeakSigThreshold;
+                       ahp->ext_ani_state.listenTime =
+                           astate->listenTime;
+
+                       *result = &ahp->ext_ani_state;
+                       *resultsize = sizeof(ahp->ext_ani_state);
+               }
                return AH_TRUE;
        case HAL_DIAG_ANI_CMD:
                if (argsize != 2*sizeof(uint32_t))
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to