wifi: ath9k: cleanup a few (mostly) TX-related routines

Remove unused 'struct ath_softc *' argument of 'ath_pkt_duration()',
'ath_tx_update_baw()', 'ath_get_skb_tid()', 'ath_tx_addto_baw()' and
'ath_tx_count_frames()', adjust related users. Compile tested only.

Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Acked-by: Toke Høiland-Jørgensen <toke@toke.dk>
Link: https://patch.msgid.link/20241209155027.636400-2-dmantipov@yandex.ru
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
Dmitry Antipov 2024-12-09 18:50:26 +03:00 committed by Jeff Johnson
parent 2a7e02fa91
commit d19ac7ef6e
3 changed files with 22 additions and 26 deletions

View File

@ -592,8 +592,8 @@ void ath_txq_schedule_all(struct ath_softc *sc);
int ath_tx_init(struct ath_softc *sc, int nbufs); int ath_tx_init(struct ath_softc *sc, int nbufs);
int ath_txq_update(struct ath_softc *sc, int qnum, int ath_txq_update(struct ath_softc *sc, int qnum,
struct ath9k_tx_queue_info *q); struct ath9k_tx_queue_info *q);
u32 ath_pkt_duration(struct ath_softc *sc, u8 rix, int pktlen, u32 ath_pkt_duration(u8 rix, int pktlen, int width,
int width, int half_gi, bool shortPreamble); int half_gi, bool shortPreamble);
void ath_update_max_aggr_framelen(struct ath_softc *sc, int queue, int txop); void ath_update_max_aggr_framelen(struct ath_softc *sc, int queue, int txop);
void ath_assign_seq(struct ath_common *common, struct sk_buff *skb); void ath_assign_seq(struct ath_common *common, struct sk_buff *skb);
int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,

View File

