FreeBSD kernel ATH device code
ar5211.h
Go to the documentation of this file.
1/*-
2 * SPDX-License-Identifier: ISC
3 *
4 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
5 * Copyright (c) 2002-2006 Atheros Communications, Inc.
6 *
7 * Permission to use, copy, modify, and/or distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies.
10 *
11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 *
19 * $FreeBSD$
20 */
21#ifndef _ATH_AR5211_H_
22#define _ATH_AR5211_H_
23
24#include "ah_eeprom.h"
25
26#define AR5211_MAGIC 0x19570405
27
28/* Classes for WME streams */
29#define AC_BK 0
30#define AC_BE 1
31#define AC_VI 2
32#define AC_VO 3
33
34/* DCU Transmit Filter macros */
35#define CALC_MMR(dcu, idx) \
36 ( (4 * dcu) + (idx < 32 ? 0 : (idx < 64 ? 1 : (idx < 96 ? 2 : 3))) )
37#define TXBLK_FROM_MMR(mmr) \
38 (AR_D_TXBLK_BASE + ((mmr & 0x1f) << 6) + ((mmr & 0x20) >> 3))
39#define CALC_TXBLK_ADDR(dcu, idx) (TXBLK_FROM_MMR(CALC_MMR(dcu, idx)))
40#define CALC_TXBLK_VALUE(idx) (1 << (idx & 0x1f))
41
42/* MAC register values */
43
44#define INIT_INTERRUPT_MASK \
45 ( AR_IMR_TXERR | AR_IMR_TXOK | AR_IMR_RXORN | \
46 AR_IMR_RXERR | AR_IMR_RXOK | AR_IMR_TXURN | \
47 AR_IMR_HIUERR )
48#define INIT_BEACON_CONTROL \
49 ( (INIT_RESET_TSF << 24) | (INIT_BEACON_EN << 23) | \
50 (INIT_TIM_OFFSET << 16) | INIT_BEACON_PERIOD )
51
52#define INIT_CONFIG_STATUS 0x00000000
53#define INIT_RSSI_THR 0x00000700 /* Missed beacon counter initialized to 0x7 (max is 0xff) */
54#define INIT_IQCAL_LOG_COUNT_MAX 0xF
55#define INIT_BCON_CNTRL_REG 0x00000000
56
57#define INIT_BEACON_PERIOD 0xffff
58#define INIT_TIM_OFFSET 0
59#define INIT_BEACON_EN 0 /* this should be set by AP only when it's ready */
60#define INIT_RESET_TSF 0
61
62/*
63 * Various fifo fill before Tx start, in 64-byte units
64 * i.e. put the frame in the air while still DMAing
65 */
66#define MIN_TX_FIFO_THRESHOLD 0x1
67#define MAX_TX_FIFO_THRESHOLD ((IEEE80211_MAX_LEN / 64) + 1)
68#define INIT_TX_FIFO_THRESHOLD MIN_TX_FIFO_THRESHOLD
69
70/*
71 * Gain support.
72 */
73typedef struct _gainOptStep {
74 int16_t paramVal[4];
75 int32_t stepGain;
76 int8_t stepName[16];
78
79typedef struct {
84
85typedef struct {
86 uint32_t currStepNum;
87 uint32_t currGain;
88 uint32_t targetGain;
89 uint32_t loTrig;
90 uint32_t hiTrig;
91 uint32_t active;
94
95enum {
99};
100
101/*
102 * Header Info - general parameters and
103 * values set for each chipset board solution
104 * that are programmed every reset
105 */
107 struct ath_hal_private ah_priv; /* base class */
108
110
113
114 /*
115 * Runtime state.
116 */
117 uint32_t ah_maskReg; /* copy of AR_IMR */
128 uint32_t ah_tx6PowerInHalfDbm; /* power output for 6Mb tx */
129 uint32_t ah_staId1Defaults; /* STA_ID1 default settings */
131 uint32_t ah_rssiThr; /* RSSI_THR settings */
132
133 u_int ah_sifstime; /* user-specified sifs time */
134 u_int ah_slottime; /* user-specified slot time */
135 u_int ah_acktimeout; /* user-specified ack timeout */
136 u_int ah_ctstimeout; /* user-specified cts timeout */
137 /*
138 * RF Silent handling.
139 */
140 uint32_t ah_gpioSelect; /* GPIO pin to use */
141 uint32_t ah_polarity; /* polarity to disable RF */
142 uint32_t ah_gpioBit; /* after init, prev value */
143};
144#define AH5211(ah) ((struct ath_hal_5211 *)(ah))
145
146struct ath_hal;
147
148extern void ar5211Detach(struct ath_hal *);
149
150extern HAL_BOOL ar5211Reset(struct ath_hal *, HAL_OPMODE,
151 struct ieee80211_channel *, HAL_BOOL bChannelChange,
153 HAL_STATUS *);
154extern HAL_BOOL ar5211PhyDisable(struct ath_hal *);
155extern HAL_BOOL ar5211Disable(struct ath_hal *);
156extern HAL_BOOL ar5211ChipReset(struct ath_hal *,
157 const struct ieee80211_channel *);
158extern HAL_BOOL ar5211PerCalibration(struct ath_hal *, struct ieee80211_channel *, HAL_BOOL *);
159extern HAL_BOOL ar5211PerCalibrationN(struct ath_hal *ah, struct ieee80211_channel *chan,
160 u_int chainMask, HAL_BOOL longCal, HAL_BOOL *isCalDone);
161extern HAL_BOOL ar5211ResetCalValid(struct ath_hal *ah, const struct ieee80211_channel *);
162extern HAL_BOOL ar5211SetTxPowerLimit(struct ath_hal *, uint32_t limit);
163extern HAL_BOOL ar5211CalNoiseFloor(struct ath_hal *,
164 const struct ieee80211_channel *);
166 HAL_ANT_SETTING, const struct ieee80211_channel *);
167extern int16_t ar5211GetNfAdjust(struct ath_hal *,
168 const HAL_CHANNEL_INTERNAL *);
170extern void ar5211InitializeGainValues(struct ath_hal *);
171extern HAL_RFGAIN ar5211GetRfgain(struct ath_hal *);
172extern void ar5211SetPCUConfig(struct ath_hal *);
173
174extern HAL_BOOL ar5211SetTxQueueProps(struct ath_hal *ah, int q,
175 const HAL_TXQ_INFO *qInfo);
176extern HAL_BOOL ar5211GetTxQueueProps(struct ath_hal *ah, int q,
177 HAL_TXQ_INFO *qInfo);
178extern int ar5211SetupTxQueue(struct ath_hal *ah, HAL_TX_QUEUE type,
179 const HAL_TXQ_INFO *qInfo);
180extern HAL_BOOL ar5211ReleaseTxQueue(struct ath_hal *ah, u_int q);
181extern HAL_BOOL ar5211ResetTxQueue(struct ath_hal *ah, u_int q);
182extern uint32_t ar5211GetTxDP(struct ath_hal *, u_int);
183extern HAL_BOOL ar5211SetTxDP(struct ath_hal *, u_int, uint32_t txdp);
185extern HAL_BOOL ar5211StartTxDma(struct ath_hal *, u_int);
186extern HAL_BOOL ar5211StopTxDma(struct ath_hal *, u_int);
187extern uint32_t ar5211NumTxPending(struct ath_hal *, u_int qnum);
190extern HAL_BOOL ar5211SetupTxDesc(struct ath_hal *, struct ath_desc *,
191 u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int txPower,
192 u_int txRate0, u_int txTries0,
193 u_int keyIx, u_int antMode, u_int flags,
194 u_int rtsctsRate, u_int rtsctsDuration,
195 u_int compicvLen, u_int compivLen, u_int comp);
196extern HAL_BOOL ar5211SetupXTxDesc(struct ath_hal *, struct ath_desc *,
197 u_int txRate1, u_int txRetries1,
198 u_int txRate2, u_int txRetries2,
199 u_int txRate3, u_int txRetries3);
200extern HAL_BOOL ar5211FillTxDesc(struct ath_hal *, struct ath_desc *,
201 HAL_DMA_ADDR *bufAddrList, uint32_t *segLenList,
202 u_int descId, u_int qcuId, HAL_BOOL firstSeg, HAL_BOOL lastSeg,
203 const struct ath_desc *ds0);
204extern HAL_STATUS ar5211ProcTxDesc(struct ath_hal *,
205 struct ath_desc *, struct ath_tx_status *);
206extern void ar5211GetTxIntrQueue(struct ath_hal *ah, uint32_t *);
207extern void ar5211IntrReqTxDesc(struct ath_hal *ah, struct ath_desc *);
209 const struct ath_desc *ds0, int *rates, int *tries);
210extern void ar5211SetTxDescLink(struct ath_hal *ah, void *ds,
211 uint32_t link);
212extern void ar5211GetTxDescLink(struct ath_hal *ah, void *ds,
213 uint32_t *link);
214extern void ar5211GetTxDescLinkPtr(struct ath_hal *ah, void *ds,
215 uint32_t **linkptr);
216
217extern uint32_t ar5211GetRxDP(struct ath_hal *, HAL_RX_QUEUE);
218extern void ar5211SetRxDP(struct ath_hal *, uint32_t rxdp, HAL_RX_QUEUE);
219extern void ar5211EnableReceive(struct ath_hal *);
220extern HAL_BOOL ar5211StopDmaReceive(struct ath_hal *);
221extern void ar5211StartPcuReceive(struct ath_hal *, HAL_BOOL);
222extern void ar5211StopPcuReceive(struct ath_hal *);
223extern void ar5211SetMulticastFilter(struct ath_hal *,
224 uint32_t filter0, uint32_t filter1);
225extern HAL_BOOL ar5211ClrMulticastFilterIndex(struct ath_hal *, uint32_t);
226extern HAL_BOOL ar5211SetMulticastFilterIndex(struct ath_hal *, uint32_t);
227extern uint32_t ar5211GetRxFilter(struct ath_hal *);
228extern void ar5211SetRxFilter(struct ath_hal *, uint32_t);
229extern HAL_BOOL ar5211SetupRxDesc(struct ath_hal *, struct ath_desc *,
230 uint32_t, u_int flags);
231extern HAL_STATUS ar5211ProcRxDesc(struct ath_hal *, struct ath_desc *,
232 uint32_t, struct ath_desc *, uint64_t,
233 struct ath_rx_status *);
234
235extern void ar5211GetMacAddress(struct ath_hal *, uint8_t *);
236extern HAL_BOOL ar5211SetMacAddress(struct ath_hal *ah, const uint8_t *);
237extern void ar5211GetBssIdMask(struct ath_hal *, uint8_t *);
238extern HAL_BOOL ar5211SetBssIdMask(struct ath_hal *, const uint8_t *);
239extern HAL_BOOL ar5211EepromRead(struct ath_hal *, u_int off, uint16_t *data);
240extern HAL_BOOL ar5211EepromWrite(struct ath_hal *, u_int off, uint16_t data);
242 uint16_t, HAL_STATUS *);
243extern u_int ar5211GetWirelessModes(struct ath_hal *);
244extern void ar5211EnableRfKill(struct ath_hal *);
245extern uint32_t ar5211GpioGet(struct ath_hal *, uint32_t gpio);
246extern void ar5211GpioSetIntr(struct ath_hal *, u_int, uint32_t ilevel);
247extern HAL_BOOL ar5211GpioCfgOutput(struct ath_hal *, uint32_t gpio,
249extern HAL_BOOL ar5211GpioCfgInput(struct ath_hal *, uint32_t gpio);
250extern HAL_BOOL ar5211GpioSet(struct ath_hal *, uint32_t gpio, uint32_t val);
251extern void ar5211SetLedState(struct ath_hal *, HAL_LED_STATE);
252extern u_int ar5211AntennaGet(struct ath_hal *);
253extern void ar5211WriteAssocid(struct ath_hal *,
254 const uint8_t *bssid, uint16_t assocId);
255extern uint64_t ar5211GetTsf64(struct ath_hal *);
256extern uint32_t ar5211GetTsf32(struct ath_hal *);
257extern void ar5211ResetTsf(struct ath_hal *);
258extern uint32_t ar5211GetMaxTurboRate(struct ath_hal *);
259extern uint32_t ar5211GetRandomSeed(struct ath_hal *);
261extern void ar5211UpdateMibCounters(struct ath_hal *, HAL_MIB_STATS *);
262extern void ar5211EnableHwEncryption(struct ath_hal *);
263extern void ar5211DisableHwEncryption(struct ath_hal *);
264extern HAL_BOOL ar5211SetSlotTime(struct ath_hal *, u_int);
265extern u_int ar5211GetSlotTime(struct ath_hal *);
266extern HAL_BOOL ar5211SetAckTimeout(struct ath_hal *, u_int);
267extern u_int ar5211GetAckTimeout(struct ath_hal *);
268extern HAL_BOOL ar5211SetAckCTSRate(struct ath_hal *, u_int);
269extern u_int ar5211GetAckCTSRate(struct ath_hal *);
270extern HAL_BOOL ar5211SetCTSTimeout(struct ath_hal *, u_int);
271extern u_int ar5211GetCTSTimeout(struct ath_hal *);
272extern HAL_BOOL ar5211SetSifsTime(struct ath_hal *, u_int);
273extern u_int ar5211GetSifsTime(struct ath_hal *);
274extern HAL_BOOL ar5211SetDecompMask(struct ath_hal *, uint16_t, int);
275extern void ar5211SetCoverageClass(struct ath_hal *, uint8_t, int);
276extern HAL_STATUS ar5211SetQuiet(struct ath_hal *, uint32_t, uint32_t,
277 uint32_t, HAL_QUIET_FLAG);
278extern uint32_t ar5211GetCurRssi(struct ath_hal *);
279extern u_int ar5211GetDefAntenna(struct ath_hal *);
280extern void ar5211SetDefAntenna(struct ath_hal *ah, u_int antenna);
284 uint32_t, uint32_t *);
286 uint32_t, uint32_t, HAL_STATUS *);
287extern HAL_BOOL ar5211GetDiagState(struct ath_hal *ah, int request,
288 const void *args, uint32_t argsize,
289 void **result, uint32_t *resultsize);
290extern uint32_t ar5211Get11nExtBusy(struct ath_hal *);
293extern void ar5211SetChainMasks(struct ath_hal *ah, uint32_t, uint32_t);
294extern void ar5211SetNav(struct ath_hal *ah, u_int);
295extern u_int ar5211GetNav(struct ath_hal *ah);
296
297extern void ar5211EnableDfs(struct ath_hal *, HAL_PHYERR_PARAM *);
298extern void ar5211GetDfsThresh(struct ath_hal *, HAL_PHYERR_PARAM *);
299
300extern u_int ar5211GetKeyCacheSize(struct ath_hal *);
301extern HAL_BOOL ar5211IsKeyCacheEntryValid(struct ath_hal *, uint16_t);
302extern HAL_BOOL ar5211ResetKeyCacheEntry(struct ath_hal *, uint16_t entry);
303extern HAL_BOOL ar5211SetKeyCacheEntry(struct ath_hal *, uint16_t entry,
304 const HAL_KEYVAL *, const uint8_t *mac,
305 int xorKey);
307 uint16_t, const uint8_t *);
308
309extern HAL_BOOL ar5211SetPowerMode(struct ath_hal *, uint32_t powerRequest,
310 int setChip);
312
313extern void ar5211SetBeaconTimers(struct ath_hal *,
314 const HAL_BEACON_TIMERS *);
315extern void ar5211BeaconInit(struct ath_hal *, uint32_t, uint32_t);
316extern void ar5211SetStaBeaconTimers(struct ath_hal *,
317 const HAL_BEACON_STATE *);
318extern void ar5211ResetStaBeaconTimers(struct ath_hal *);
319extern uint64_t ar5211GetNextTBTT(struct ath_hal *);
320
323extern HAL_INT ar5211GetInterrupts(struct ath_hal *);
324extern HAL_INT ar5211SetInterrupts(struct ath_hal *, HAL_INT ints);
325
326extern const HAL_RATE_TABLE *ar5211GetRateTable(struct ath_hal *, u_int mode);
327
328extern HAL_BOOL ar5211AniControl(struct ath_hal *, HAL_ANI_CMD, int );
329extern void ar5211RxMonitor(struct ath_hal *, const HAL_NODE_STATS *,
330 const struct ieee80211_channel *);
331extern void ar5211AniPoll(struct ath_hal *, const struct ieee80211_channel *);
332extern void ar5211MibEvent(struct ath_hal *, const HAL_NODE_STATS *);
333#endif /* _ATH_AR5211_H_ */
HAL_STATUS
Definition: ah.h:71
HAL_PKT_TYPE
Definition: ah.h:398
#define HAL_NUM_TX_QUEUES
Definition: ah.h:251
HAL_RX_QUEUE
Definition: ah.h:258
HAL_OPMODE
Definition: ah.h:764
HAL_POWER_MODE
Definition: ah.h:439
HAL_CAPABILITY_TYPE
Definition: ah.h:98
HAL_RESET_TYPE
Definition: ah.h:771
HAL_ANT_SETTING
Definition: ah.h:758
HAL_GPIO_MUX_TYPE
Definition: ah.h:582
HAL_TX_QUEUE
Definition: ah.h:240
HAL_ANI_CMD
Definition: ah.h:970
HAL_QUIET_FLAG
Definition: ah.h:1090
HAL_INT
Definition: ah.h:472
HAL_RFGAIN
Definition: ah.h:622
HAL_BOOL
Definition: ah.h:93
HAL_LED_STATE
Definition: ah.h:227
#define IEEE80211_ADDR_LEN
Definition: ah_internal.h:501
uint32_t HAL_DMA_ADDR
Definition: ah_osdep.h:57
HAL_BOOL ar5211GetTxCompletionRates(struct ath_hal *ah, const struct ath_desc *ds0, int *rates, int *tries)
Definition: ar5211_xmit.c:674
HAL_BOOL ar5211ResetTxQueue(struct ath_hal *ah, u_int q)
Definition: ar5211_xmit.c:234
HAL_BOOL ar5211GpioSet(struct ath_hal *, uint32_t gpio, uint32_t val)
Definition: ar5211_misc.c:233
void ar5211SetRxDP(struct ath_hal *, uint32_t rxdp, HAL_RX_QUEUE)
Definition: ar5211_recv.c:46
HAL_BOOL ar5211FillTxDesc(struct ath_hal *, struct ath_desc *, HAL_DMA_ADDR *bufAddrList, uint32_t *segLenList, u_int descId, u_int qcuId, HAL_BOOL firstSeg, HAL_BOOL lastSeg, const struct ath_desc *ds0)
Definition: ar5211_xmit.c:580
void ar5211SetCoverageClass(struct ath_hal *, uint8_t, int)
Definition: ar5211_misc.c:555
u_int ar5211GetAckCTSRate(struct ath_hal *)
Definition: ar5211_misc.c:501
u_int ar5211GetNav(struct ath_hal *ah)
Definition: ar5211_misc.c:741
void ar5211Detach(struct ath_hal *)
HAL_BOOL ar5211SetTxPowerLimit(struct ath_hal *, uint32_t limit)
void ar5211SetChainMasks(struct ath_hal *ah, uint32_t, uint32_t)
Definition: ar5211_misc.c:722
HAL_BOOL ar5211SetSifsTime(struct ath_hal *, u_int)
Definition: ar5211_misc.c:425
HAL_BOOL ar5211SetMulticastFilterIndex(struct ath_hal *, uint32_t)
Definition: ar5211_recv.c:140
HAL_BOOL ar5211SetMacAddress(struct ath_hal *ah, const uint8_t *)
Definition: ar5211_misc.c:44
uint32_t ar5211GetRandomSeed(struct ath_hal *)
Definition: ar5211_misc.c:379
HAL_BOOL ar5211CalNoiseFloor(struct ath_hal *, const struct ieee80211_channel *)
Definition: ar5211_reset.c:960
HAL_BOOL ar5211GpioCfgOutput(struct ath_hal *, uint32_t gpio, HAL_GPIO_MUX_TYPE)
Definition: ar5211_misc.c:197
HAL_BOOL ar5211SetupRxDesc(struct ath_hal *, struct ath_desc *, uint32_t, u_int flags)
Definition: ar5211_recv.c:180
void ar5211IntrReqTxDesc(struct ath_hal *ah, struct ath_desc *)
Definition: ar5211_xmit.c:572
void ar5211GetBssIdMask(struct ath_hal *, uint8_t *)
Definition: ar5211_misc.c:53
HAL_BOOL ar5211EepromWrite(struct ath_hal *, u_int off, uint16_t data)
void ar5211SetStaBeaconTimers(struct ath_hal *, const HAL_BEACON_STATE *)
HAL_BOOL ar5211UpdateTxTrigLevel(struct ath_hal *, HAL_BOOL)
Definition: ar5211_xmit.c:40
HAL_RFGAIN ar5211GetRfgain(struct ath_hal *)
uint32_t ar5211GetMaxTurboRate(struct ath_hal *)
void ar5211GpioSetIntr(struct ath_hal *, u_int, uint32_t ilevel)
Definition: ar5211_misc.c:266
const HAL_RATE_TABLE * ar5211GetRateTable(struct ath_hal *, u_int mode)
Definition: ar5211_phy.c:85
HAL_BOOL ar5211SetRegulatoryDomain(struct ath_hal *, uint16_t, HAL_STATUS *)
Definition: ar5211_misc.c:101
void ar5211WriteAssocid(struct ath_hal *, const uint8_t *bssid, uint16_t assocId)
Definition: ar5211_misc.c:315
uint64_t ar5211GetNextTBTT(struct ath_hal *)
Definition: ar5211_beacon.c:38
HAL_BOOL ar5211ChipReset(struct ath_hal *, const struct ieee80211_channel *)
Definition: ar5211_reset.c:596
HAL_STATUS ar5211SetQuiet(struct ath_hal *, uint32_t, uint32_t, uint32_t, HAL_QUIET_FLAG)
Definition: ar5211_misc.c:560
u_int ar5211GetWirelessModes(struct ath_hal *)
Definition: ar5211_misc.c:143
uint32_t ar5211GetTxDP(struct ath_hal *, u_int)
Definition: ar5211_xmit.c:404
HAL_BOOL ar5211ReleaseTxQueue(struct ath_hal *ah, u_int q)
Definition: ar5211_xmit.c:200
int16_t ar5211GetNfAdjust(struct ath_hal *, const HAL_CHANNEL_INTERNAL *)
HAL_BOOL ar5211PerCalibrationN(struct ath_hal *ah, struct ieee80211_channel *chan, u_int chainMask, HAL_BOOL longCal, HAL_BOOL *isCalDone)
Definition: ar5211_reset.c:643
HAL_BOOL ar5211SetTxDP(struct ath_hal *, u_int, uint32_t txdp)
Definition: ar5211_xmit.c:414
u_int ar5211GetKeyCacheSize(struct ath_hal *)
u_int ar5211GetSlotTime(struct ath_hal *)
Definition: ar5211_misc.c:468
void ar5211EnableDfs(struct ath_hal *, HAL_PHYERR_PARAM *)
Definition: ar5211_misc.c:728
HAL_BOOL ar5211AniControl(struct ath_hal *, HAL_ANI_CMD, int)
Definition: ar5211_misc.c:570
void ar5211GetTxDescLink(struct ath_hal *ah, void *ds, uint32_t *link)
Definition: ar5211_xmit.c:688
void ar5211EnableReceive(struct ath_hal *)
Definition: ar5211_recv.c:58
HAL_BOOL ar5211IsTxQueueStopped(struct ath_hal *, u_int)
uint64_t ar5211GetTsf64(struct ath_hal *)
Definition: ar5211_misc.c:330
HAL_BOOL ar5211GetPendingInterrupts(struct ath_hal *, HAL_INT *)
void ar5211SetBeaconTimers(struct ath_hal *, const HAL_BEACON_TIMERS *)
Definition: ar5211_beacon.c:49
HAL_INT ar5211GetInterrupts(struct ath_hal *)
HAL_ANT_SETTING ar5211GetAntennaSwitch(struct ath_hal *)
Definition: ar5211_misc.c:613
uint32_t ar5211NumTxPending(struct ath_hal *, u_int qnum)
Definition: ar5211_xmit.c:455
struct _gainOptStep GAIN_OPTIMIZATION_STEP
HAL_BOOL ar5211SetCapability(struct ath_hal *, HAL_CAPABILITY_TYPE, uint32_t, uint32_t, HAL_STATUS *)
Definition: ar5211_misc.c:651
HAL_STATUS ar5211ProcTxDesc(struct ath_hal *, struct ath_desc *, struct ath_tx_status *)
Definition: ar5211_xmit.c:621
HAL_BOOL ar5211SetupXTxDesc(struct ath_hal *, struct ath_desc *, u_int txRate1, u_int txRetries1, u_int txRate2, u_int txRetries2, u_int txRate3, u_int txRetries3)
Definition: ar5211_xmit.c:559
u_int ar5211AntennaGet(struct ath_hal *)
HAL_BOOL ar5211SetAntennaSwitchInternal(struct ath_hal *, HAL_ANT_SETTING, const struct ieee80211_channel *)
void ar5211SetMulticastFilter(struct ath_hal *, uint32_t filter0, uint32_t filter1)
Definition: ar5211_recv.c:110
HAL_BOOL ar5211SetAckTimeout(struct ath_hal *, u_int)
Definition: ar5211_misc.c:475
void ar5211AniPoll(struct ath_hal *, const struct ieee80211_channel *)
Definition: ar5211_misc.c:576
void ar5211DisableHwEncryption(struct ath_hal *)
HAL_BOOL ar5211Disable(struct ath_hal *)
Definition: ar5211_reset.c:572
void ar5211GetTxIntrQueue(struct ath_hal *ah, uint32_t *)
Definition: ar5211_xmit.c:665
HAL_BOOL ar5211StartTxDma(struct ath_hal *, u_int)
Definition: ar5211_xmit.c:434
HAL_STATUS ar5211GetCapability(struct ath_hal *, HAL_CAPABILITY_TYPE, uint32_t, uint32_t *)
Definition: ar5211_misc.c:631
HAL_BOOL ar5211StopDmaReceive(struct ath_hal *)
Definition: ar5211_recv.c:67
HAL_BOOL ar5211IsInterruptPending(struct ath_hal *)
uint32_t ar5211GetRxFilter(struct ath_hal *)
Definition: ar5211_recv.c:160
uint32_t ar5211GetTsf32(struct ath_hal *)
Definition: ar5211_misc.c:358
void ar5211GetDfsThresh(struct ath_hal *, HAL_PHYERR_PARAM *)
Definition: ar5211_misc.c:733
HAL_POWER_MODE ar5211GetPowerMode(struct ath_hal *)
Definition: ar5211_power.c:138
HAL_BOOL ar5211SetCTSTimeout(struct ath_hal *, u_int)
Definition: ar5211_misc.c:522
void ar5211BeaconInit(struct ath_hal *, uint32_t, uint32_t)
Definition: ar5211_beacon.c:66
HAL_BOOL ar5211SetBssIdMask(struct ath_hal *, const uint8_t *)
Definition: ar5211_misc.c:61
void ar5211GetTxDescLinkPtr(struct ath_hal *ah, void *ds, uint32_t **linkptr)
Definition: ar5211_xmit.c:696
uint32_t ar5211Get11nExtBusy(struct ath_hal *)
Definition: ar5211_misc.c:706
HAL_BOOL ar5211ResetDma(struct ath_hal *, HAL_OPMODE)
uint32_t ar5211GetCurRssi(struct ath_hal *)
Definition: ar5211_misc.c:595
HAL_BOOL ar5211PhyDisable(struct ath_hal *)
Definition: ar5211_reset.c:563
void ar5211InitializeGainValues(struct ath_hal *)
void ar5211ResetStaBeaconTimers(struct ath_hal *)
void ar5211UpdateMibCounters(struct ath_hal *, HAL_MIB_STATS *)
Definition: ar5211_misc.c:415
u_int ar5211GetAckTimeout(struct ath_hal *)
Definition: ar5211_misc.c:494
int ar5211SetupTxQueue(struct ath_hal *ah, HAL_TX_QUEUE type, const HAL_TXQ_INFO *qInfo)
Definition: ar5211_xmit.c:114
void ar5211SetLedState(struct ath_hal *, HAL_LED_STATE)
Definition: ar5211_misc.c:289
HAL_BOOL ar5211StopTxDma(struct ath_hal *, u_int)
Definition: ar5211_xmit.c:477
void ar5211StopPcuReceive(struct ath_hal *)
Definition: ar5211_recv.c:99
HAL_BOOL ar5211SetAntennaSwitch(struct ath_hal *, HAL_ANT_SETTING)
Definition: ar5211_misc.c:619
u_int ar5211GetSifsTime(struct ath_hal *)
Definition: ar5211_misc.c:443
HAL_BOOL ar5211GetMibCycleCounts(struct ath_hal *, HAL_SURVEY_SAMPLE *)
Definition: ar5211_misc.c:715
HAL_BOOL ar5211ResetKeyCacheEntry(struct ath_hal *, uint16_t entry)
HAL_STATUS ar5211ProcRxDesc(struct ath_hal *, struct ath_desc *, uint32_t, struct ath_desc *, uint64_t, struct ath_rx_status *)
Definition: ar5211_recv.c:208
@ RFGAIN_NEED_CHANGE
Definition: ar5211.h:98
@ RFGAIN_INACTIVE
Definition: ar5211.h:96
@ RFGAIN_READ_REQUESTED
Definition: ar5211.h:97
HAL_BOOL ar5211ResetCalValid(struct ath_hal *ah, const struct ieee80211_channel *)
Definition: ar5211_reset.c:743
HAL_BOOL ar5211SetupTxDesc(struct ath_hal *, struct ath_desc *, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int txPower, u_int txRate0, u_int txTries0, u_int keyIx, u_int antMode, u_int flags, u_int rtsctsRate, u_int rtsctsDuration, u_int compicvLen, u_int compivLen, u_int comp)
Definition: ar5211_xmit.c:511
void ar5211EnableRfKill(struct ath_hal *)
Definition: ar5211_misc.c:170
u_int ar5211GetCTSTimeout(struct ath_hal *)
Definition: ar5211_misc.c:541
HAL_BOOL ar5211SetSlotTime(struct ath_hal *, u_int)
Definition: ar5211_misc.c:450
uint32_t ar5211GpioGet(struct ath_hal *, uint32_t gpio)
Definition: ar5211_misc.c:251
void ar5211GetMacAddress(struct ath_hal *, uint8_t *)
Definition: ar5211_misc.c:36
void ar5211SetRxFilter(struct ath_hal *, uint32_t)
Definition: ar5211_recv.c:169
HAL_BOOL ar5211SetTxQueueProps(struct ath_hal *ah, int q, const HAL_TXQ_INFO *qInfo)
Definition: ar5211_xmit.c:82
u_int ar5211GetDefAntenna(struct ath_hal *)
Definition: ar5211_misc.c:601
HAL_BOOL ar5211SetPowerMode(struct ath_hal *, uint32_t powerRequest, int setChip)
HAL_BOOL ar5211GetDiagState(struct ath_hal *ah, int request, const void *args, uint32_t argsize, void **result, uint32_t *resultsize)
Definition: ar5211_misc.c:675
HAL_BOOL ar5211GetTxQueueProps(struct ath_hal *ah, int q, HAL_TXQ_INFO *qInfo)
Definition: ar5211_xmit.c:98
void ar5211EnableHwEncryption(struct ath_hal *)
HAL_BOOL ar5211SetKeyCacheEntryMac(struct ath_hal *, uint16_t, const uint8_t *)
HAL_BOOL ar5211Reset(struct ath_hal *, HAL_OPMODE, struct ieee80211_channel *, HAL_BOOL bChannelChange, HAL_RESET_TYPE, HAL_STATUS *)
Definition: ar5211_reset.c:157
HAL_BOOL ar5211GpioCfgInput(struct ath_hal *, uint32_t gpio)
Definition: ar5211_misc.c:215
void ar5211SetNav(struct ath_hal *ah, u_int)
Definition: ar5211_misc.c:753
void ar5211SetTxDescLink(struct ath_hal *ah, void *ds, uint32_t link)
Definition: ar5211_xmit.c:680
uint32_t ar5211GetRxDP(struct ath_hal *, HAL_RX_QUEUE)
Definition: ar5211_recv.c:35
HAL_BOOL ar5211IsKeyCacheEntryValid(struct ath_hal *, uint16_t)
void ar5211StartPcuReceive(struct ath_hal *, HAL_BOOL)
Definition: ar5211_recv.c:89
void ar5211ResetTsf(struct ath_hal *)
Definition: ar5211_misc.c:367
void ar5211MibEvent(struct ath_hal *, const HAL_NODE_STATS *)
Definition: ar5211_misc.c:587
HAL_BOOL ar5211EepromRead(struct ath_hal *, u_int off, uint16_t *data)
Definition: ar5211_misc.c:70
void ar5211RxMonitor(struct ath_hal *, const HAL_NODE_STATS *, const struct ieee80211_channel *)
Definition: ar5211_misc.c:581
HAL_BOOL ar5211DetectCardPresent(struct ath_hal *)
Definition: ar5211_misc.c:394
void ar5211SetPCUConfig(struct ath_hal *)
HAL_BOOL ar5211SetDecompMask(struct ath_hal *, uint16_t, int)
Definition: ar5211_misc.c:548
HAL_BOOL ar5211ClrMulticastFilterIndex(struct ath_hal *, uint32_t)
Definition: ar5211_recv.c:120
void ar5211SetDefAntenna(struct ath_hal *ah, u_int antenna)
Definition: ar5211_misc.c:607
HAL_BOOL ar5211SetAckCTSRate(struct ath_hal *, u_int)
Definition: ar5211_misc.c:507
HAL_INT ar5211SetInterrupts(struct ath_hal *, HAL_INT ints)
HAL_BOOL ar5211GetTransmitFilterIndex(struct ath_hal *, uint32_t)
HAL_BOOL ar5211SetKeyCacheEntry(struct ath_hal *, uint16_t entry, const HAL_KEYVAL *, const uint8_t *mac, int xorKey)
HAL_BOOL ar5211PerCalibration(struct ath_hal *, struct ieee80211_channel *, HAL_BOOL *)
Definition: ar5211_reset.c:736
uint32_t defaultStepNum
Definition: ar5211.h:81
uint32_t numStepsInLadder
Definition: ar5211.h:80
uint32_t active
Definition: ar5211.h:91
uint32_t targetGain
Definition: ar5211.h:88
uint32_t loTrig
Definition: ar5211.h:89
uint32_t hiTrig
Definition: ar5211.h:90
uint32_t currGain
Definition: ar5211.h:87
const GAIN_OPTIMIZATION_STEP * currStep
Definition: ar5211.h:92
uint32_t currStepNum
Definition: ar5211.h:86
Definition: ah.h:783
int8_t stepName[16]
Definition: ar5211.h:76
int16_t paramVal[4]
Definition: ar5211.h:74
int32_t stepGain
Definition: ar5211.h:75
uint32_t ah_gpioBit
Definition: ar5211.h:142
uint32_t ah_rssiThr
Definition: ar5211.h:131
u_int ah_slottime
Definition: ar5211.h:134
u_int ah_sifstime
Definition: ar5211.h:133
uint32_t ah_beaconInterval
Definition: ar5211.h:130
int ah_rfgainState
Definition: ar5211.h:127
uint32_t ah_maskReg
Definition: ar5211.h:117
uint32_t ah_gpioSelect
Definition: ar5211.h:140
u_int ah_acktimeout
Definition: ar5211.h:135
GAIN_VALUES ah_gainValues
Definition: ar5211.h:109
u_int ah_ctstimeout
Definition: ar5211.h:136
uint8_t ah_bssid[IEEE80211_ADDR_LEN]
Definition: ar5211.h:112
uint32_t ah_txDescInterruptMask
Definition: ar5211.h:120
HAL_TX_QUEUE_INFO ah_txq[HAL_NUM_TX_QUEUES]
Definition: ar5211.h:123
uint32_t ah_txEolInterruptMask
Definition: ar5211.h:121
uint32_t ah_txUrnInterruptMask
Definition: ar5211.h:122
HAL_BOOL ah_bIQCalibration
Definition: ar5211.h:126
uint8_t ah_macaddr[IEEE80211_ADDR_LEN]
Definition: ar5211.h:111
HAL_ANT_SETTING ah_diversityControl
Definition: ar5211.h:124
uint32_t ah_txErrInterruptMask
Definition: ar5211.h:119
uint32_t ah_tx6PowerInHalfDbm
Definition: ar5211.h:128
uint32_t ah_txOkInterruptMask
Definition: ar5211.h:118
uint32_t ah_calibrationTime
Definition: ar5211.h:125
struct ath_hal_private ah_priv
Definition: ar5211.h:107
uint32_t ah_staId1Defaults
Definition: ar5211.h:129
uint32_t ah_polarity
Definition: ar5211.h:141
Definition: ah.h:1219