Author: adrian
Date: Tue May  1 14:48:51 2012
New Revision: 234873
URL: http://svn.freebsd.org/changeset/base/234873

Log:
  Change the MIB cycle count API to return HAL_BOOL, rather than uint32_t,
  to return whether it was successful.
  
  Add placeholder (blank) methods for previous chips, for both it and
  the 11n extension channel busy call.

Modified:
  head/sys/dev/ath/ath_hal/ah.h
  head/sys/dev/ath/ath_hal/ar5210/ar5210.h
  head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
  head/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c
  head/sys/dev/ath/ath_hal/ar5211/ar5211.h
  head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
  head/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c
  head/sys/dev/ath/ath_hal/ar5212/ar5212.h
  head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
  head/sys/dev/ath/ath_hal/ar5416/ar5416.h
  head/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c
  head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
  head/sys/dev/ath/if_athvar.h

Modified: head/sys/dev/ath/ath_hal/ah.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.h       Tue May  1 11:45:16 2012        
(r234872)
+++ head/sys/dev/ath/ath_hal/ah.h       Tue May  1 14:48:51 2012        
(r234873)
@@ -1034,8 +1034,8 @@ struct ath_hal {
                                struct ath_desc *);
        void      __ahdecl(*ah_set11nBurstDuration)(struct ath_hal *,
                                struct ath_desc *, u_int);
