ath9k_hw: remove the old tx descriptor API
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / net / wireless / ath / ath9k / ar9003_mac.c
index e3382d5013c57a6ddfd4754759880db5a9c24fbd..6cabc85bf61b3c9214b3e8ba94c6c8e6b51b646b 100644 (file)
@@ -311,46 +311,6 @@ static bool ar9003_hw_get_isr(struct ath_hw *ah, enum ath9k_int *masked)
        return true;
 }
 
-static void ar9003_hw_fill_txdesc(struct ath_hw *ah, void *ds, u32 seglen,
-                                 bool is_firstseg, bool is_lastseg,
-                                 const void *ds0, dma_addr_t buf_addr,
-                                 unsigned int qcu)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-       unsigned int descid = 0;
-
-       ads->info = (ATHEROS_VENDOR_ID << AR_DescId_S) |
-                                    (1 << AR_TxRxDesc_S) |
-                                    (1 << AR_CtrlStat_S) |
-                                    (qcu << AR_TxQcuNum_S) | 0x17;
-
-       ads->data0 = buf_addr;
-       ads->data1 = 0;
-       ads->data2 = 0;
-       ads->data3 = 0;
-
-       ads->ctl3 = (seglen << AR_BufLen_S);
-       ads->ctl3 &= AR_BufLen;
-
-       /* Fill in pointer checksum and descriptor id */
-       ads->ctl10 = (descid << AR_TxDescId_S);
-
-       if (is_firstseg) {
-               ads->ctl12 |= (is_lastseg ? 0 : AR_TxMore);
-       } else if (is_lastseg) {
-               ads->ctl11 = 0;
-               ads->ctl12 = 0;
-               ads->ctl13 = AR9003TXC_CONST(ds0)->ctl13;
-               ads->ctl14 = AR9003TXC_CONST(ds0)->ctl14;
-       } else {
-               /* XXX Intermediate descriptor in a multi-descriptor frame.*/
-               ads->ctl11 = 0;
-               ads->ctl12 = AR_TxMore;
-               ads->ctl13 = 0;
-               ads->ctl14 = 0;
-       }
-}
-
 static int ar9003_hw_proc_txdesc(struct ath_hw *ah, void *ds,
                                 struct ath_tx_status *ts)
 {
@@ -435,161 +395,6 @@ static int ar9003_hw_proc_txdesc(struct ath_hw *ah, void *ds,
        return 0;
 }
 
-static void ar9003_hw_set11n_txdesc(struct ath_hw *ah, void *ds,
-               u32 pktlen, enum ath9k_pkt_type type, u32 txpower,
-               u8 keyIx, enum ath9k_key_type keyType, u32 flags)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-
-       if (txpower > ah->txpower_limit)
-               txpower = ah->txpower_limit;
-
-       if (txpower > 63)
-               txpower = 63;
-
-       ads->ctl11 = (pktlen & AR_FrameLen)
-               | (flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
-               | SM(txpower, AR_XmitPower)
-               | (flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
-               | (keyIx != ATH9K_TXKEYIX_INVALID ? AR_DestIdxValid : 0)
-               | (flags & ATH9K_TXDESC_LOWRXCHAIN ? AR_LowRxChain : 0);
-
-       ads->ctl12 =
-               (keyIx != ATH9K_TXKEYIX_INVALID ? SM(keyIx, AR_DestIdx) : 0)
-               | SM(type, AR_FrameType)
-               | (flags & ATH9K_TXDESC_NOACK ? AR_NoAck : 0)
-               | (flags & ATH9K_TXDESC_EXT_ONLY ? AR_ExtOnly : 0)
-               | (flags & ATH9K_TXDESC_EXT_AND_CTL ? AR_ExtAndCtl : 0);
-
-       ads->ctl17 = SM(keyType, AR_EncrType) |
-                    (flags & ATH9K_TXDESC_LDPC ? AR_LDPC : 0);
-       ads->ctl18 = 0;
-       ads->ctl19 = AR_Not_Sounding;
-
-       ads->ctl20 = 0;
-       ads->ctl21 = 0;
-       ads->ctl22 = 0;
-}
-
-static void ar9003_hw_set_clrdmask(struct ath_hw *ah, void *ds, bool val)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-
-       if (val)
-               ads->ctl11 |= AR_ClrDestMask;
-       else
-               ads->ctl11 &= ~AR_ClrDestMask;
-}
-
-static void ar9003_hw_set11n_ratescenario(struct ath_hw *ah, void *ds,
-                                         void *lastds,
-                                         u32 durUpdateEn, u32 rtsctsRate,
-                                         u32 rtsctsDuration,
-                                         struct ath9k_11n_rate_series series[],
-                                         u32 nseries, u32 flags)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-       struct ar9003_txc *last_ads = (struct ar9003_txc *) lastds;
-       u_int32_t ctl11;
-
-       if (flags & (ATH9K_TXDESC_RTSENA | ATH9K_TXDESC_CTSENA)) {
-               ctl11 = ads->ctl11;
-
-               if (flags & ATH9K_TXDESC_RTSENA) {
-                       ctl11 &= ~AR_CTSEnable;
-                       ctl11 |= AR_RTSEnable;
-               } else {
-                       ctl11 &= ~AR_RTSEnable;
-                       ctl11 |= AR_CTSEnable;
-               }
-
-               ads->ctl11 = ctl11;
-       } else {
-               ads->ctl11 = (ads->ctl11 & ~(AR_RTSEnable | AR_CTSEnable));
-       }
-
-       ads->ctl13 = set11nTries(series, 0)
-               |  set11nTries(series, 1)
-               |  set11nTries(series, 2)
-               |  set11nTries(series, 3)
-               |  (durUpdateEn ? AR_DurUpdateEna : 0)
-               |  SM(0, AR_BurstDur);
-
-       ads->ctl14 = set11nRate(series, 0)
-               |  set11nRate(series, 1)
-               |  set11nRate(series, 2)
-               |  set11nRate(series, 3);
-
-       ads->ctl15 = set11nPktDurRTSCTS(series, 0)
-               |  set11nPktDurRTSCTS(series, 1);
-
-       ads->ctl16 = set11nPktDurRTSCTS(series, 2)
-               |  set11nPktDurRTSCTS(series, 3);
-
-       ads->ctl18 = set11nRateFlags(series, 0)
-               |  set11nRateFlags(series, 1)
-               |  set11nRateFlags(series, 2)
-               |  set11nRateFlags(series, 3)
-               | SM(rtsctsRate, AR_RTSCTSRate);
-       ads->ctl19 = AR_Not_Sounding;
-
-       last_ads->ctl13 = ads->ctl13;
-       last_ads->ctl14 = ads->ctl14;
-}
-
-static void ar9003_hw_set11n_aggr_first(struct ath_hw *ah, void *ds,
-                                       u32 aggrLen)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-
-       ads->ctl12 |= (AR_IsAggr | AR_MoreAggr);
-
-       ads->ctl17 &= ~AR_AggrLen;
-       ads->ctl17 |= SM(aggrLen, AR_AggrLen);
-}
-
-static void ar9003_hw_set11n_aggr_middle(struct ath_hw *ah, void *ds,
-                                        u32 numDelims)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-       unsigned int ctl17;
-
-       ads->ctl12 |= (AR_IsAggr | AR_MoreAggr);
-
-       /*
-        * We use a stack variable to manipulate ctl6 to reduce uncached
-        * read modify, modfiy, write.
-        */
-       ctl17 = ads->ctl17;
-       ctl17 &= ~AR_PadDelim;
-       ctl17 |= SM(numDelims, AR_PadDelim);
-       ads->ctl17 = ctl17;
-}
-
-static void ar9003_hw_set11n_aggr_last(struct ath_hw *ah, void *ds)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-
-       ads->ctl12 |= AR_IsAggr;
-       ads->ctl12 &= ~AR_MoreAggr;
-       ads->ctl17 &= ~AR_PadDelim;
-}
-
-static void ar9003_hw_clr11n_aggr(struct ath_hw *ah, void *ds)
-{
-       struct ar9003_txc *ads = (struct ar9003_txc *) ds;
-
-       ads->ctl12 &= (~AR_IsAggr & ~AR_MoreAggr);
-}
-
-void ar9003_hw_set_paprd_txdesc(struct ath_hw *ah, void *ds, u8 chains)
-{
-       struct ar9003_txc *ads = ds;
-
-       ads->ctl12 |= SM(chains, AR_PAPRDChainMask);
-}
-EXPORT_SYMBOL(ar9003_hw_set_paprd_txdesc);
-
 void ar9003_hw_attach_mac_ops(struct ath_hw *hw)
 {
        struct ath_hw_ops *ops = ath9k_hw_ops(hw);
@@ -598,15 +403,7 @@ void ar9003_hw_attach_mac_ops(struct ath_hw *hw)
        ops->set_desc_link = ar9003_hw_set_desc_link;
        ops->get_isr = ar9003_hw_get_isr;
        ops->set_txdesc = ar9003_set_txdesc;
-       ops->fill_txdesc = ar9003_hw_fill_txdesc;
        ops->proc_txdesc = ar9003_hw_proc_txdesc;
-       ops->set11n_txdesc = ar9003_hw_set11n_txdesc;
-       ops->set11n_ratescenario = ar9003_hw_set11n_ratescenario;
-       ops->set11n_aggr_first = ar9003_hw_set11n_aggr_first;
-       ops->set11n_aggr_middle = ar9003_hw_set11n_aggr_middle;
-       ops->set11n_aggr_last = ar9003_hw_set11n_aggr_last;
-       ops->clr11n_aggr = ar9003_hw_clr11n_aggr;
-       ops->set_clrdmask = ar9003_hw_set_clrdmask;
 }
 
 void ath9k_hw_set_rx_bufsize(struct ath_hw *ah, u16 buf_size)