remove ar5416ResetTsf
[open-ath9k-htc-firmware.git] / target_firmware / wlan / ar5416_hw.c
index 51326774716d9daa12b64843e7acb016002253f8..c3e08ea609cded18744223b8c018c97a7d67aa3c 100644 (file)
  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "opt_ah.h"
 #include "ah.h"
 #include "ah_internal.h"
 #include "ar5416.h"
 #include "ar5416reg.h"
-#include "ar5416phy.h"
 #include "ar5416desc.h"
 
 #define N(a) (sizeof(a)/sizeof(a[0]))
@@ -59,20 +57,15 @@ static const struct ath_hal_private ar5416hal_10 = {{
 
                /* Transmit functions */
                .ah_updateTxTrigLevel   = ar5416UpdateTxTrigLevel,
-               .ah_getTxDP             = ar5416GetTxDP,
                .ah_setTxDP             = ar5416SetTxDP,
                .ah_numTxPending        = ar5416NumTxPending,    
                .ah_startTxDma          = ar5416StartTxDma,
                .ah_stopTxDma           = ar5416StopTxDma,
-        
-               .ah_getTxIntrQueue      = ar5416GetTxIntrQueue,
+
                .ah_abortTxDma          = ar5416AbortTxDma,
 
                /* Misc Functions */
-               .ah_getCapability       = ar5416GetCapability,
-               .ah_getTsf32            = ar5416GetTsf32,
                .ah_getTsf64            = ar5416GetTsf64,
-               .ah_resetTsf            = ar5416ResetTsf,
                .ah_setRxFilter         = ar5416SetRxFilter,
 
                /* RX Functions */
@@ -99,7 +92,7 @@ void ar5416Detach(struct ath_hal *ah)
 
 struct ath_hal *
 ar5416Attach(a_uint32_t devid,HAL_SOFTC sc, adf_os_device_t dev,
-            HAL_BUS_HANDLE sh, a_uint32_t flags, HAL_STATUS *status)
+            a_uint32_t flags, HAL_STATUS *status)
 {
        struct ath_hal_5416 *ahp;
        struct ath_hal *ah;
@@ -115,7 +108,6 @@ ar5416Attach(a_uint32_t devid,HAL_SOFTC sc, adf_os_device_t dev,
 
        ah->ah_dev = dev;
        ah->ah_sc = sc;
-       ah->ah_sh = sh;
        
        /* If its a Owl 2.0 chip then change the hal structure to
           point to the Owl 2.0 ar5416_hal_20 structure */
@@ -291,41 +283,6 @@ ar5416SetInterrupts(struct ath_hal *ah, HAL_INT ints)
        return omask;
 }
 
-/****************/
-/* Capabilities */
-/****************/
-
-HAL_STATUS ar5416GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type,
-                              a_uint32_t capability, a_uint32_t *result)
-
-{
-        HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps;
-#ifndef MAGPIE_MERLIN // K2
-        pCap->halRxStbcSupport = 1;  /* K2 supports STBC Rx only */
-        pCap->halTxStbcSupport = 0;
-#else
-        pCap->halRxStbcSupport = 1;  /* number of streams for STBC recieve. */
-        pCap->halTxStbcSupport = 1;
-#endif
-
-       switch (type) {
-#ifdef MAGPIE_MERLIN
-       case HAL_CAP_RX_STBC:
-       {
-               *result = pCap->halRxStbcSupport;
-               return HAL_OK;
-       }
-       case HAL_CAP_TX_STBC:
-       {
-               *result = pCap->halTxStbcSupport;
-               return HAL_OK;
-       }
-#endif
-        default:
-                return ath_hal_getcapability(ah, type, capability, result);
-       }
-}
-
 /****************/
 /* TSF Handling */
 /****************/
@@ -340,27 +297,6 @@ u_int64_t ar5416GetTsf64(struct ath_hal *ah)
         return tsf;
 }
 
-a_uint32_t ar5416GetTsf32(struct ath_hal *ah)
-{
-        return OS_REG_READ(ah, AR_TSF_L32);
-}
-
-void ar5416ResetTsf(struct ath_hal *ah)
-{
-       a_int32_t count;
-
-       count = 0;
-
-       while (OS_REG_READ(ah, AR_SLP32_MODE) & AR_SLP32_TSF_WRITE_STATUS) {
-               count++;
-               if (count > 10) {
-                       break;
-               }
-               OS_DELAY(10);
-       }
-       OS_REG_WRITE(ah, AR_RESET_TSF, AR_RESET_TSF_ONCE);
-}
-
 /******/
 /* RX */
 /******/
