26 #define AR_BufLen 0x00000fff 64 if (!
isr && !sync_cause)
92 if (
isr == 0xffffffff) {
121 "receive FIFO overrun interrupt\n");
134 ah->intr_gen_timer_trigger =
137 ah->intr_gen_timer_thresh =
140 if (
ah->intr_gen_timer_trigger)
157 "received PCI FATAL interrupt\n");
161 "received PCI PERR interrupt\n");
167 "AR_INTR_SYNC_RADM_CPL_TIMEOUT\n");
174 "AR_INTR_SYNC_LOCAL_TIMEOUT\n");
185 int is_firstseg,
int is_lastseg,
186 const void *ds0,
u32 buf_addr,
195 }
else if (is_lastseg) {
206 ads->ds_txstatus0 = ads->ds_txstatus1 = 0;
207 ads->ds_txstatus2 = ads->ds_txstatus3 = 0;
208 ads->ds_txstatus4 = ads->ds_txstatus5 = 0;
209 ads->ds_txstatus6 = ads->ds_txstatus7 = 0;
210 ads->ds_txstatus8 = ads->ds_txstatus9 = 0;
219 status = *(
volatile typeof(ads->ds_txstatus9) *)&(ads->ds_txstatus9);
233 status = *(
volatile typeof(ads->ds_txstatus0) *)&(ads->ds_txstatus0);
239 ts->
ba_low = ads->AR_BaBitmapLow;
240 ts->
ba_high = ads->AR_BaBitmapHigh;
243 status = *(
volatile typeof(ads->ds_txstatus1) *)&(ads->ds_txstatus1);
272 status = *(
volatile typeof(ads->ds_txstatus5) *)&(ads->ds_txstatus5);
278 ts->
evm0 = ads->AR_TxEVM0;
279 ts->
evm1 = ads->AR_TxEVM1;
280 ts->
evm2 = ads->AR_TxEVM2;
331 u32 durUpdateEn,
u32 rtsctsRate,
380 last_ads->ds_ctl2 = ads->ds_ctl2;
381 last_ads->ds_ctl3 = ads->ds_ctl3;
436 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.
uint16_t size
Buffer size.
#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)