-       uint32_t  __ahdecl(*ah_get_mib_cycle_counts_pct) (struct ath_hal *,
-                               uint32_t *, uint32_t *, uint32_t *, uint32_t *);
+       HAL_BOOL  __ahdecl(*ah_getMibCycleCounts) (struct ath_hal *,
+                               HAL_SURVEY_SAMPLE *);
 
        uint32_t  __ahdecl(*ah_get11nExtBusy)(struct ath_hal *);
        void      __ahdecl(*ah_set11nMac2040)(struct ath_hal *,

Modified: head/sys/dev/ath/ath_hal/ar5210/ar5210.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5210/ar5210.h    Tue May  1 11:45:16 2012        
(r234872)
+++ head/sys/dev/ath/ath_hal/ar5210/ar5210.h    Tue May  1 14:48:51 2012        
(r234873)
@@ -249,6 +249,9 @@ extern      HAL_BOOL ar5210SetCapability(stru
 extern HAL_BOOL ar5210GetDiagState(struct ath_hal *ah, int request,
                const void *args, uint32_t argsize,
                void **result, uint32_t *resultsize);
+extern uint32_t ar5210Get11nExtBusy(struct ath_hal *);
+extern HAL_BOOL ar5210GetMibCycleCounts(struct ath_hal *,
+               HAL_SURVEY_SAMPLE *);
 
 extern u_int ar5210GetKeyCacheSize(struct ath_hal *);
 extern HAL_BOOL ar5210IsKeyCacheEntryValid(struct ath_hal *, uint16_t);

Modified: head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c     Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c     Tue May  1 14:48:51 
2012        (r234873)
@@ -129,8 +129,10 @@ static const struct ath_hal_private ar52
        .ah_getAckCTSRate               = ar5210GetAckCTSRate,
        .ah_setCTSTimeout               = ar5210SetCTSTimeout,
        .ah_getCTSTimeout               = ar5210GetCTSTimeout,
-       .ah_setDecompMask               = ar5210SetDecompMask,
-       .ah_setCoverageClass            = ar5210SetCoverageClass,
+       .ah_setDecompMask               = ar5210SetDecompMask,
+       .ah_setCoverageClass            = ar5210SetCoverageClass,
+       .ah_get11nExtBusy               = ar5210Get11nExtBusy,
+       .ah_getMibCycleCounts           = ar5210GetMibCycleCounts,
 
        /* Key Cache Functions */
        .ah_getKeyCacheSize             = ar5210GetKeyCacheSize,

Modified: head/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c       Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c       Tue May  1 14:48:51 
2012        (r234873)
@@ -646,3 +646,24 @@ ar5210GetDiagState(struct ath_hal *ah, i
        return ath_hal_getdiagstate(ah, request,
                args, argsize, result, resultsize);
 }
+
+/*
+ * Return what percentage of the extension channel is busy.
+ * This is always disabled for AR5210 series NICs.
+ */
+uint32_t
+ar5210Get11nExtBusy(struct ath_hal *ah)
+{
+
+       return (0);
+}
+
+/*
+ * There's no channel survey support for the AR5210.
+ */
+HAL_BOOL
+ar5210GetMibCycleCounts(struct ath_hal *ah, HAL_SURVEY_SAMPLE *hsample)
+{
+
+       return (AH_FALSE);
+}

Modified: head/sys/dev/ath/ath_hal/ar5211/ar5211.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5211/ar5211.h    Tue May  1 11:45:16 2012        
(r234872)
+++ head/sys/dev/ath/ath_hal/ar5211/ar5211.h    Tue May  1 14:48:51 2012        
(r234873)
@@ -276,6 +276,9 @@ extern      HAL_BOOL ar5211SetCapability(stru
 extern HAL_BOOL ar5211GetDiagState(struct ath_hal *ah, int request,
                const void *args, uint32_t argsize,
                void **result, uint32_t *resultsize);
+extern uint32_t ar5211Get11nExtBusy(struct ath_hal *);
+extern HAL_BOOL ar5211GetMibCycleCounts(struct ath_hal *,
+               HAL_SURVEY_SAMPLE *);
 
 extern u_int ar5211GetKeyCacheSize(struct ath_hal *);
 extern HAL_BOOL ar5211IsKeyCacheEntryValid(struct ath_hal *, uint16_t);

Modified: head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c     Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c     Tue May  1 14:48:51 
2012        (r234873)
@@ -129,8 +129,10 @@ static const struct ath_hal_private ar52
        .ah_getAckCTSRate               = ar5211GetAckCTSRate,
        .ah_setCTSTimeout               = ar5211SetCTSTimeout,
        .ah_getCTSTimeout               = ar5211GetCTSTimeout,
-       .ah_setDecompMask               = ar5211SetDecompMask,
-       .ah_setCoverageClass            = ar5211SetCoverageClass,
+       .ah_setDecompMask               = ar5211SetDecompMask,
+       .ah_setCoverageClass            = ar5211SetCoverageClass,
+       .ah_get11nExtBusy               = ar5211Get11nExtBusy,
+       .ah_getMibCycleCounts           = ar5211GetMibCycleCounts,
 
        /* Key Cache Functions */
        .ah_getKeyCacheSize             = ar5211GetKeyCacheSize,

Modified: head/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c       Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c       Tue May  1 14:48:51 
2012        (r234873)
@@ -688,3 +688,24 @@ ar5211GetDiagState(struct ath_hal *ah, i
        }
        return AH_FALSE;
 }
+
+/*
+ * Return what percentage of the extension channel is busy.
+ * This is always disabled for AR5211 series NICs.
+ */
+uint32_t
+ar5211Get11nExtBusy(struct ath_hal *ah)
+{
+       return (0);
+}
+
+
+/*
+ * There's no channel survey support for the AR5211.
+ */
+HAL_BOOL
+ar5211GetMibCycleCounts(struct ath_hal *ah, HAL_SURVEY_SAMPLE *hsample)
+{
+
+       return (AH_FALSE);
+}

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212.h    Tue May  1 11:45:16 2012        
(r234872)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212.h    Tue May  1 14:48:51 2012        
(r234873)
@@ -511,6 +511,8 @@ extern      HAL_BOOL ar5212GetDiagState(struc
                void **result, uint32_t *resultsize);
 extern HAL_STATUS ar5212SetQuiet(struct ath_hal *ah, uint32_t period,
                uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag);
+extern HAL_BOOL ar5212GetMibCycleCounts(struct ath_hal *,
+               HAL_SURVEY_SAMPLE *);
 
 extern HAL_BOOL ar5212SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode,
                int setChip);

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c     Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c     Tue May  1 14:48:51 
2012        (r234873)
@@ -125,9 +125,10 @@ static const struct ath_hal_private ar52
        .ah_getAckCTSRate               = ar5212GetAckCTSRate,
        .ah_setCTSTimeout               = ar5212SetCTSTimeout,
        .ah_getCTSTimeout               = ar5212GetCTSTimeout,
-       .ah_setDecompMask               = ar5212SetDecompMask,
-       .ah_setCoverageClass            = ar5212SetCoverageClass,
+       .ah_setDecompMask               = ar5212SetDecompMask,
+       .ah_setCoverageClass            = ar5212SetCoverageClass,
        .ah_setQuiet                    = ar5212SetQuiet,
+       .ah_getMibCycleCounts           = ar5212GetMibCycleCounts,
 
        /* DFS Functions */
        .ah_enableDfs                   = ar5212EnableDfs,

Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c       Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c       Tue May  1 14:48:51 
2012        (r234873)
@@ -1248,3 +1248,13 @@ ar5212Get11nExtBusy(struct ath_hal *ah)
 {
        return 0;
 }
+
+/*
+ * There's no channel survey support for the AR5211.
+ */
+HAL_BOOL
+ar5212GetMibCycleCounts(struct ath_hal *ah, HAL_SURVEY_SAMPLE *hsample)
+{
+
+       return (AH_FALSE);
+}

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416.h    Tue May  1 11:45:16 2012        
(r234872)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416.h    Tue May  1 14:48:51 2012        
(r234873)
@@ -196,8 +196,8 @@ extern      uint32_t ar5416GetCurRssi(struct 
 extern HAL_BOOL ar5416SetAntennaSwitch(struct ath_hal *, HAL_ANT_SETTING);
 extern HAL_BOOL ar5416SetDecompMask(struct ath_hal *, uint16_t, int);
 extern void ar5416SetCoverageClass(struct ath_hal *, uint8_t, int);
-extern uint32_t ar5416GetMibCycleCounts(struct ath_hal *ah,
-       HAL_SURVEY_SAMPLE *hsample);
+extern HAL_BOOL ar5416GetMibCycleCounts(struct ath_hal *ah,
+           HAL_SURVEY_SAMPLE *hsample);
 extern uint32_t ar5416Get11nExtBusy(struct ath_hal *ah);
 extern void ar5416Set11nMac2040(struct ath_hal *ah, HAL_HT_MACMODE mode);
 extern HAL_HT_RXCLEAR ar5416Get11nRxClear(struct ath_hal *ah);

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c        Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c        Tue May  1 14:48:51 
2012        (r234873)
@@ -847,7 +847,7 @@ ar5416AniGetListenTime(struct ath_hal *a
        if (ANI_ENA(ah))
                aniState = ahp->ah_curani;
 
-       if (good == 0) {
+       if (good == AH_FALSE) {
                /*
                 * Cycle counter wrap (or initial call); it's not possible
                 * to accurately calculate a value because the registers

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c     Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c     Tue May  1 14:48:51 
2012        (r234873)
@@ -145,6 +145,7 @@ ar5416InitState(struct ath_hal_5416 *ahp
        ah->ah_setDecompMask            = ar5416SetDecompMask;
        ah->ah_setCoverageClass         = ar5416SetCoverageClass;
        ah->ah_setQuiet                 = ar5416SetQuiet;
+       ah->ah_getMibCycleCounts        = ar5416GetMibCycleCounts;
 
        ah->ah_resetKeyCacheEntry       = ar5416ResetKeyCacheEntry;
        ah->ah_setKeyCacheEntry         = ar5416SetKeyCacheEntry;

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c       Tue May  1 11:45:16 
2012        (r234872)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c       Tue May  1 14:48:51 
2012        (r234873)
@@ -184,11 +184,11 @@ ar5416SetCoverageClass(struct ath_hal *a
 /*
  * Return the busy for rx_frame, rx_clear, and tx_frame
  */
-uint32_t
+HAL_BOOL
 ar5416GetMibCycleCounts(struct ath_hal *ah, HAL_SURVEY_SAMPLE *hsample)
 {
        struct ath_hal_5416 *ahp = AH5416(ah);
-       u_int32_t good = 1;
+       u_int32_t good = AH_TRUE;
 
        /* XXX freeze/unfreeze mib counters */
        uint32_t rc = OS_REG_READ(ah, AR_RCCNT);
@@ -205,7 +205,7 @@ ar5416GetMibCycleCounts(struct ath_hal *
                 */
                HALDEBUG(ah, HAL_DEBUG_ANY,
                            "%s: cycle counter wrap. ExtBusy = 0\n", __func__);
-                       good = 0;
+                       good = AH_FALSE;
        } else {
                hsample->cycle_count = cc - ahp->ah_cycleCount;
                hsample->chan_busy = rc - ahp->ah_ctlBusy;
@@ -224,7 +224,7 @@ ar5416GetMibCycleCounts(struct ath_hal *
        ahp->ah_txBusy = tf;
        ahp->ah_extBusy = ec;
 
-       return good;
+       return (good);
 }
 
 /*

Modified: head/sys/dev/ath/if_athvar.h
==============================================================================
--- head/sys/dev/ath/if_athvar.h        Tue May  1 11:45:16 2012        
(r234872)
+++ head/sys/dev/ath/if_athvar.h        Tue May  1 14:48:51 2012        
(r234873)
@@ -1011,6 +1011,8 @@ void      ath_intr(void *);
        ((*(_ah)->ah_isFastClockEnabled)((_ah)))
 #define        ath_hal_radar_wait(_ah, _chan) \
        ((*(_ah)->ah_radarWait)((_ah), (_chan)))
+#define        ath_hal_get_mib_cycle_counts(_ah, _sample) \
+       ((*(_ah)->ah_getMibCycleCounts)((_ah), (_sample)))
 #define        ath_hal_get_chan_ext_busy(_ah) \
        ((*(_ah)->ah_get11nExtBusy)((_ah)))
 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to