source: trunk/package/mac80211/patches/540-ath9k_fix_queue_debug.patch @ 25099

Last change on this file since 25099 was 25099, checked in by nbd, 6 years ago

ath9k: fix tx queue debug counters

File size: 3.7 KB
  • drivers/net/wireless/ath/ath9k/debug.c

    a b static const struct file_operations fops 
    450450        .llseek = default_llseek, 
    451451}; 
    452452 
     453#define PR_QNUM(_n) sc->tx.txq_map[_n]->axq_qnum 
    453454#define PR(str, elem)                                                   \ 
    454455        do {                                                            \ 
    455456                len += snprintf(buf + len, size - len,                  \ 
    456457                                "%s%13u%11u%10u%10u\n", str,            \ 
    457                 sc->debug.stats.txstats[WME_AC_BE].elem, \ 
    458                 sc->debug.stats.txstats[WME_AC_BK].elem, \ 
    459                 sc->debug.stats.txstats[WME_AC_VI].elem, \ 
    460                 sc->debug.stats.txstats[WME_AC_VO].elem); \ 
     458                sc->debug.stats.txstats[PR_QNUM(WME_AC_BE)].elem, \ 
     459                sc->debug.stats.txstats[PR_QNUM(WME_AC_BK)].elem, \ 
     460                sc->debug.stats.txstats[PR_QNUM(WME_AC_VI)].elem, \ 
     461                sc->debug.stats.txstats[PR_QNUM(WME_AC_VO)].elem); \ 
    461462                if (len >= size)                          \ 
    462463                        goto done;                        \ 
    463464} while(0) 
    static const struct file_operations fops 
    466467do {                                                                    \ 
    467468        len += snprintf(buf + len, size - len,                          \ 
    468469                        "%s%13u%11u%10u%10u\n", str,                    \ 
    469                         (unsigned int)(sc->tx.txq[ATH_TXQ_AC_BE].elem), \ 
    470                         (unsigned int)(sc->tx.txq[ATH_TXQ_AC_BK].elem), \ 
    471                         (unsigned int)(sc->tx.txq[ATH_TXQ_AC_VI].elem), \ 
    472                         (unsigned int)(sc->tx.txq[ATH_TXQ_AC_VO].elem));        \ 
     470                        (unsigned int)(sc->tx.txq_map[WME_AC_BE]->elem),        \ 
     471                        (unsigned int)(sc->tx.txq_map[WME_AC_BK]->elem),        \ 
     472                        (unsigned int)(sc->tx.txq_map[WME_AC_VI]->elem),        \ 
     473                        (unsigned int)(sc->tx.txq_map[WME_AC_VO]->elem));       \ 
    473474        if (len >= size)                                                \ 
    474475                goto done;                                              \ 
    475476} while(0) 
    do { \ 
    478479do {                                                                    \ 
    479480        len += snprintf(buf + len, size - len,                          \ 
    480481                        "%s%13i%11i%10i%10i\n", str,                    \ 
    481                         list_empty(&sc->tx.txq[ATH_TXQ_AC_BE].elem),    \ 
    482                         list_empty(&sc->tx.txq[ATH_TXQ_AC_BK].elem),    \ 
    483                         list_empty(&sc->tx.txq[ATH_TXQ_AC_VI].elem),    \ 
    484                         list_empty(&sc->tx.txq[ATH_TXQ_AC_VO].elem));   \ 
     482                        list_empty(&sc->tx.txq_map[WME_AC_BE]->elem),   \ 
     483                        list_empty(&sc->tx.txq_map[WME_AC_BK]->elem),   \ 
     484                        list_empty(&sc->tx.txq_map[WME_AC_VI]->elem),   \ 
     485                        list_empty(&sc->tx.txq_map[WME_AC_VO]->elem));  \ 
    485486        if (len >= size)                                                \ 
    486487                goto done;                                              \ 
    487488} while (0) 
    static ssize_t read_file_xmit(struct fil 
    528529        PR("hw-tx-proc-desc: ", txprocdesc); 
    529530        len += snprintf(buf + len, size - len, 
    530531                        "%s%11p%11p%10p%10p\n", "txq-memory-address:", 
    531                         &(sc->tx.txq[ATH_TXQ_AC_BE]), 
    532                         &(sc->tx.txq[ATH_TXQ_AC_BK]), 
    533                         &(sc->tx.txq[ATH_TXQ_AC_VI]), 
    534                         &(sc->tx.txq[ATH_TXQ_AC_VO])); 
     532                        &(sc->tx.txq_map[WME_AC_BE]), 
     533                        &(sc->tx.txq_map[WME_AC_BK]), 
     534                        &(sc->tx.txq_map[WME_AC_VI]), 
     535                        &(sc->tx.txq_map[WME_AC_VO])); 
    535536        if (len >= size) 
    536537                goto done; 
    537538 
    static ssize_t read_file_misc(struct fil 
    751752} 
    752753 
    753754void ath_debug_stat_tx(struct ath_softc *sc, struct ath_buf *bf, 
    754                        struct ath_tx_status *ts) 
     755                       struct ath_tx_status *ts, struct ath_txq *txq) 
    755756{ 
    756         int qnum = skb_get_queue_mapping(bf->bf_mpdu); 
     757        int qnum = txq->axq_qnum; 
    757758 
    758759        TX_STAT_INC(qnum, tx_pkts_all); 
    759760        sc->debug.stats.txstats[qnum].tx_bytes_all += bf->bf_mpdu->len; 
  • drivers/net/wireless/ath/ath9k/debug.h

    a b int ath9k_init_debug(struct ath_hw *ah); 
    175175 
    176176void ath_debug_stat_interrupt(struct ath_softc *sc, enum ath9k_int status); 
    177177void ath_debug_stat_tx(struct ath_softc *sc, struct ath_buf *bf, 
    178                        struct ath_tx_status *ts); 
     178                       struct ath_tx_status *ts, struct ath_txq *txq); 
    179179void ath_debug_stat_rx(struct ath_softc *sc, struct ath_rx_status *rs); 
    180180 
    181181#else 
  • drivers/net/wireless/ath/ath9k/xmit.c

    a b static void ath_tx_complete_buf(struct a 
    19131913                else 
    19141914                        complete(&sc->paprd_complete); 
    19151915        } else { 
    1916                 ath_debug_stat_tx(sc, bf, ts); 
     1916                ath_debug_stat_tx(sc, bf, ts, txq); 
    19171917                ath_tx_complete(sc, skb, tx_flags, 
    19181918                                bf->bf_state.bfs_ftype, txq); 
    19191919        } 
Note: See TracBrowser for help on using the repository browser.