projects
/
open-ath9k-htc-firmware.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove unused variables ah_set11nVirtualMoreFrag
[open-ath9k-htc-firmware.git]
/
target_firmware
/
wlan
/
if_owl.c
diff --git
a/target_firmware/wlan/if_owl.c
b/target_firmware/wlan/if_owl.c
index 375c38cc17b855beab57550ce6b1df2aebdfe3c6..b66d2767e04c0043cf46fe4ccb05793bd5caa340 100755
(executable)
--- a/
target_firmware/wlan/if_owl.c
+++ b/
target_firmware/wlan/if_owl.c
@@
-47,7
+47,6
@@
#include <adf_net.h>
#include <adf_net_wcmd.h>
#include <adf_net.h>
#include <adf_net_wcmd.h>
-#include "if_ethersubr.h"
#include "if_llc.h"
#ifdef USE_HEADERLEN_RESV
#include "if_llc.h"
#ifdef USE_HEADERLEN_RESV
@@
-58,7
+57,6
@@
#include "if_athrate.h"
#include "if_athvar.h"
#include "ah_desc.h"
#include "if_athrate.h"
#include "if_athvar.h"
#include "ah_desc.h"
-#include "if_ath_pci.h"
#define ath_tgt_free_skb adf_nbuf_free
#define ath_tgt_free_skb adf_nbuf_free
@@
-97,7
+95,7
@@
static a_uint16_t bits_per_symbol[][2] = {
void owltgt_tx_processq(struct ath_softc_tgt *sc, struct ath_txq *txq,
owl_txq_state_t txqstate);
static void ath_tgt_txqaddbuf(struct ath_softc_tgt *sc, struct ath_txq *txq,
void owltgt_tx_processq(struct ath_softc_tgt *sc, struct ath_txq *txq,
owl_txq_state_t txqstate);
static void ath_tgt_txqaddbuf(struct ath_softc_tgt *sc, struct ath_txq *txq,
- struct ath_
buf *bf, struct ath
_desc *lastds);
+ struct ath_
tx_buf *bf, struct ath_tx
_desc *lastds);
void ath_rate_findrate_11n_Hardcoded(struct ath_softc_tgt *sc,
struct ath_rc_series series[]);
void ath_buf_set_rate_Hardcoded(struct ath_softc_tgt *sc,
void ath_rate_findrate_11n_Hardcoded(struct ath_softc_tgt *sc,
struct ath_rc_series series[]);
void ath_buf_set_rate_Hardcoded(struct ath_softc_tgt *sc,
@@
-106,12
+104,10
@@
static a_int32_t ath_tgt_txbuf_setup(struct ath_softc_tgt *sc,
struct ath_tx_buf *bf, ath_data_hdr_t *dh);
static void ath_tx_freebuf(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
static void ath_tx_uc_comp(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
struct ath_tx_buf *bf, ath_data_hdr_t *dh);
static void ath_tx_freebuf(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
static void ath_tx_uc_comp(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
-static void ath_update_stats(struct ath_softc_tgt *sc, struct ath_buf *bf);
+static void ath_update_stats(struct ath_softc_tgt *sc, struct ath_
tx_
buf *bf);
void adf_print_buf(adf_nbuf_t buf);
static void ath_tgt_tx_enqueue(struct ath_txq *txq, struct ath_atx_tid *tid);
void adf_print_buf(adf_nbuf_t buf);
static void ath_tgt_tx_enqueue(struct ath_txq *txq, struct ath_atx_tid *tid);
-struct ath_buf * ath_tgt_tx_prepare(struct ath_softc_tgt *sc,
- adf_nbuf_t skb, ath_data_hdr_t *dh);
void ath_tgt_tx_comp_aggr(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
struct ieee80211_frame *ATH_SKB_2_WH(adf_nbuf_t skb);
void ath_tgt_tx_comp_aggr(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
struct ieee80211_frame *ATH_SKB_2_WH(adf_nbuf_t skb);
@@
-121,8
+117,8
@@
static void ath_tgt_tx_sched_normal(struct ath_softc_tgt *sc, ath_atx_tid_t *tid
static void ath_tgt_tx_sched_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid);
extern a_int32_t ath_chainmask_sel_logic(void *);
static void ath_tgt_tx_sched_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid);
extern a_int32_t ath_chainmask_sel_logic(void *);
-static a_int32_t ath_get_pktlen(struct ath_buf *bf, a_int32_t hdrlen);
-static void ath_tgt_txq_schedule(struct ath_softc *sc, struct ath_txq *txq);
+static a_int32_t ath_get_pktlen(struct ath_
tx_
buf *bf, a_int32_t hdrlen);
+static void ath_tgt_txq_schedule(struct ath_softc
_tgt
*sc, struct ath_txq *txq);
typedef void (*ath_ft_set_atype_t)(struct ath_softc_tgt *sc, struct ath_buf *bf);
typedef void (*ath_ft_set_atype_t)(struct ath_softc_tgt *sc, struct ath_buf *bf);
@@
-135,7
+131,7
@@
static void
ath_tx_update_baw(ath_atx_tid_t *tid, int seqno);
static void
ath_tx_retry_subframe(struct ath_softc_tgt *sc, struct ath_tx_buf *bf,
ath_tx_update_baw(ath_atx_tid_t *tid, int seqno);
static void
ath_tx_retry_subframe(struct ath_softc_tgt *sc, struct ath_tx_buf *bf,
- ath_bufhead *bf_q, struct ath_tx_buf **bar);
+ ath_
tx_
bufhead *bf_q, struct ath_tx_buf **bar);
static void
ath_tx_comp_aggr_error(struct ath_softc_tgt *sc, struct ath_tx_buf *bf, ath_atx_tid_t *tid);
static void
ath_tx_comp_aggr_error(struct ath_softc_tgt *sc, struct ath_tx_buf *bf, ath_atx_tid_t *tid);
@@
-222,7
+218,7
@@
static a_uint32_t ath_pkt_duration(struct ath_softc_tgt *sc,
return duration;
}
return duration;
}
-static void ath_dma_map(struct ath_softc_tgt *sc, struct ath_buf *bf)
+static void ath_dma_map(struct ath_softc_tgt *sc, struct ath_
tx_
buf *bf)
{
adf_nbuf_t skb = bf->bf_skb;
{
adf_nbuf_t skb = bf->bf_skb;
@@
-230,7
+226,7
@@
static void ath_dma_map(struct ath_softc_tgt *sc, struct ath_buf *bf)
adf_nbuf_map(sc->sc_dev, bf->bf_dmamap, skb, ADF_OS_DMA_TO_DEVICE);
}
adf_nbuf_map(sc->sc_dev, bf->bf_dmamap, skb, ADF_OS_DMA_TO_DEVICE);
}
-static void ath_dma_unmap(struct ath_softc_tgt *sc, struct ath_buf *bf)
+static void ath_dma_unmap(struct ath_softc_tgt *sc, struct ath_
tx_
buf *bf)
{
adf_nbuf_t skb = bf->bf_skb;
{
adf_nbuf_t skb = bf->bf_skb;
@@
-240,7
+236,8
@@
static void ath_dma_unmap(struct ath_softc_tgt *sc, struct ath_buf *bf)
static void ath_filltxdesc(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
static void ath_filltxdesc(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
- struct ath_desc *ds0, *ds = bf->bf_desc;
+ struct ath_tx_desc *ds0, *ds = bf->bf_desc;
+ struct ath_hal *ah = sc->sc_ah;
a_uint8_t i;
ds0 = ds;
a_uint8_t i;
ds0 = ds;
@@
-256,7
+253,7
@@
static void ath_filltxdesc(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
} else
ds->ds_link = ATH_BUF_GET_DESC_PHY_ADDR_WITH_IDX(bf, i+1);
} else
ds->ds_link = ATH_BUF_GET_DESC_PHY_ADDR_WITH_IDX(bf, i+1);
- a
th_hal_filltxdesc(sc->sc_ah,
ds
+ a
h->ah_fillTxDesc(
ds
, bf->bf_dmamap_info.dma_segs[i].len
, i == 0
, i == (bf->bf_dmamap_info.nsegs - 1)
, bf->bf_dmamap_info.dma_segs[i].len
, i == 0
, i == (bf->bf_dmamap_info.nsegs - 1)
@@
-266,7
+263,8
@@
static void ath_filltxdesc(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
static void ath_tx_tgt_setds(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
static void ath_tx_tgt_setds(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
- struct ath_desc *ds = bf->bf_desc;
+ struct ath_tx_desc *ds = bf->bf_desc;
+ struct ath_hal *ah = sc->sc_ah;
switch (bf->bf_protmode) {
case IEEE80211_PROT_RTSCTS:
switch (bf->bf_protmode) {
case IEEE80211_PROT_RTSCTS:
@@
-279,7
+277,7
@@
static void ath_tx_tgt_setds(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
break;
}
break;
}
- a
th_hal_set11n_txdesc(sc->sc_ah,
ds
+ a
h->ah_set11nTxDesc(
ds
, bf->bf_pktlen
, bf->bf_atype
, 60
, bf->bf_pktlen
, bf->bf_atype
, 60
@@
-290,7
+288,7
@@
static void ath_tx_tgt_setds(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
ath_filltxdesc(sc, bf);
}
ath_filltxdesc(sc, bf);
}
-static struct ath_buf *ath_buf_toggle(struct ath_softc_tgt *sc,
+static struct ath_
tx_
buf *ath_buf_toggle(struct ath_softc_tgt *sc,
struct ath_tx_buf *bf,
a_uint8_t retry)
{
struct ath_tx_buf *bf,
a_uint8_t retry)
{
@@
-370,11
+368,10
@@
static void ath_buf_set_rate(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
struct ath_hal *ah = sc->sc_ah;
const HAL_RATE_TABLE *rt;
{
struct ath_hal *ah = sc->sc_ah;
const HAL_RATE_TABLE *rt;
- struct ath_desc *ds = bf->bf_desc;
+ struct ath_
tx_
desc *ds = bf->bf_desc;
HAL_11N_RATE_SERIES series[4];
a_int32_t i, flags;
a_uint8_t rix, cix, rtsctsrate;
HAL_11N_RATE_SERIES series[4];
a_int32_t i, flags;
a_uint8_t rix, cix, rtsctsrate;
- a_uint32_t ctsduration = 0;
a_int32_t prot_mode = AH_FALSE;
rt = sc->sc_currates;
a_int32_t prot_mode = AH_FALSE;
rt = sc->sc_currates;
@@
-389,7
+386,7
@@
static void ath_buf_set_rate(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
cix = rt->info[sc->sc_protrix].controlRate;
prot_mode = AH_TRUE;
} else {
cix = rt->info[sc->sc_protrix].controlRate;
prot_mode = AH_TRUE;
} else {
- if (ath_hal_
htsupported(ah
) && (!bf->bf_ismcast))
+ if (ath_hal_
getcapability(ah, HAL_CAP_HT
) && (!bf->bf_ismcast))
flags = HAL_TXDESC_RTSENA;
for (i = 4; i--;) {
flags = HAL_TXDESC_RTSENA;
for (i = 4; i--;) {
@@
-446,8
+443,8
@@
static void ath_buf_set_rate(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
rtsctsrate = rt->info[cix].rateCode |
(bf->bf_shpream ? rt->info[cix].shortPreamble : 0);
rtsctsrate = rt->info[cix].rateCode |
(bf->bf_shpream ? rt->info[cix].shortPreamble : 0);
- a
th_hal_set11n_ratescenario(ah,
ds, 1,
- rtsctsrate,
ctsduration,
+ a
h->ah_set11nRateScenario(
ds, 1,
+ rtsctsrate,
series, 4,
flags);
}
series, 4,
flags);
}
@@
-532,7
+529,7
@@
void ath_tx_status_clear(struct ath_softc_tgt *sc)
}
}
}
}
-st
ruct WMI_TXSTATUS_EVENT*
ath_tx_status_get(struct ath_softc_tgt *sc)
+st
atic WMI_TXSTATUS_EVENT *
ath_tx_status_get(struct ath_softc_tgt *sc)
{
WMI_TXSTATUS_EVENT *txs = NULL;
int i;
{
WMI_TXSTATUS_EVENT *txs = NULL;
int i;
@@
-620,9
+617,10
@@
void ath_tx_status_send(struct ath_softc_tgt *sc)
static void owltgt_tx_process_cabq(struct ath_softc_tgt *sc, struct ath_txq *txq)
{
static void owltgt_tx_process_cabq(struct ath_softc_tgt *sc, struct ath_txq *txq)
{
- ath_hal_intrset(sc->sc_ah, sc->sc_imask & ~HAL_INT_SWBA);
+ struct ath_hal *ah = sc->sc_ah;
+ ah->ah_setInterrupts(ah, sc->sc_imask & ~HAL_INT_SWBA);
owltgt_tx_processq(sc, txq, OWL_TXQ_ACTIVE);
owltgt_tx_processq(sc, txq, OWL_TXQ_ACTIVE);
- a
th_hal_intrset(sc->sc_
ah, sc->sc_imask);
+ a
h->ah_setInterrupts(
ah, sc->sc_imask);
}
void owl_tgt_tx_tasklet(TQUEUE_ARG data)
}
void owl_tgt_tx_tasklet(TQUEUE_ARG data)
@@
-652,6
+650,7
@@
void owltgt_tx_processq(struct ath_softc_tgt *sc, struct ath_txq *txq,
{
struct ath_tx_buf *bf;
struct ath_tx_desc *ds;
{
struct ath_tx_buf *bf;
struct ath_tx_desc *ds;
+ struct ath_hal *ah = sc->sc_ah;
HAL_STATUS status;
for (;;) {
HAL_STATUS status;
for (;;) {
@@
-664,7
+663,7
@@
void owltgt_tx_processq(struct ath_softc_tgt *sc, struct ath_txq *txq,
bf = asf_tailq_first(&txq->axq_q);
ds = bf->bf_lastds;
bf = asf_tailq_first(&txq->axq_q);
ds = bf->bf_lastds;
- status = a
th_hal_txprocdesc(sc->sc_
ah, ds);
+ status = a
h->ah_procTxDesc(
ah, ds);
if (status == HAL_EINPROGRESS) {
if (txqstate == OWL_TXQ_ACTIVE)
if (status == HAL_EINPROGRESS) {
if (txqstate == OWL_TXQ_ACTIVE)
@@
-760,7
+759,7
@@
static struct ieee80211_node_target * ath_tgt_find_node(struct ath_softc_tgt *sc
return NULL;
}
return NULL;
}
-static struct ath_
buf* ath
_buf_alloc(struct ath_softc_tgt *sc)
+static struct ath_
tx_buf* ath_tx
_buf_alloc(struct ath_softc_tgt *sc)
{
struct ath_tx_buf *bf = NULL;
{
struct ath_tx_buf *bf = NULL;
@@
-775,7
+774,7
@@
static struct ath_buf* ath_buf_alloc(struct ath_softc_tgt *sc)
return bf;
}
return bf;
}
-struct ath_buf* ath_tgt_tx_prepare(struct ath_softc_tgt *sc,
+struct ath_
tx_
buf* ath_tgt_tx_prepare(struct ath_softc_tgt *sc,
adf_nbuf_t skb, ath_data_hdr_t *dh)
{
struct ath_tx_buf *bf;
adf_nbuf_t skb, ath_data_hdr_t *dh)
{
struct ath_tx_buf *bf;
@@
-792,7
+791,7
@@
struct ath_buf* ath_tgt_tx_prepare(struct ath_softc_tgt *sc,
return NULL;
}
return NULL;
}
- bf = ath_buf_alloc(sc);
+ bf = ath_
tx_
buf_alloc(sc);
if (!bf) {
__stats(sc, tx_nobufs);
return NULL;
if (!bf) {
__stats(sc, tx_nobufs);
return NULL;
@@
-803,7
+802,7
@@
struct ath_buf* ath_tgt_tx_prepare(struct ath_softc_tgt *sc,
bf->bf_keytype = dh->keytype;
bf->bf_keyix = dh->keyix;
bf->bf_protmode = dh->flags & (IEEE80211_PROT_RTSCTS | IEEE80211_PROT_CTSONLY);
bf->bf_keytype = dh->keytype;
bf->bf_keyix = dh->keyix;
bf->bf_protmode = dh->flags & (IEEE80211_PROT_RTSCTS | IEEE80211_PROT_CTSONLY);
- bf->bf_node =
(struct ath_node_target *)
ni;
+ bf->bf_node = ni;
adf_nbuf_queue_add(&bf->bf_skbhead, skb);
skb = adf_nbuf_queue_first(&(bf->bf_skbhead));
adf_nbuf_queue_add(&bf->bf_skbhead, skb);
skb = adf_nbuf_queue_first(&(bf->bf_skbhead));
@@
-887,22
+886,22
@@
static void ath_tgt_txq_add_ucast(struct ath_softc_tgt *sc, struct ath_tx_buf *b
txq = bf->bf_txq;
txq = bf->bf_txq;
- status = a
th_hal_txprocdesc(sc->sc_
ah, bf->bf_lastds);
+ status = a
h->ah_procTxDesc(
ah, bf->bf_lastds);
ATH_TXQ_INSERT_TAIL(txq, bf, bf_list);
if (txq->axq_link == NULL) {
ATH_TXQ_INSERT_TAIL(txq, bf, bf_list);
if (txq->axq_link == NULL) {
- a
th_hal_puttxbuf
(ah, txq->axq_qnum, ATH_BUF_GET_DESC_PHY_ADDR(bf));
+ a
h->ah_setTxDP
(ah, txq->axq_qnum, ATH_BUF_GET_DESC_PHY_ADDR(bf));
} else {
*txq->axq_link = ATH_BUF_GET_DESC_PHY_ADDR(bf);
txe_val = OS_REG_READ(ah, 0x840);
if (!(txe_val & (1<< txq->axq_qnum)))
} else {
*txq->axq_link = ATH_BUF_GET_DESC_PHY_ADDR(bf);
txe_val = OS_REG_READ(ah, 0x840);
if (!(txe_val & (1<< txq->axq_qnum)))
- a
th_hal_puttxbuf
(ah, txq->axq_qnum, ATH_BUF_GET_DESC_PHY_ADDR(bf));
+ a
h->ah_setTxDP
(ah, txq->axq_qnum, ATH_BUF_GET_DESC_PHY_ADDR(bf));
}
txq->axq_link = &bf->bf_lastds->ds_link;
}
txq->axq_link = &bf->bf_lastds->ds_link;
- a
th_hal_txstart
(ah, txq->axq_qnum);
+ a
h->ah_startTxDma
(ah, txq->axq_qnum);
}
static a_int32_t ath_tgt_txbuf_setup(struct ath_softc_tgt *sc,
}
static a_int32_t ath_tgt_txbuf_setup(struct ath_softc_tgt *sc,
@@
-910,12
+909,8
@@
static a_int32_t ath_tgt_txbuf_setup(struct ath_softc_tgt *sc,
ath_data_hdr_t *dh)
{
ath_data_hdr_t *dh)
{
- struct ath_node_target *an = ATH_NODE_TARGET(bf->bf_node);
struct ieee80211_frame *wh = ATH_SKB2_WH(bf->bf_skb);
struct ieee80211_frame *wh = ATH_SKB2_WH(bf->bf_skb);
- struct ieee80211_node_target *ni = (struct ieee80211_node_target *)an;
- struct ieee80211vap_target *vap = ni->ni_vap;
- struct ieee80211com_target *ic = &sc->sc_ic;
- a_int32_t retval, fragno = 0;
+ a_int32_t retval;
a_uint32_t flags = adf_os_ntohl(dh->flags);
ath_tgt_tx_seqno_normal(bf);
a_uint32_t flags = adf_os_ntohl(dh->flags);
ath_tgt_tx_seqno_normal(bf);
@@
-940,7
+935,7
@@
static a_int32_t ath_tgt_txbuf_setup(struct ath_softc_tgt *sc,
}
static a_int32_t
}
static a_int32_t
-ath_get_pktlen(struct ath_buf *bf, a_int32_t hdrlen)
+ath_get_pktlen(struct ath_
tx_
buf *bf, a_int32_t hdrlen)
{
adf_nbuf_t skb = bf->bf_skb;
a_int32_t pktlen;
{
adf_nbuf_t skb = bf->bf_skb;
a_int32_t pktlen;
@@
-957,7
+952,7
@@
ath_get_pktlen(struct ath_buf *bf, a_int32_t hdrlen)
void
ath_tgt_tx_send_normal(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
void
ath_tgt_tx_send_normal(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
- struct ath_node_target *an =
bf->bf_node
;
+ struct ath_node_target *an =
ATH_NODE_TARGET(bf->bf_node)
;
struct ath_rc_series rcs[4];
struct ath_rc_series mrcs[4];
a_int32_t shortPreamble = 0;
struct ath_rc_series rcs[4];
struct ath_rc_series mrcs[4];
a_int32_t shortPreamble = 0;
@@
-970,14
+965,14
@@
ath_tgt_tx_send_normal(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
ath_tgt_rate_findrate(sc, an, shortPreamble,
0, 0, 0, 0, 0,
rcs, &isProbe);
ath_tgt_rate_findrate(sc, an, shortPreamble,
0, 0, 0, 0, 0,
rcs, &isProbe);
- memcpy(bf->bf_rcs, rcs, sizeof(rcs));
+
ath_hal_
memcpy(bf->bf_rcs, rcs, sizeof(rcs));
} else {
mrcs[1].tries = mrcs[2].tries = mrcs[3].tries = 0;
mrcs[1].rix = mrcs[2].rix = mrcs[3].rix = 0;
mrcs[0].rix = 0;
mrcs[0].tries = 1;
mrcs[0].flags = 0;
} else {
mrcs[1].tries = mrcs[2].tries = mrcs[3].tries = 0;
mrcs[1].rix = mrcs[2].rix = mrcs[3].rix = 0;
mrcs[0].rix = 0;
mrcs[0].tries = 1;
mrcs[0].flags = 0;
- memcpy(bf->bf_rcs, mrcs, sizeof(mrcs));
+
ath_hal_
memcpy(bf->bf_rcs, mrcs, sizeof(mrcs));
}
ath_buf_set_rate(sc, bf);
}
ath_buf_set_rate(sc, bf);
@@
-988,12
+983,13
@@
static void
ath_tx_freebuf(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
a_int32_t i ;
ath_tx_freebuf(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
a_int32_t i ;
- struct ath_desc *bfd = NULL;
+ struct ath_tx_desc *bfd = NULL;
+ struct ath_hal *ah = sc->sc_ah;
for (bfd = bf->bf_desc, i = 0; i < bf->bf_dmamap_info.nsegs; bfd++, i++) {
for (bfd = bf->bf_desc, i = 0; i < bf->bf_dmamap_info.nsegs; bfd++, i++) {
- a
th_hal_clr11n_aggr(sc->sc_ah,
bfd);
- a
th_hal_set11n_burstduration(sc->sc_ah,
bfd, 0);
- a
th_hal_set11n_virtualmorefrag(sc->sc_ah,
bfd, 0);
+ a
h->ah_clr11nAggr(
bfd);
+ a
h->ah_set11nBurstDuration(
bfd, 0);
+ a
h->ah_set11nVirtualMoreFrag(
bfd, 0);
}
ath_dma_unmap(sc, bf);
}
ath_dma_unmap(sc, bf);
@@
-1022,7
+1018,7
@@
ath_tx_uc_comp(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
}
static void
}
static void
-ath_update_stats(struct ath_softc_tgt *sc, struct ath_buf *bf)
+ath_update_stats(struct ath_softc_tgt *sc, struct ath_
tx_
buf *bf)
{
struct ath_tx_desc *ds = bf->bf_desc;
u_int32_t sr, lr;
{
struct ath_tx_desc *ds = bf->bf_desc;
u_int32_t sr, lr;
@@
-1055,9
+1051,9
@@
ath_tgt_send_mgt(struct ath_softc_tgt *sc,adf_nbuf_t hdr_buf, adf_nbuf_t skb,
struct ath_vap_target *avp;
struct ath_hal *ah = sc->sc_ah;
a_uint8_t rix, txrate, ctsrate, cix = 0xff, *data;
struct ath_vap_target *avp;
struct ath_hal *ah = sc->sc_ah;
a_uint8_t rix, txrate, ctsrate, cix = 0xff, *data;
- a_uint32_t
ivlen = 0, icvlen = 0,
subtype, flags, ctsduration;
+ a_uint32_t subtype, flags, ctsduration;
a_int32_t i, iswep, ismcast, hdrlen, pktlen, try0, len;
a_int32_t i, iswep, ismcast, hdrlen, pktlen, try0, len;
- struct ath_desc *ds=NULL;
+ struct ath_
tx_
desc *ds=NULL;
struct ath_txq *txq=NULL;
struct ath_tx_buf *bf;
HAL_PKT_TYPE atype;
struct ath_txq *txq=NULL;
struct ath_tx_buf *bf;
HAL_PKT_TYPE atype;
@@
-1204,20
+1200,16
@@
ath_tgt_send_mgt(struct ath_softc_tgt *sc,adf_nbuf_t hdr_buf, adf_nbuf_t skb,
flags |= HAL_TXDESC_INTREQ;
flags |= HAL_TXDESC_INTREQ;
- a
th_hal_setuptxdesc(ah,
ds
+ a
h->ah_setupTxDesc(
ds
, pktlen
, hdrlen
, atype
, 60
, txrate, try0
, keyix
, pktlen
, hdrlen
, atype
, 60
, txrate, try0
, keyix
- , 0
, flags
, ctsrate
, flags
, ctsrate
- , ctsduration
- , icvlen
- , ivlen
- , ATH_COMP_PROC_NO_COMP_NO_CCS);
+ , ctsduration);
bf->bf_flags = flags;
bf->bf_flags = flags;
@@
-1226,8
+1218,8
@@
ath_tgt_send_mgt(struct ath_softc_tgt *sc,adf_nbuf_t hdr_buf, adf_nbuf_t skb,
* in Auth frame 3 of Shared Authentication, owl needs this.
*/
if (iswep && (keyix != HAL_TXKEYIX_INVALID) &&
* in Auth frame 3 of Shared Authentication, owl needs this.
*/
if (iswep && (keyix != HAL_TXKEYIX_INVALID) &&
- (wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) == IEEE80211_FC0_SUBTYPE_AUTH)
- a
th_hal_fillkeytxdesc(ah,
ds, mh->keytype);
+
(wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) == IEEE80211_FC0_SUBTYPE_AUTH)
+ a
h->ah_fillKeyTxDesc(
ds, mh->keytype);
ath_filltxdesc(sc, bf);
ath_filltxdesc(sc, bf);
@@
-1237,7
+1229,7
@@
ath_tgt_send_mgt(struct ath_softc_tgt *sc,adf_nbuf_t hdr_buf, adf_nbuf_t skb,
series[i].ChSel = sc->sc_ic.ic_tx_chainmask;
series[i].RateFlags = 0;
}
series[i].ChSel = sc->sc_ic.ic_tx_chainmask;
series[i].RateFlags = 0;
}
- a
th_hal_set11n_ratescenario(ah, ds, 0, ctsrate, ctsduration
, series, 4, 0);
+ a
h->ah_set11nRateScenario(ds, 0, ctsrate
, series, 4, 0);
ath_tgt_txqaddbuf(sc, txq, bf, bf->bf_lastds);
return;
ath_tgt_txqaddbuf(sc, txq, bf, bf->bf_lastds);
return;
@@
-1248,21
+1240,21
@@
fail:
static void
ath_tgt_txqaddbuf(struct ath_softc_tgt *sc,
static void
ath_tgt_txqaddbuf(struct ath_softc_tgt *sc,
- struct ath_txq *txq, struct ath_buf *bf,
- struct ath_desc *lastds)
+ struct ath_txq *txq, struct ath_
tx_
buf *bf,
+ struct ath_
tx_
desc *lastds)
{
struct ath_hal *ah = sc->sc_ah;
ATH_TXQ_INSERT_TAIL(txq, bf, bf_list);
if (txq->axq_link == NULL) {
{
struct ath_hal *ah = sc->sc_ah;
ATH_TXQ_INSERT_TAIL(txq, bf, bf_list);
if (txq->axq_link == NULL) {
- a
th_hal_puttxbuf
(ah, txq->axq_qnum, ATH_BUF_GET_DESC_PHY_ADDR(bf));
+ a
h->ah_setTxDP
(ah, txq->axq_qnum, ATH_BUF_GET_DESC_PHY_ADDR(bf));
} else {
*txq->axq_link = ATH_BUF_GET_DESC_PHY_ADDR(bf);
}
txq->axq_link = &lastds->ds_link;
} else {
*txq->axq_link = ATH_BUF_GET_DESC_PHY_ADDR(bf);
}
txq->axq_link = &lastds->ds_link;
- a
th_hal_txstart
(ah, txq->axq_qnum);
+ a
h->ah_startTxDma
(ah, txq->axq_qnum);
}
void ath_tgt_handle_normal(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
}
void ath_tgt_handle_normal(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
@@
-1295,7
+1287,7
@@
ath_tgt_tx_enqueue(struct ath_txq *txq, struct ath_atx_tid *tid)
}
static void
}
static void
-ath_tgt_txq_schedule(struct ath_softc *sc, struct ath_txq *txq)
+ath_tgt_txq_schedule(struct ath_softc
_tgt
*sc, struct ath_txq *txq)
{
struct ath_atx_tid *tid;
u_int8_t bdone;
{
struct ath_atx_tid *tid;
u_int8_t bdone;
@@
-1363,7
+1355,7
@@
ath_tgt_handle_aggr(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
static void
ath_tgt_tx_sched_normal(struct ath_softc_tgt *sc, ath_atx_tid_t *tid)
{
static void
ath_tgt_tx_sched_normal(struct ath_softc_tgt *sc, ath_atx_tid_t *tid)
{
- struct ath_buf *bf;
+ struct ath_
tx_
buf *bf;
struct ath_txq *txq =TID_TO_ACTXQ(tid->tidno);;
do {
struct ath_txq *txq =TID_TO_ACTXQ(tid->tidno);;
do {
@@
-1382,9
+1374,10
@@
ath_tgt_tx_sched_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid)
{
struct ath_tx_buf *bf, *bf_last;
ATH_AGGR_STATUS status;
{
struct ath_tx_buf *bf, *bf_last;
ATH_AGGR_STATUS status;
- ath_bufhead bf_q;
+ ath_
tx_
bufhead bf_q;
struct ath_txq *txq = TID_TO_ACTXQ(tid->tidno);
struct ath_txq *txq = TID_TO_ACTXQ(tid->tidno);
- struct ath_desc *ds = NULL;
+ struct ath_tx_desc *ds = NULL;
+ struct ath_hal *ah = sc->sc_ah;
int i;
int i;
@@
-1403,7
+1396,7
@@
ath_tgt_tx_sched_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid)
break;
bf = asf_tailq_first(&bf_q);
break;
bf = asf_tailq_first(&bf_q);
- bf_last = asf_tailq_last(&bf_q, ath_bufhead_s);
+ bf_last = asf_tailq_last(&bf_q, ath_
tx_
bufhead_s);
if (bf->bf_nframes == 1) {
if (bf->bf_nframes == 1) {
@@
-1415,7
+1408,7
@@
ath_tgt_tx_sched_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid)
bf->bf_next = NULL;
for(ds = bf->bf_desc; ds <= bf->bf_lastds; ds++)
bf->bf_next = NULL;
for(ds = bf->bf_desc; ds <= bf->bf_lastds; ds++)
- a
th_hal_clr11n_aggr(sc->sc_ah,
ds);
+ a
h->ah_clr11nAggr(
ds);
ath_buf_set_rate(sc, bf);
bf->bf_txq_add(sc, bf);
ath_buf_set_rate(sc, bf);
bf->bf_txq_add(sc, bf);
@@
-1429,12
+1422,12
@@
ath_tgt_tx_sched_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid)
bf->bf_isaggr = 1;
ath_buf_set_rate(sc, bf);
bf->bf_isaggr = 1;
ath_buf_set_rate(sc, bf);
- a
th_hal_set11n_aggr_first(sc->sc_ah,
bf->bf_desc, bf->bf_al,
+ a
h->ah_set11nAggrFirst(
bf->bf_desc, bf->bf_al,
bf->bf_ndelim);
bf->bf_lastds = bf_last->bf_lastds;
for (i = 0; i < bf_last->bf_dmamap_info.nsegs; i++)
bf->bf_ndelim);
bf->bf_lastds = bf_last->bf_lastds;
for (i = 0; i < bf_last->bf_dmamap_info.nsegs; i++)
- a
th_hal_set11n_aggr_last(sc->sc_ah,
&bf_last->bf_descarr[i]);
+ a
h->ah_set11nAggrLast(
&bf_last->bf_descarr[i]);
if (status == ATH_AGGR_8K_LIMITED) {
adf_os_assert(0);
if (status == ATH_AGGR_8K_LIMITED) {
adf_os_assert(0);
@@
-1496,12
+1489,13
@@
static u_int32_t ath_lookup_rate(struct ath_softc_tgt *sc,
}
int ath_tgt_tx_form_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid,
}
int ath_tgt_tx_form_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid,
- ath_bufhead *bf_q)
+ ath_
tx_
bufhead *bf_q)
{
struct ath_tx_buf *bf_first ,*bf_prev = NULL;
int nframes = 0, rl = 0;;
{
struct ath_tx_buf *bf_first ,*bf_prev = NULL;
int nframes = 0, rl = 0;;
- struct ath_desc *ds = NULL;
+ struct ath_
tx_
desc *ds = NULL;
struct ath_tx_buf *bf;
struct ath_tx_buf *bf;
+ struct ath_hal *ah = sc->sc_ah;
u_int16_t aggr_limit = (64*1024 -1), al = 0, bpad = 0, al_delta;
u_int16_t h_baw = tid->baw_size/2, prev_al = 0, prev_frames = 0;
u_int16_t aggr_limit = (64*1024 -1), al = 0, bpad = 0, al_delta;
u_int16_t h_baw = tid->baw_size/2, prev_al = 0, prev_frames = 0;
@@
-1578,7
+1572,7
@@
int ath_tgt_tx_form_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid,
bf_prev = bf;
for(ds = bf->bf_desc; ds <= bf->bf_lastds; ds++)
bf_prev = bf;
for(ds = bf->bf_desc; ds <= bf->bf_lastds; ds++)
- a
th_hal_set11n_aggr_middle(sc->sc_ah,
ds, bf->bf_ndelim);
+ a
h->ah_set11nAggrMiddle(
ds, bf->bf_ndelim);
} while (!asf_tailq_empty(&tid->buf_q));
} while (!asf_tailq_empty(&tid->buf_q));
@@
-1619,10
+1613,10
@@
void ath_tgt_tx_comp_aggr(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
int ba_index;
int nbad = 0;
int nframes = bf->bf_nframes;
int ba_index;
int nbad = 0;
int nframes = bf->bf_nframes;
- struct ath_buf *bf_next;
- ath_bufhead bf_q;
+ struct ath_
tx_
buf *bf_next;
+ ath_
tx_
bufhead bf_q;
int tx_ok = 1;
int tx_ok = 1;
- struct ath_buf *bar = NULL;
+ struct ath_
tx_
buf *bar = NULL;
struct ath_txq *txq;
txq = bf->bf_txq;
struct ath_txq *txq;
txq = bf->bf_txq;
@@
-1702,12
+1696,12
@@
ath_tx_comp_aggr_error(struct ath_softc_tgt *sc, struct ath_tx_buf *bf,
struct ath_tx_desc lastds;
struct ath_tx_desc lastds;
- struct ath_desc *ds = &lastds;
+ struct ath_
tx_
desc *ds = &lastds;
struct ath_rc_series rcs[4];
struct ath_rc_series rcs[4];
- struct ath_buf *bar = NULL;
- struct ath_buf *bf_next;
+ struct ath_
tx_
buf *bar = NULL;
+ struct ath_
tx_
buf *bf_next;
int nframes = bf->bf_nframes;
int nframes = bf->bf_nframes;
- ath_bufhead bf_q;
+ ath_
tx_
bufhead bf_q;
struct ath_txq *txq;
asf_tailq_init(&bf_q);
struct ath_txq *txq;
asf_tailq_init(&bf_q);
@@
-1750,7
+1744,7
@@
ath_tx_comp_cleanup(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
int ba_index;
int nbad = 0;
int nframes = bf->bf_nframes;
int ba_index;
int nbad = 0;
int nframes = bf->bf_nframes;
- struct ath_buf *bf_next;
+ struct ath_
tx_
buf *bf_next;
int tx_ok = 1;
adf_os_mem_copy(ds, bf->bf_lastds, sizeof (struct ath_tx_desc));
int tx_ok = 1;
adf_os_mem_copy(ds, bf->bf_lastds, sizeof (struct ath_tx_desc));
@@
-1801,20
+1795,21
@@
ath_tx_comp_cleanup(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
static void
ath_tx_retry_subframe(struct ath_softc_tgt *sc, struct ath_tx_buf *bf,
static void
ath_tx_retry_subframe(struct ath_softc_tgt *sc, struct ath_tx_buf *bf,
- ath_bufhead *bf_q, struct ath_tx_buf **bar)
+ ath_
tx_
bufhead *bf_q, struct ath_tx_buf **bar)
{
struct ath_node_target *an = ATH_NODE_TARGET(bf->bf_node);
ath_atx_tid_t *tid = ATH_AN_2_TID(an, bf->bf_tidno);
{
struct ath_node_target *an = ATH_NODE_TARGET(bf->bf_node);
ath_atx_tid_t *tid = ATH_AN_2_TID(an, bf->bf_tidno);
- struct ath_desc *ds = NULL;
+ struct ath_tx_desc *ds = NULL;
+ struct ath_hal *ah = sc->sc_ah;
int i = 0;
__stats(sc, txaggr_compretries);
for(ds = bf->bf_desc, i = 0; i < bf->bf_dmamap_info.nsegs; ds++, i++) {
int i = 0;
__stats(sc, txaggr_compretries);
for(ds = bf->bf_desc, i = 0; i < bf->bf_dmamap_info.nsegs; ds++, i++) {
- a
th_hal_clr11n_aggr(sc->sc_ah,
ds);
- a
th_hal_set11n_burstduration(sc->sc_ah,
ds, 0);
- a
th_hal_set11n_virtualmorefrag(sc->sc_ah,
ds, 0);
+ a
h->ah_clr11nAggr(
ds);
+ a
h->ah_set11nBurstDuration(
ds, 0);
+ a
h->ah_set11nVirtualMoreFrag(
ds, 0);
}
if (bf->bf_retries >= OWLMAX_RETRIES) {
}
if (bf->bf_retries >= OWLMAX_RETRIES) {
@@
-1885,7
+1880,7
@@
ath_tx_comp_unaggr(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
struct ath_node_target *an = ATH_NODE_TARGET(bf->bf_node);
ath_atx_tid_t *tid = ATH_AN_2_TID(an, bf->bf_tidno);
{
struct ath_node_target *an = ATH_NODE_TARGET(bf->bf_node);
ath_atx_tid_t *tid = ATH_AN_2_TID(an, bf->bf_tidno);
- struct ath_desc *ds = bf->bf_lastds;
+ struct ath_
tx_
desc *ds = bf->bf_lastds;
ath_update_stats(sc, bf);
ath_rate_tx_complete(sc, an, ds, bf->bf_rcs, 1, 0);
ath_update_stats(sc, bf);
ath_rate_tx_complete(sc, an, ds, bf->bf_rcs, 1, 0);
@@
-2060,7
+2055,7
@@
static void ath_bar_retry(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
static void ath_bar_tx_comp(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
static void ath_bar_tx_comp(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
{
- struct ath_desc *ds = bf->bf_lastds;
+ struct ath_
tx_
desc *ds = bf->bf_lastds;
struct ath_node_target *an;
ath_atx_tid_t *tid;
struct ath_txq *txq;
struct ath_node_target *an;
ath_atx_tid_t *tid;
struct ath_txq *txq;
@@
-2086,7
+2081,8
@@
static void ath_bar_tx(struct ath_softc_tgt *sc,
adf_nbuf_t skb;
struct ieee80211_frame_bar *bar;
u_int8_t min_rate;
adf_nbuf_t skb;
struct ieee80211_frame_bar *bar;
u_int8_t min_rate;
- struct ath_desc *ds, *ds0;
+ struct ath_tx_desc *ds, *ds0;
+ struct ath_hal *ah = sc->sc_ah;
HAL_11N_RATE_SERIES series[4];
int i = 0;
adf_nbuf_queue_t skbhead;
HAL_11N_RATE_SERIES series[4];
int i = 0;
adf_nbuf_queue_t skbhead;
@@
-2095,7
+2091,7
@@
static void ath_bar_tx(struct ath_softc_tgt *sc,
__stats(sc, tx_bars);
__stats(sc, tx_bars);
-
mem
set(&series, 0, sizeof(series));
+
adf_os_mem_
set(&series, 0, sizeof(series));
ath_aggr_pause_tid(sc, tid);
ath_aggr_pause_tid(sc, tid);
@@
-2128,7
+2124,7
@@
static void ath_bar_tx(struct ath_softc_tgt *sc,
adf_nbuf_dmamap_info(bf->bf_dmamap, &bf->bf_dmamap_info);
ds = bf->bf_desc;
adf_nbuf_dmamap_info(bf->bf_dmamap, &bf->bf_dmamap_info);
ds = bf->bf_desc;
- a
th_hal_setuptxdesc(sc->sc_ah,
ds
+ a
h->ah_setupTxDesc(
ds
, adf_nbuf_len(skb) + IEEE80211_CRC_LEN
, 0
, HAL_PKT_TYPE_NORMAL
, adf_nbuf_len(skb) + IEEE80211_CRC_LEN
, 0
, HAL_PKT_TYPE_NORMAL
@@
-2136,18
+2132,16
@@
static void ath_bar_tx(struct ath_softc_tgt *sc,
, min_rate
, ATH_TXMAXTRY
, bf->bf_keyix
, min_rate
, ATH_TXMAXTRY
, bf->bf_keyix
- , 0
, HAL_TXDESC_INTREQ
| HAL_TXDESC_CLRDMASK
, HAL_TXDESC_INTREQ
| HAL_TXDESC_CLRDMASK
- , 0, 0, 0, 0
- , ATH_COMP_PROC_NO_COMP_NO_CCS);
+ , 0, 0);
skbhead = bf->bf_skbhead;
bf->bf_isaggr = 0;
bf->bf_next = NULL;
for (ds0 = ds, i=0; i < bf->bf_dmamap_info.nsegs; ds0++, i++) {
skbhead = bf->bf_skbhead;
bf->bf_isaggr = 0;
bf->bf_next = NULL;
for (ds0 = ds, i=0; i < bf->bf_dmamap_info.nsegs; ds0++, i++) {
- a
th_hal_clr11n_aggr(sc->sc_ah,
ds0);
+ a
h->ah_clr11nAggr(
ds0);
}
ath_filltxdesc(sc, bf);
}
ath_filltxdesc(sc, bf);
@@
-2158,6
+2152,6
@@
static void ath_bar_tx(struct ath_softc_tgt *sc,
series[i].ChSel = sc->sc_ic.ic_tx_chainmask;
}
series[i].ChSel = sc->sc_ic.ic_tx_chainmask;
}
- a
th_hal_set11n_ratescenario(sc->sc_ah, bf->bf_desc, 0
, 0, 0, series, 4, 4);
+ a
h->ah_set11nRateScenario(bf->bf_desc
, 0, 0, series, 4, 4);
ath_tgt_txq_add_ucast(sc, bf);
}
ath_tgt_txq_add_ucast(sc, bf);
}