24 #define AR_BufLen 0x00000fff 62 if (!
isr && !sync_cause)
90 if (
isr == 0xffffffff) {
119 "receive FIFO overrun interrupt\n");
132 ah->intr_gen_timer_trigger =
135 ah->intr_gen_timer_thresh =
138 if (
ah->intr_gen_timer_trigger)
155 "received PCI FATAL interrupt\n");
159 "received PCI PERR interrupt\n");
165 "AR_INTR_SYNC_RADM_CPL_TIMEOUT\n");
172 "AR_INTR_SYNC_LOCAL_TIMEOUT\n");
183 int is_firstseg,
int is_lastseg,
184 const void *ds0,
u32 buf_addr,
193 }
else if (is_lastseg) {
204 ads->ds_txstatus0 = ads->ds_txstatus1 = 0;
205 ads->ds_txstatus2 = ads->ds_txstatus3 = 0;
206 ads->ds_txstatus4 = ads->ds_txstatus5 = 0;
207 ads->ds_txstatus6 = ads->ds_txstatus7 = 0;
208 ads->ds_txstatus8 = ads->ds_txstatus9 = 0;
217 status = *(
volatile typeof(ads->ds_txstatus9) *)&(ads->ds_txstatus9);
231 status = *(
volatile typeof(ads->ds_txstatus0) *)&(ads->ds_txstatus0);
237 ts->
ba_low = ads->AR_BaBitmapLow;
238 ts->
ba_high = ads->AR_BaBitmapHigh;
241 status = *(
volatile typeof(ads->ds_txstatus1) *)&(ads->ds_txstatus1);
270 status = *(
volatile typeof(ads->ds_txstatus5) *)&(ads->ds_txstatus5);
276 ts->
evm0 = ads->AR_TxEVM0;
277 ts->
evm1 = ads->AR_TxEVM1;
278 ts->
evm2 = ads->AR_TxEVM2;
329 u32 durUpdateEn,
u32 rtsctsRate,
378 last_ads->ds_ctl2 = ads->ds_ctl2;
379 last_ads->ds_ctl3 = ads->ds_ctl3;
434 memset(&(ads->
u), 0,
sizeof(ads->
u));
#define ATH9K_TX_DATA_UNDERRUN
#define ATH9K_TXDESC_NOACK
#define AR_INTR_SYNC_CAUSE_CLR
#define ATH9K_TXDESC_EXT_ONLY
#define ATH9K_TXDESC_VEOL
#define AR_INTR_ASYNC_CAUSE
#define ATH9K_TXDESC_CTSENA
static void ar9002_hw_clr11n_aggr(struct ath_hw *ah __unused, void *ds)
static void ar9002_hw_set11n_aggr_middle(struct ath_hw *ah __unused, void *ds, u32 numDelims)
static void ar9002_hw_rx_enable(struct ath_hw *ah)
#define AR_ISR_S5_TIM_TIMER
void(* rx_enable)(struct ath_hw *ah)
uint32_t type
Operating system type.
uint8_t size
Entry size (in 32-bit words)
#define AR_ISR_S5_GENTIMER_THRESH
static void ar9002_hw_fill_txdesc(struct ath_hw *ah __unused, void *ds, u32 seglen, int is_firstseg, int is_lastseg, const void *ds0, u32 buf_addr, unsigned int qcu __unused)
#define ATH9K_TXDESC_EXT_AND_CTL
void(* clr11n_aggr)(struct ath_hw *ah, void *ds)
#define AR_SREV_9285(_ah)
#define set11nTries(_series, _index)
#define ATH9K_TXDESC_INTREQ
#define set11nRate(_series, _index)
#define set11nRateFlags(_series, _index)
void ar9002_hw_attach_mac_ops(struct ath_hw *ah)
static void ar9002_hw_set11n_aggr_last(struct ath_hw *ah __unused, void *ds)
void(* set11n_aggr_last)(struct ath_hw *ah, void *ds)
static void ar9002_hw_set11n_ratescenario(struct ath_hw *ah __unused, void *ds, void *lastds, u32 durUpdateEn, u32 rtsctsRate, u32 rtsctsDuration __unused, struct ath9k_11n_rate_series series[], u32 nseries __unused, u32 flags)
#define set11nPktDurRTSCTS(_series, _index)
int(* get_isr)(struct ath_hw *ah, enum ath9k_int *masked)
#define AR_ISR_S1_QCU_TXERR
#define AR_ISR_S0_QCU_TXOK
#define AR_ISR_S5_GENTIMER_TRIG
static void ar9002_hw_set_desc_link(void *ds, u32 ds_link)
#define AR_TxDelimUnderrun
void ath9k_hw_setuprxdesc(struct ath_hw *ah, struct ath_desc *ds, u32 size, u32 flags)
#define AR_TxRSSICombined
#define __unused
Declare a variable or data structure as unused.
static int ar9002_hw_get_isr(struct ath_hw *ah, enum ath9k_int *masked)
#define AR_ISR_S0_QCU_TXDESC
static void ar9002_hw_set11n_txdesc(struct ath_hw *ah, void *ds, u32 pktLen, enum ath9k_pkt_type type, u32 txPower, u32 keyIx, enum ath9k_key_type keyType, u32 flags)
#define ATH9K_TX_DESC_CFG_ERR
#define EINPROGRESS
Operation in progress.
#define AR_INTR_SYNC_CAUSE
void(* set11n_ratescenario)(struct ath_hw *ah, void *ds, void *lastds, u32 durUpdateEn, u32 rtsctsRate, u32 rtsctsDuration, struct ath9k_11n_rate_series series[], u32 nseries, u32 flags)
struct ath_hw_ops - callbacks used by hardware code and driver code
void(* set11n_txdesc)(struct ath_hw *ah, void *ds, u32 pktLen, enum ath9k_pkt_type type, u32 txPower, u32 keyIx, enum ath9k_key_type keyType, u32 flags)
#define ATH9K_TXDESC_RTSENA
static void ar9002_hw_set_clrdmask(struct ath_hw *ah __unused, void *ds, int val)
#define AR_ISR_S2_DTIMSYNC
int ath9k_hw_updatetxtriglevel(struct ath_hw *ah, int bIncTrigLevel)
ath9k_hw_updatetxtriglevel - adjusts the frame trigger level
static int ar9002_hw_proc_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_status *ts)
void(* set_clrdmask)(struct ath_hw *ah, void *ds, int val)
#define REG_READ(_ah, _reg)
#define ATH9K_RXDESC_INTREQ
#define AR5416DESC_CONST(_ds)
static struct ath_hw_ops * ath9k_hw_ops(struct ath_hw *ah)
int(* proc_txdesc)(struct ath_hw *ah, void *ds, struct ath_tx_status *ts)
static void ar9002_hw_set11n_aggr_first(struct ath_hw *ah __unused, void *ds, u32 aggrLen)
void(* set11n_aggr_middle)(struct ath_hw *ah, void *ds, u32 numDelims)
#define AR_ExcessiveRetries
#define AR_TxDataUnderrun
#define AR_ISR_S1_QCU_TXEOL
#define REG_WRITE(_ah, _reg, _val)
#define ATH9K_TX_DELIM_UNDERRUN
#define ATH9K_TXERR_XTXOP
#define AR_SREV_9271(_ah)
#define ATH9K_TXERR_TIMER_EXPIRED
#define AR_TxTimerExpired
void(* set11n_aggr_first)(struct ath_hw *ah, void *ds, u32 aggrLen)
static void ar9002_hw_get_desc_link(void *ds, u32 **ds_link)
typeof(acpi_finder=acpi_find)
ACPI table finder.
#define DBG(...)
Print a debugging message.
void(* fill_txdesc)(struct ath_hw *ah, void *ds, u32 seglen, int is_firstseg, int is_is_lastseg, const void *ds0, u32 buf_addr, unsigned int qcu)
#define ATH9K_TXERR_XRETRY
#define ATH9K_TXKEYIX_INVALID
void(* get_desc_link)(void *ds, u32 **link)
void * memset(void *dest, int character, size_t len) __nonnull
void(* set_desc_link)(void *ds, u32 link)