@@ -459,7 +395,7 @@ void ar5416StopPcuReceive(struct ath_hal *ah)
        OS_REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_RX_DIS);
 }
 
-HAL_BOOL ar5416SetupRxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
+HAL_BOOL ar5416SetupRxDesc_20(struct ath_hal *ah, struct ath_rx_desc *ds,
                              a_uint32_t size, a_uint32_t flags)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
@@ -476,7 +412,7 @@ HAL_BOOL ar5416SetupRxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
        return AH_TRUE;
 }
 
-HAL_STATUS ar5416ProcRxDescFast_20(struct ath_hal *ah, struct ath_desc *ds,
+HAL_STATUS ar5416ProcRxDescFast_20(struct ath_hal *ah, struct ath_rx_desc *ds,
                                   a_uint32_t pa, struct ath_desc *nds,
                                   struct ath_rx_status *rx_stats)
 {
@@ -606,12 +542,6 @@ HAL_BOOL ar5416UpdateTxTrigLevel(struct ath_hal *ah, HAL_BOOL bIncTrigLevel)
         return (newLevel != curLevel);
 }
 
-a_uint32_t ar5416GetTxDP(struct ath_hal *ah, a_uint32_t q)
-{
-        HALASSERT(q < AH_PRIVATE(ah)->ah_caps.halTotalQueues);
-        return OS_REG_READ(ah, AR_QTXDP(q));
-}
-
 HAL_BOOL ar5416SetTxDP(struct ath_hal *ah, a_uint32_t q, a_uint32_t txdp)
 {
         HALASSERT(q < AH_PRIVATE(ah)->ah_caps.halTotalQueues);
@@ -735,20 +665,13 @@ HAL_BOOL ar5416StopTxDma(struct ath_hal*ah, a_uint32_t q)
         return (i != 0);
 }
 
-void ar5416GetTxIntrQueue(struct ath_hal *ah, a_uint32_t *txqs)
-{
-        struct ath_hal_5416 *ahp = AH5416(ah);
-        *txqs &= ahp->ah_intrTxqs;
-        ahp->ah_intrTxqs &= ~(*txqs);
-}
-
 void ar5416IntrReqTxDesc_20(struct ath_hal *ah, struct ath_desc *ds)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
        ads->ds_ctl0 |= AR_TxIntrReq;
 }
 
-HAL_BOOL ar5416SetupTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
+HAL_BOOL ar5416SetupTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                              a_uint32_t pktLen,
                              a_uint32_t hdrLen,
                              HAL_PKT_TYPE type,
@@ -766,7 +689,6 @@ HAL_BOOL ar5416SetupTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
 #define RTSCTS  (HAL_TXDESC_RTSENA|HAL_TXDESC_CTSENA)
 
         struct ar5416_desc *ads = AR5416DESC(ds);
-        struct ath_hal_5416 *ahp = AH5416(ah);
 
         (void) hdrLen;
 
@@ -817,9 +739,9 @@ HAL_BOOL ar5416SetupTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
 #undef RTSCTS
 }
 
-HAL_BOOL ar5416FillTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
+HAL_BOOL ar5416FillTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                             a_uint32_t segLen, HAL_BOOL firstSeg, HAL_BOOL lastSeg,
-                            const struct ath_desc *ds0)
+                            const struct ath_tx_desc *ds0)
 {
         struct ar5416_desc *ads = AR5416DESC(ds);
 
@@ -855,7 +777,7 @@ HAL_BOOL ar5416FillTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
         return AH_TRUE;
 }
 
-HAL_BOOL ar5416FillKeyTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
+HAL_BOOL ar5416FillKeyTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                                HAL_KEY_TYPE keyType)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
@@ -864,7 +786,7 @@ HAL_BOOL ar5416FillKeyTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
        return AH_TRUE;
 }
 
