Changeset 30865


Ignore:
Timestamp:
2012-03-10T13:59:36+01:00 (6 years ago)
Author:
nbd
Message:

mac80211: more patch reorganization, merge an upstream performance optimization patch

Location:
trunk/package/mac80211/patches
Files:
1 deleted
5 edited
6 moved

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/300-pending_work.patch

    r30864 r30865  
    3030        ts->ts_tstamp = ads->status4; 
    3131        ts->ts_status = 0; 
    32 @@ -510,7 +506,11 @@ int ath9k_hw_process_rxdesc_edma(struct  
     32@@ -440,20 +436,14 @@ int ath9k_hw_process_rxdesc_edma(struct  
     33        struct ar9003_rxs *rxsp = (struct ar9003_rxs *) buf_addr; 
     34        unsigned int phyerr; 
     35  
     36-       /* TODO: byte swap on big endian for ar9300_10 */ 
     37- 
     38-       if (!rxs) { 
     39-               if ((rxsp->status11 & AR_RxDone) == 0) 
     40-                       return -EINPROGRESS; 
     41- 
     42-               if (MS(rxsp->ds_info, AR_DescId) != 0x168c) 
     43-                       return -EINVAL; 
     44+       if ((rxsp->status11 & AR_RxDone) == 0) 
     45+               return -EINPROGRESS; 
     46  
     47-               if ((rxsp->ds_info & (AR_TxRxDesc | AR_CtrlStat)) != 0) 
     48-                       return -EINPROGRESS; 
     49+       if (MS(rxsp->ds_info, AR_DescId) != 0x168c) 
     50+               return -EINVAL; 
     51  
     52-               return 0; 
     53-       } 
     54+       if ((rxsp->ds_info & (AR_TxRxDesc | AR_CtrlStat)) != 0) 
     55+               return -EINPROGRESS; 
     56  
     57        rxs->rs_status = 0; 
     58        rxs->rs_flags =  0; 
     59@@ -510,7 +500,11 @@ int ath9k_hw_process_rxdesc_edma(struct  
    3360                 */ 
    3461                if (rxsp->status11 & AR_CRCErr) 
     
    4370                        /* 
    4471                         * If we reach a point here where AR_PostDelimCRCErr is 
    45 @@ -532,11 +532,7 @@ int ath9k_hw_process_rxdesc_edma(struct  
     72@@ -532,11 +526,7 @@ int ath9k_hw_process_rxdesc_edma(struct  
    4673                                rxs->rs_status |= ATH9K_RXERR_PHY; 
    4774                                rxs->rs_phyerr = phyerr; 
     
    11001127 #undef TX_SAMP_DBG 
    11011128 } 
    1102 @@ -1019,6 +1021,7 @@ void ath_debug_stat_rx(struct ath_softc  
    1103   
    1104         sc->debug.stats.rxstats.rs_antenna = rs->rs_antenna; 
    1105   
     1129@@ -942,27 +944,6 @@ static ssize_t read_file_recv(struct fil 
     1130        PHY_ERR("HT-RATE ERR", ATH9K_PHYERR_HT_RATE_ILLEGAL); 
     1131  
     1132        len += snprintf(buf + len, size - len, 
     1133-                       "%22s : %10d\n", "RSSI-CTL0", 
     1134-                       sc->debug.stats.rxstats.rs_rssi_ctl0); 
     1135-       len += snprintf(buf + len, size - len, 
     1136-                       "%22s : %10d\n", "RSSI-CTL1", 
     1137-                       sc->debug.stats.rxstats.rs_rssi_ctl1); 
     1138-       len += snprintf(buf + len, size - len, 
     1139-                       "%22s : %10d\n", "RSSI-CTL2", 
     1140-                       sc->debug.stats.rxstats.rs_rssi_ctl2); 
     1141-       len += snprintf(buf + len, size - len, 
     1142-                       "%22s : %10d\n", "RSSI-EXT0", 
     1143-                       sc->debug.stats.rxstats.rs_rssi_ext0); 
     1144-       len += snprintf(buf + len, size - len, 
     1145-                       "%22s : %10d\n", "RSSI-EXT1", 
     1146-                       sc->debug.stats.rxstats.rs_rssi_ext1); 
     1147-       len += snprintf(buf + len, size - len, 
     1148-                       "%22s : %10d\n", "RSSI-EXT2", 
     1149-                       sc->debug.stats.rxstats.rs_rssi_ext2); 
     1150-       len += snprintf(buf + len, size - len, 
     1151-                       "%22s : %10d\n", "Rx Antenna", 
     1152-                       sc->debug.stats.rxstats.rs_antenna); 
     1153-       len += snprintf(buf + len, size - len, 
     1154                        "%22s : %10u\n", "RX-Pkts-All", 
     1155                        sc->debug.stats.rxstats.rx_pkts_all); 
     1156        len += snprintf(buf + len, size - len, 
     1157@@ -1009,16 +990,7 @@ void ath_debug_stat_rx(struct ath_softc  
     1158                        RX_PHY_ERR_INC(rs->rs_phyerr); 
     1159        } 
     1160  
     1161-       sc->debug.stats.rxstats.rs_rssi_ctl0 = rs->rs_rssi_ctl0; 
     1162-       sc->debug.stats.rxstats.rs_rssi_ctl1 = rs->rs_rssi_ctl1; 
     1163-       sc->debug.stats.rxstats.rs_rssi_ctl2 = rs->rs_rssi_ctl2; 
     1164- 
     1165-       sc->debug.stats.rxstats.rs_rssi_ext0 = rs->rs_rssi_ext0; 
     1166-       sc->debug.stats.rxstats.rs_rssi_ext1 = rs->rs_rssi_ext1; 
     1167-       sc->debug.stats.rxstats.rs_rssi_ext2 = rs->rs_rssi_ext2; 
     1168- 
     1169-       sc->debug.stats.rxstats.rs_antenna = rs->rs_antenna; 
     1170- 
    11061171+#ifdef CONFIG_ATH9K_MAC_DEBUG 
    11071172        spin_lock(&sc->debug.samp_lock); 
    11081173        RX_SAMP_DBG(jiffies) = jiffies; 
    11091174        RX_SAMP_DBG(rssi_ctl0) = rs->rs_rssi_ctl0; 
    1110 @@ -1035,6 +1038,8 @@ void ath_debug_stat_rx(struct ath_softc  
     1175@@ -1035,6 +1007,8 @@ void ath_debug_stat_rx(struct ath_softc  
    11111176        sc->debug.rsidx = (sc->debug.rsidx + 1) % ATH_DBG_MAX_SAMPLES; 
    11121177        spin_unlock(&sc->debug.samp_lock); 
     
    11171182 #undef RX_PHY_ERR_INC 
    11181183 #undef RX_SAMP_DBG 
    1119 @@ -1278,6 +1283,8 @@ static const struct file_operations fops 
     1184@@ -1278,6 +1252,8 @@ static const struct file_operations fops 
    11201185        .llseek = default_llseek, 
    11211186 }; 
     
    11261191 { 
    11271192 #define ATH_SAMP_DBG(c) (sc->debug.bb_mac_samp[sc->debug.sampidx].c) 
    1128 @@ -1551,6 +1558,7 @@ static const struct file_operations fops 
     1193@@ -1551,6 +1527,7 @@ static const struct file_operations fops 
    11291194        .llseek = default_llseek, 
    11301195 }; 
     
    11341199 int ath9k_init_debug(struct ath_hw *ah) 
    11351200 { 
    1136 @@ -1604,8 +1612,10 @@ int ath9k_init_debug(struct ath_hw *ah) 
     1201@@ -1604,8 +1581,10 @@ int ath9k_init_debug(struct ath_hw *ah) 
    11371202                            &fops_base_eeprom); 
    11381203        debugfs_create_file("modal_eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, 
     
    11471212--- a/drivers/net/wireless/ath/ath9k/debug.h 
    11481213+++ b/drivers/net/wireless/ath/ath9k/debug.h 
    1149 @@ -235,16 +235,17 @@ struct ath9k_debug { 
     1214@@ -165,13 +165,6 @@ struct ath_rx_stats { 
     1215        u32 post_delim_crc_err; 
     1216        u32 decrypt_busy_err; 
     1217        u32 phy_err_stats[ATH9K_PHYERR_MAX]; 
     1218-       int8_t rs_rssi_ctl0; 
     1219-       int8_t rs_rssi_ctl1; 
     1220-       int8_t rs_rssi_ctl2; 
     1221-       int8_t rs_rssi_ext0; 
     1222-       int8_t rs_rssi_ext1; 
     1223-       int8_t rs_rssi_ext2; 
     1224-       u8 rs_antenna; 
     1225 }; 
     1226  
     1227 enum ath_reset_type { 
     1228@@ -235,16 +228,17 @@ struct ath9k_debug { 
    11501229        struct dentry *debugfs_phy; 
    11511230        u32 regidx; 
     
    11661245 void ath_debug_stat_tx(struct ath_softc *sc, struct ath_buf *bf, 
    11671246                       struct ath_tx_status *ts, struct ath_txq *txq, 
    1168 @@ -258,10 +259,6 @@ static inline int ath9k_init_debug(struc 
     1247@@ -258,10 +252,6 @@ static inline int ath9k_init_debug(struc 
    11691248        return 0; 
    11701249 } 
     
    11771256                                            enum ath9k_int status) 
    11781257 { 
    1179 @@ -282,4 +279,17 @@ static inline void ath_debug_stat_rx(str 
     1258@@ -282,4 +272,17 @@ static inline void ath_debug_stat_rx(str 
    11801259  
    11811260 #endif /* CONFIG_ATH9K_DEBUGFS */ 
     
    13081387--- a/drivers/net/wireless/ath/ath9k/recv.c 
    13091388+++ b/drivers/net/wireless/ath/ath9k/recv.c 
    1310 @@ -954,6 +954,7 @@ static void ath9k_process_rssi(struct at 
     1389@@ -232,7 +232,6 @@ static void ath_rx_edma_cleanup(struct a 
     1390 static void ath_rx_edma_init_queue(struct ath_rx_edma *rx_edma, int size) 
     1391 { 
     1392        skb_queue_head_init(&rx_edma->rx_fifo); 
     1393-       skb_queue_head_init(&rx_edma->rx_buffers); 
     1394        rx_edma->rx_fifo_hwsize = size; 
     1395 } 
     1396  
     1397@@ -658,7 +657,9 @@ static void ath_rx_ps(struct ath_softc * 
     1398 } 
     1399  
     1400 static bool ath_edma_get_buffers(struct ath_softc *sc, 
     1401-                                enum ath9k_rx_qtype qtype) 
     1402+                                enum ath9k_rx_qtype qtype, 
     1403+                                struct ath_rx_status *rs, 
     1404+                                struct ath_buf **dest) 
     1405 { 
     1406        struct ath_rx_edma *rx_edma = &sc->rx.rx_edma[qtype]; 
     1407        struct ath_hw *ah = sc->sc_ah; 
     1408@@ -677,7 +678,7 @@ static bool ath_edma_get_buffers(struct  
     1409        dma_sync_single_for_cpu(sc->dev, bf->bf_buf_addr, 
     1410                                common->rx_bufsize, DMA_FROM_DEVICE); 
     1411  
     1412-       ret = ath9k_hw_process_rxdesc_edma(ah, NULL, skb->data); 
     1413+       ret = ath9k_hw_process_rxdesc_edma(ah, rs, skb->data); 
     1414        if (ret == -EINPROGRESS) { 
     1415                /*let device gain the buffer again*/ 
     1416                dma_sync_single_for_device(sc->dev, bf->bf_buf_addr, 
     1417@@ -690,20 +691,21 @@ static bool ath_edma_get_buffers(struct  
     1418                /* corrupt descriptor, skip this one and the following one */ 
     1419                list_add_tail(&bf->list, &sc->rx.rxbuf); 
     1420                ath_rx_edma_buf_link(sc, qtype); 
     1421-               skb = skb_peek(&rx_edma->rx_fifo); 
     1422-               if (!skb) 
     1423-                       return true; 
     1424  
     1425-               bf = SKB_CB_ATHBUF(skb); 
     1426-               BUG_ON(!bf); 
     1427+               skb = skb_peek(&rx_edma->rx_fifo); 
     1428+               if (skb) { 
     1429+                       bf = SKB_CB_ATHBUF(skb); 
     1430+                       BUG_ON(!bf); 
     1431  
     1432-               __skb_unlink(skb, &rx_edma->rx_fifo); 
     1433-               list_add_tail(&bf->list, &sc->rx.rxbuf); 
     1434-               ath_rx_edma_buf_link(sc, qtype); 
     1435-               return true; 
     1436+                       __skb_unlink(skb, &rx_edma->rx_fifo); 
     1437+                       list_add_tail(&bf->list, &sc->rx.rxbuf); 
     1438+                       ath_rx_edma_buf_link(sc, qtype); 
     1439+               } else { 
     1440+                       bf = NULL; 
     1441+               } 
     1442        } 
     1443-       skb_queue_tail(&rx_edma->rx_buffers, skb); 
     1444  
     1445+       *dest = bf; 
     1446        return true; 
     1447 } 
     1448  
     1449@@ -711,18 +713,15 @@ static struct ath_buf *ath_edma_get_next 
     1450                                                struct ath_rx_status *rs, 
     1451                                                enum ath9k_rx_qtype qtype) 
     1452 { 
     1453-       struct ath_rx_edma *rx_edma = &sc->rx.rx_edma[qtype]; 
     1454-       struct sk_buff *skb; 
     1455-       struct ath_buf *bf; 
     1456+       struct ath_buf *bf = NULL; 
     1457  
     1458-       while (ath_edma_get_buffers(sc, qtype)); 
     1459-       skb = __skb_dequeue(&rx_edma->rx_buffers); 
     1460-       if (!skb) 
     1461-               return NULL; 
     1462+       while (ath_edma_get_buffers(sc, qtype, rs, &bf)) { 
     1463+               if (!bf) 
     1464+                       continue; 
     1465  
     1466-       bf = SKB_CB_ATHBUF(skb); 
     1467-       ath9k_hw_process_rxdesc_edma(sc->sc_ah, rs, skb->data); 
     1468-       return bf; 
     1469+               return bf; 
     1470+       } 
     1471+       return NULL; 
     1472 } 
     1473  
     1474 static struct ath_buf *ath_get_next_rx_buf(struct ath_softc *sc, 
     1475@@ -954,6 +953,7 @@ static void ath9k_process_rssi(struct at 
    13111476        struct ath_softc *sc = hw->priv; 
    13121477        struct ath_hw *ah = common->ah; 
     
    13161481        if (!rx_stats->is_mybeacon || 
    13171482            ((ah->opmode != NL80211_IFTYPE_STATION) && 
    1318 @@ -965,13 +966,12 @@ static void ath9k_process_rssi(struct at 
     1483@@ -965,13 +965,12 @@ static void ath9k_process_rssi(struct at 
    13191484  
    13201485        last_rssi = sc->last_rssi; 
     
    13341499  
    13351500 /* 
    1336 @@ -1011,6 +1011,8 @@ static int ath9k_rx_skb_preprocess(struc 
     1501@@ -1011,6 +1010,8 @@ static int ath9k_rx_skb_preprocess(struc 
    13371502        rx_status->signal = ah->noise + rx_stats->rs_rssi; 
    13381503        rx_status->antenna = rx_stats->rs_antenna; 
     
    14441609                txq = &sc->tx.txq[ts.qid]; 
    14451610  
     1611--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
     1612+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
     1613@@ -299,7 +299,6 @@ struct ath_tx { 
     1614  
     1615 struct ath_rx_edma { 
     1616        struct sk_buff_head rx_fifo; 
     1617-       struct sk_buff_head rx_buffers; 
     1618        u32 rx_fifo_hwsize; 
     1619 }; 
     1620  
  • trunk/package/mac80211/patches/500-ath9k_eeprom_debugfs.patch

    r30764 r30865  
    11--- a/drivers/net/wireless/ath/ath9k/debug.c 
    22+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    3 @@ -1560,6 +1560,53 @@ static const struct file_operations fops 
     3@@ -1529,6 +1529,53 @@ static const struct file_operations fops 
    44  
    55 #endif 
     
    5555 { 
    5656        struct ath_common *common = ath9k_hw_common(ah); 
    57 @@ -1623,5 +1670,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
     57@@ -1592,5 +1639,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
    5858        debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR, 
    5959                           sc->debug.debugfs_phy, &sc->sc_ah->gpio_val); 
  • trunk/package/mac80211/patches/511-ath9k_increase_bcbuf.patch

    r30746 r30865  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -370,7 +370,7 @@ struct ath_vif { 
     3@@ -369,7 +369,7 @@ struct ath_vif { 
    44  * number of beacon intervals, the game's up. 
    55  */ 
  • trunk/package/mac80211/patches/513-ath9k_channelbw_debugfs.patch

    r30864 r30865  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -625,6 +625,7 @@ struct ath_softc { 
     3@@ -624,6 +624,7 @@ struct ath_softc { 
    44        struct ieee80211_hw *hw; 
    55        struct device *dev; 
     
    99        int chan_is_ht; 
    1010        struct survey_info *cur_survey; 
    11 @@ -692,6 +693,7 @@ struct ath_softc { 
     11@@ -691,6 +692,7 @@ struct ath_softc { 
    1212        u8 ant_tx, ant_rx; 
    1313 }; 
     
    1919--- a/drivers/net/wireless/ath/ath9k/debug.c 
    2020+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    21 @@ -1607,6 +1607,50 @@ static const struct file_operations fops 
     21@@ -1576,6 +1576,50 @@ static const struct file_operations fops 
    2222        .owner = THIS_MODULE 
    2323 }; 
     
    7070 { 
    7171        struct ath_common *common = ath9k_hw_common(ah); 
    72 @@ -1673,5 +1717,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
     72@@ -1642,5 +1686,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
    7373        debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, 
    7474                            &fops_eeprom); 
  • trunk/package/mac80211/patches/540-ath9k_limit_qlen.patch

    r30764 r30865  
    2121--- a/drivers/net/wireless/ath/ath9k/debug.c 
    2222+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    23 @@ -1674,6 +1674,10 @@ int ath9k_init_debug(struct ath_hw *ah) 
     23@@ -1643,6 +1643,10 @@ int ath9k_init_debug(struct ath_hw *ah) 
    2424                            &fops_interrupt); 
    2525        debugfs_create_file("xmit", S_IRUSR, sc->debug.debugfs_phy, sc, 
  • trunk/package/mac80211/patches/550-ath9k_per_chain_signal_strength.patch

    r30864 r30865  
    140140--- a/drivers/net/wireless/ath/ath9k/recv.c 
    141141+++ b/drivers/net/wireless/ath/ath9k/recv.c 
    142 @@ -987,6 +987,7 @@ static int ath9k_rx_skb_preprocess(struc 
     142@@ -986,6 +986,7 @@ static int ath9k_rx_skb_preprocess(struc 
    143143                                   bool *decrypt_error) 
    144144 { 
     
    148148        memset(rx_status, 0, sizeof(struct ieee80211_rx_status)); 
    149149  
    150 @@ -1014,6 +1015,20 @@ static int ath9k_rx_skb_preprocess(struc 
     150@@ -1013,6 +1014,20 @@ static int ath9k_rx_skb_preprocess(struc 
    151151        if (rx_stats->rs_moreaggr) 
    152152                rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL; 
     
    169169 } 
    170170  
    171 @@ -1544,14 +1559,14 @@ static void ath_ant_comb_scan(struct ath 
     171@@ -1543,14 +1558,14 @@ static void ath_ant_comb_scan(struct ath 
    172172        struct ath_ant_comb *antcomb = &sc->ant_comb; 
    173173        int alt_ratio = 0, alt_rssi_avg = 0, main_rssi_avg = 0, curr_alt_set; 
     
    190190--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c 
    191191+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c 
    192 @@ -459,12 +459,12 @@ int ath9k_hw_process_rxdesc_edma(struct  
     192@@ -453,12 +453,12 @@ int ath9k_hw_process_rxdesc_edma(struct  
    193193  
    194194        /* XXX: Keycache */ 
  • trunk/package/mac80211/patches/551-ath9k_extra_leds.patch

    r30864 r30865  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -505,6 +505,9 @@ static inline u16 ath9k_btcoex_aggr_limi 
     3@@ -504,6 +504,9 @@ static inline u16 ath9k_btcoex_aggr_limi 
    44 #ifdef CONFIG_MAC80211_LEDS 
    55 void ath_init_leds(struct ath_softc *sc); 
     
    1111 static inline void ath_init_leds(struct ath_softc *sc) 
    1212 { 
    13 @@ -625,6 +628,13 @@ struct ath9k_vif_iter_data { 
     13@@ -624,6 +627,13 @@ struct ath9k_vif_iter_data { 
    1414        int nothers;   /* number of vifs not specified above. */ 
    1515 }; 
     
    2525        struct ieee80211_hw *hw; 
    2626        struct device *dev; 
    27 @@ -668,9 +678,8 @@ struct ath_softc { 
     27@@ -667,9 +677,8 @@ struct ath_softc { 
    2828        struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS]; 
    2929  
Note: See TracChangeset for help on using the changeset viewer.