@ -1042,8 +1042,8 @@ static void ath_rx_count_airtime(struct ath_softc *sc,
if (!!(rxs->encoding == RX_ENC_HT)) { if (!!(rxs->encoding == RX_ENC_HT)) {
/* MCS rates */ /* MCS rates */
airtime += ath_pkt_duration(sc, rxs->rate_idx, len, airtime += ath_pkt_duration(rxs->rate_idx, len,
is_40, is_sgi, is_sp); is_40, is_sgi, is_sp);
} else { } else {
phy = IS_CCK_RATE(rs->rs_rate) ? WLAN_RC_PHY_CCK : WLAN_RC_PHY_OFDM; phy = IS_CCK_RATE(rs->rs_rate) ? WLAN_RC_PHY_CCK : WLAN_RC_PHY_OFDM;

View File

@ -67,8 +67,7 @@ static void ath_tx_txqaddbuf(struct ath_softc *sc, struct ath_txq *txq,
static void ath_tx_rc_status(struct ath_softc *sc, struct ath_buf *bf, static void ath_tx_rc_status(struct ath_softc *sc, struct ath_buf *bf,
struct ath_tx_status *ts, int nframes, int nbad, struct ath_tx_status *ts, int nframes, int nbad,
int txok); int txok);
static void ath_tx_update_baw(struct ath_softc *sc, struct ath_atx_tid *tid, static void ath_tx_update_baw(struct ath_atx_tid *tid, struct ath_buf *bf);
struct ath_buf *bf);
static struct ath_buf *ath_tx_setup_buffer(struct ath_softc *sc, static struct ath_buf *ath_tx_setup_buffer(struct ath_softc *sc,
struct ath_txq *txq, struct ath_txq *txq,
struct ath_atx_tid *tid, struct ath_atx_tid *tid,
@ -224,7 +223,7 @@ static void ath_txq_skb_done(struct ath_softc *sc, struct sk_buff *skb)
} }
static struct ath_atx_tid * static struct ath_atx_tid *
ath_get_skb_tid(struct ath_softc *sc, struct ath_node *an, struct sk_buff *skb) ath_get_skb_tid(struct ath_node *an, struct sk_buff *skb)
{ {
u8 tidno = skb->priority & IEEE80211_QOS_CTL_TID_MASK; u8 tidno = skb->priority & IEEE80211_QOS_CTL_TID_MASK;
return ATH_AN_2_TID(an, tidno); return ATH_AN_2_TID(an, tidno);
@ -300,7 +299,7 @@ static void ath_tx_flush_tid(struct ath_softc *sc, struct ath_atx_tid *tid)
} }
if (fi->baw_tracked) { if (fi->baw_tracked) {
ath_tx_update_baw(sc, tid, bf); ath_tx_update_baw(tid, bf);
sendbar = true; sendbar = true;
} }
@ -315,8 +314,7 @@ static void ath_tx_flush_tid(struct ath_softc *sc, struct ath_atx_tid *tid)
} }
} }
static void ath_tx_update_baw(struct ath_softc *sc, struct ath_atx_tid *tid, static void ath_tx_update_baw(struct ath_atx_tid *tid, struct ath_buf *bf)
struct ath_buf *bf)
{ {
struct ath_frame_info *fi = get_frame_info(bf->bf_mpdu); struct ath_frame_info *fi = get_frame_info(bf->bf_mpdu);
u16 seqno = bf->bf_state.seqno; u16 seqno = bf->bf_state.seqno;
@ -338,8 +336,7 @@ static void ath_tx_update_baw(struct ath_softc *sc, struct ath_atx_tid *tid,
} }
} }
static void ath_tx_addto_baw(struct ath_softc *sc, struct ath_atx_tid *tid, static void ath_tx_addto_baw(struct ath_atx_tid *tid, struct ath_buf *bf)
struct ath_buf *bf)
{ {
struct ath_frame_info *fi = get_frame_info(bf->bf_mpdu); struct ath_frame_info *fi = get_frame_info(bf->bf_mpdu);
u16 seqno = bf->bf_state.seqno; u16 seqno = bf->bf_state.seqno;
@ -452,9 +449,8 @@ static struct ath_buf* ath_clone_txbuf(struct ath_softc *sc, struct ath_buf *bf)
return tbf; return tbf;
} }
static void ath_tx_count_frames(struct ath_softc *sc, struct ath_buf *bf, static void ath_tx_count_frames(struct ath_buf *bf, struct ath_tx_status *ts,
struct ath_tx_status *ts, int txok, int txok, int *nframes, int *nbad)
int *nframes, int *nbad)
{ {
u16 seq_st = 0; u16 seq_st = 0;
u32 ba[WME_BA_BMP_SIZE >> 5]; u32 ba[WME_BA_BMP_SIZE >> 5];
@ -568,7 +564,7 @@ static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq,
__skb_queue_head_init(&bf_pending); __skb_queue_head_init(&bf_pending);
ath_tx_count_frames(sc, bf, ts, txok, &nframes, &nbad); ath_tx_count_frames(bf, ts, txok, &nframes, &nbad);
while (bf) { while (bf) {
u16 seqno = bf->bf_state.seqno; u16 seqno = bf->bf_state.seqno;
@ -621,7 +617,7 @@ static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq,
* complete the acked-ones/xretried ones; update * complete the acked-ones/xretried ones; update
* block-ack window * block-ack window
*/ */
ath_tx_update_baw(sc, tid, bf); ath_tx_update_baw(tid, bf);
if (rc_update && (acked_cnt == 1 || txfail_cnt == 1)) { if (rc_update && (acked_cnt == 1 || txfail_cnt == 1)) {
memcpy(tx_info->control.rates, rates, sizeof(rates)); memcpy(tx_info->control.rates, rates, sizeof(rates));
@ -651,7 +647,7 @@ static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq,
* run out of tx buf. * run out of tx buf.
*/ */
if (!tbf) { if (!tbf) {
ath_tx_update_baw(sc, tid, bf); ath_tx_update_baw(tid, bf);
ath_tx_complete_buf(sc, bf, txq, ath_tx_complete_buf(sc, bf, txq,
&bf_head, NULL, ts, &bf_head, NULL, ts,
@ -752,7 +748,7 @@ static void ath_tx_process_buffer(struct ath_softc *sc, struct ath_txq *txq,
sta = ieee80211_find_sta_by_ifaddr(hw, hdr->addr1, hdr->addr2); sta = ieee80211_find_sta_by_ifaddr(hw, hdr->addr1, hdr->addr2);
if (sta) { if (sta) {
struct ath_node *an = (struct ath_node *)sta->drv_priv; struct ath_node *an = (struct ath_node *)sta->drv_priv;
tid = ath_get_skb_tid(sc, an, bf->bf_mpdu); tid = ath_get_skb_tid(an, bf->bf_mpdu);
ath_tx_count_airtime(sc, sta, bf, ts, tid->tidno); ath_tx_count_airtime(sc, sta, bf, ts, tid->tidno);
if (ts->ts_status & (ATH9K_TXERR_FILT | ATH9K_TXERR_XRETRY)) if (ts->ts_status & (ATH9K_TXERR_FILT | ATH9K_TXERR_XRETRY))
tid->clear_ps_filter = true; tid->clear_ps_filter = true;
@ -1012,13 +1008,13 @@ ath_tx_get_tid_subframe(struct ath_softc *sc, struct ath_txq *txq,
INIT_LIST_HEAD(&bf_head); INIT_LIST_HEAD(&bf_head);
list_add(&bf->list, &bf_head); list_add(&bf->list, &bf_head);
ath_tx_update_baw(sc, tid, bf); ath_tx_update_baw(tid, bf);
ath_tx_complete_buf(sc, bf, txq, &bf_head, NULL, &ts, 0); ath_tx_complete_buf(sc, bf, txq, &bf_head, NULL, &ts, 0);
continue; continue;
} }
if (bf_isampdu(bf)) if (bf_isampdu(bf))
ath_tx_addto_baw(sc, tid, bf); ath_tx_addto_baw(tid, bf);
break; break;
} }
@ -1114,8 +1110,8 @@ ath_tx_form_aggr(struct ath_softc *sc, struct ath_txq *txq,
* width - 0 for 20 MHz, 1 for 40 MHz * width - 0 for 20 MHz, 1 for 40 MHz
* half_gi - to use 4us v/s 3.6 us for symbol time * half_gi - to use 4us v/s 3.6 us for symbol time
*/ */
u32 ath_pkt_duration(struct ath_softc *sc, u8 rix, int pktlen, u32 ath_pkt_duration(u8 rix, int pktlen, int width,
int width, int half_gi, bool shortPreamble) int half_gi, bool shortPreamble)
{ {
u32 nbits, nsymbits, duration, nsymbols; u32 nbits, nsymbits, duration, nsymbols;
int streams; int streams;
@ -1327,7 +1323,7 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf,
info->rates[i].Rate = rix | 0x80; info->rates[i].Rate = rix | 0x80;
info->rates[i].ChSel = ath_txchainmask_reduction(sc, info->rates[i].ChSel = ath_txchainmask_reduction(sc,
ah->txchainmask, info->rates[i].Rate); ah->txchainmask, info->rates[i].Rate);
info->rates[i].PktDuration = ath_pkt_duration(sc, rix, len, info->rates[i].PktDuration = ath_pkt_duration(rix, len,
is_40, is_sgi, is_sp); is_40, is_sgi, is_sp);
if (rix < 8 && (tx_info->flags & IEEE80211_TX_CTL_STBC)) if (rix < 8 && (tx_info->flags & IEEE80211_TX_CTL_STBC))
info->rates[i].RateFlags |= ATH9K_RATESERIES_STBC; info->rates[i].RateFlags |= ATH9K_RATESERIES_STBC;
@ -2122,7 +2118,7 @@ static void ath_tx_send_normal(struct ath_softc *sc, struct ath_txq *txq,
bf->bf_state.bf_type = 0; bf->bf_state.bf_type = 0;
if (tid && (tx_info->flags & IEEE80211_TX_CTL_AMPDU)) { if (tid && (tx_info->flags & IEEE80211_TX_CTL_AMPDU)) {
bf->bf_state.bf_type = BUF_AMPDU; bf->bf_state.bf_type = BUF_AMPDU;
ath_tx_addto_baw(sc, tid, bf); ath_tx_addto_baw(tid, bf);
} }
bf->bf_next = NULL; bf->bf_next = NULL;
@ -2368,7 +2364,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
if (txctl->sta) { if (txctl->sta) {
an = (struct ath_node *) sta->drv_priv; an = (struct ath_node *) sta->drv_priv;
tid = ath_get_skb_tid(sc, an, skb); tid = ath_get_skb_tid(an, skb);
} }
ath_txq_lock(sc, txq); ath_txq_lock(sc, txq);