-HAL_STATUS ar5416ProcTxDesc_20(struct ath_hal *ah, struct ath_desc *gds)
+HAL_STATUS ar5416ProcTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *gds)
 {
         struct ar5416_desc *ads = AR5416DESC(gds);
         struct ath_tx_desc *ds = (struct ath_tx_desc *)gds;
@@ -931,13 +853,12 @@ HAL_STATUS ar5416ProcTxDesc_20(struct ath_hal *ah, struct ath_desc *gds)
         return HAL_OK;
 }
 
-void ar5416Set11nTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
+void ar5416Set11nTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                           a_uint32_t pktLen, HAL_PKT_TYPE type, a_uint32_t txPower,
                           a_uint32_t keyIx, HAL_KEY_TYPE keyType,
                           a_uint32_t flags)
 {
         struct ar5416_desc *ads = AR5416DESC(ds);
-        struct ath_hal_5416 *ahp = AH5416(ah);
 
         HALASSERT(isValidPktType(type));
         HALASSERT(isValidKeyType(keyType));
@@ -966,18 +887,14 @@ void ar5416Set11nTxDesc_20(struct ath_hal *ah, struct ath_desc *ds,
 
 #ifdef MAGPIE_MERLIN
 
-void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds, 
+void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                                 a_uint32_t durUpdateEn, a_uint32_t rtsctsRate,
                                 a_uint32_t rtsctsDuration,
                                 HAL_11N_RATE_SERIES series[], a_uint32_t nseries,
                                 a_uint32_t flags)
 {
         struct ar5416_desc *ads = AR5416DESC(ds);
-        struct ar5416_desc_20 *ads_20 = AR5416DESC_20(ds);
         a_uint32_t ds_ctl0;
-        a_int16_t txpower;
-        a_uint32_t count;
-        struct ath_hal_private *ahpriv = AH_PRIVATE(ah);
 
         HALASSERT(nseries == 4);
         (void)nseries;
@@ -1027,7 +944,7 @@ void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds,
 
 #else
 
-void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds, 
+void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                                 a_uint32_t durUpdateEn, a_uint32_t rtsctsRate,
                                 a_uint32_t rtsctsDuration,
                                 HAL_11N_RATE_SERIES series[], a_uint32_t nseries,
@@ -1082,7 +999,7 @@ void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds,
 
 #endif
 
-void ar5416Set11nAggrFirst_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32_t aggrLen,
+void ar5416Set11nAggrFirst_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t aggrLen,
                              a_uint32_t numDelims)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
@@ -1094,7 +1011,7 @@ void ar5416Set11nAggrFirst_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32_
                SM(numDelims, AR_PadDelim);
 }
 
-void ar5416Set11nAggrMiddle_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32_t numDelims)
+void ar5416Set11nAggrMiddle_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t numDelims)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
        a_uint32_t ctl6;
@@ -1111,7 +1028,7 @@ void ar5416Set11nAggrMiddle_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32
        ads->ds_ctl6 = ctl6;
 }
 
-void ar5416Set11nAggrLast_20(struct ath_hal *ah, struct ath_desc *ds)
+void ar5416Set11nAggrLast_20(struct ath_hal *ah, struct ath_tx_desc *ds)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
 
@@ -1120,14 +1037,14 @@ void ar5416Set11nAggrLast_20(struct ath_hal *ah, struct ath_desc *ds)
        ads->ds_ctl6 &= ~AR_PadDelim;
 }
 
-void ar5416Clr11nAggr_20(struct ath_hal *ah, struct ath_desc *ds)
+void ar5416Clr11nAggr_20(struct ath_hal *ah, struct ath_tx_desc *ds)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
 
        ads->ds_ctl1 &= (~AR_IsAggr & ~AR_MoreAggr);
 }
 
-void ar5416Set11nBurstDuration_20(struct ath_hal *ah, struct ath_desc *ds,
+void ar5416Set11nBurstDuration_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                                  a_uint32_t burstDuration)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);
@@ -1136,7 +1053,7 @@ void ar5416Set11nBurstDuration_20(struct ath_hal *ah, struct ath_desc *ds,
        ads->ds_ctl2 |= SM(burstDuration, AR_BurstDur);
 }
 
-void ar5416Set11nVirtualMoreFrag_20(struct ath_hal *ah, struct ath_desc *ds,
+void ar5416Set11nVirtualMoreFrag_20(struct ath_hal *ah, struct ath_tx_desc *ds,
                                    a_uint32_t vmf)
 {
        struct ar5416_desc *ads = AR5416DESC(ds);