mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
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:
parent
2a7e02fa91
commit
d19ac7ef6e
@ -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,
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user