iPXE
Macros | Functions
common.h File Reference
#include "../ath.h"
#include "hw.h"
#include "hw-ops.h"

Go to the source code of this file.

Macros

#define WME_NUM_TID   16
 
#define WME_BA_BMP_SIZE   64
 
#define WME_MAX_BA   WME_BA_BMP_SIZE
 
#define ATH_TID_MAX_BUFS   (2 * WME_MAX_BA)
 
#define WME_AC_BE   2
 
#define WME_NUM_AC   1
 
#define ATH_RSSI_DUMMY_MARKER   0x127
 
#define ATH_RSSI_LPF_LEN   10
 
#define RSSI_LPF_THRESHOLD   -20
 
#define ATH_RSSI_EP_MULTIPLIER   (1<<7)
 
#define ATH_EP_MUL(x, mul)   ((x) * (mul))
 
#define ATH_RSSI_IN(x)   (ATH_EP_MUL((x), ATH_RSSI_EP_MULTIPLIER))
 
#define ATH_LPF_RSSI(x, y, len)   ((x != ATH_RSSI_DUMMY_MARKER) ? (((x) * ((len) - 1) + (y)) / (len)) : (y))
 
#define ATH_RSSI_LPF(x, y)
 
#define ATH_EP_RND(x, mul)   ((((x)%(mul)) >= ((mul)/2)) ? ((x) + ((mul) - 1)) / (mul) : (x)/(mul))
 

Functions

 FILE_LICENCE (BSD2)
 
void ath9k_cmn_update_ichannel (struct ath9k_channel *ichan, struct net80211_channel *chan)
 
struct ath9k_channelath9k_cmn_get_curchannel (struct net80211_device *dev, struct ath_hw *ah)
 
void ath9k_cmn_update_txpow (struct ath_hw *ah, u16 cur_txpow, u16 new_txpow, u16 *txpower)
 

Macro Definition Documentation

◆ WME_NUM_TID

#define WME_NUM_TID   16

Definition at line 29 of file common.h.

◆ WME_BA_BMP_SIZE

#define WME_BA_BMP_SIZE   64

Definition at line 30 of file common.h.

◆ WME_MAX_BA

#define WME_MAX_BA   WME_BA_BMP_SIZE

Definition at line 31 of file common.h.

◆ ATH_TID_MAX_BUFS

#define ATH_TID_MAX_BUFS   (2 * WME_MAX_BA)

Definition at line 32 of file common.h.

◆ WME_AC_BE

#define WME_AC_BE   2

Definition at line 34 of file common.h.

◆ WME_NUM_AC

#define WME_NUM_AC   1

Definition at line 35 of file common.h.

◆ ATH_RSSI_DUMMY_MARKER

#define ATH_RSSI_DUMMY_MARKER   0x127

Definition at line 37 of file common.h.

◆ ATH_RSSI_LPF_LEN

#define ATH_RSSI_LPF_LEN   10

Definition at line 38 of file common.h.

◆ RSSI_LPF_THRESHOLD

#define RSSI_LPF_THRESHOLD   -20

Definition at line 39 of file common.h.

◆ ATH_RSSI_EP_MULTIPLIER

#define ATH_RSSI_EP_MULTIPLIER   (1<<7)

Definition at line 40 of file common.h.

◆ ATH_EP_MUL

#define ATH_EP_MUL (   x,
  mul 
)    ((x) * (mul))

Definition at line 41 of file common.h.

◆ ATH_RSSI_IN

#define ATH_RSSI_IN (   x)    (ATH_EP_MUL((x), ATH_RSSI_EP_MULTIPLIER))

Definition at line 42 of file common.h.

◆ ATH_LPF_RSSI

#define ATH_LPF_RSSI (   x,
  y,
  len 
)    ((x != ATH_RSSI_DUMMY_MARKER) ? (((x) * ((len) - 1) + (y)) / (len)) : (y))

Definition at line 43 of file common.h.

◆ ATH_RSSI_LPF

#define ATH_RSSI_LPF (   x,
 
)
Value:
do { \
if ((y) >= RSSI_LPF_THRESHOLD) \
} while (0)
#define ATH_LPF_RSSI(x, y, len)
Definition: common.h:43
#define ATH_RSSI_LPF_LEN
Definition: common.h:38
#define ATH_RSSI_IN(x)
Definition: common.h:42
#define RSSI_LPF_THRESHOLD
Definition: common.h:39

Definition at line 45 of file common.h.

◆ ATH_EP_RND

#define ATH_EP_RND (   x,
  mul 
)    ((((x)%(mul)) >= ((mul)/2)) ? ((x) + ((mul) - 1)) / (mul) : (x)/(mul))

Definition at line 49 of file common.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2  )

◆ ath9k_cmn_update_ichannel()

void ath9k_cmn_update_ichannel ( struct ath9k_channel ichan,
struct net80211_channel chan 
)

Definition at line 29 of file ath9k_common.c.

31 {
32  ichan->channel = chan->center_freq;
33  ichan->chan = chan;
34 
35  if (chan->band == NET80211_BAND_2GHZ) {
36  ichan->chanmode = CHANNEL_G;
38  } else {
39  ichan->chanmode = CHANNEL_A;
41  }
42 }
u16 channel
Definition: hw.h:349
u32 chanmode
Definition: hw.h:351
struct net80211_channel * chan
Definition: hw.h:347
u32 channelFlags
Definition: hw.h:350
#define CHANNEL_A
Definition: ath5k.h:638
#define NET80211_BAND_2GHZ
The 2.4 GHz ISM band, unlicensed in most countries.
Definition: net80211.h:45
#define CHANNEL_G
Definition: ath5k.h:640
u16 center_freq
The center frequency for this channel.
Definition: net80211.h:411
u8 band
The band with which this channel is associated.
Definition: net80211.h:388
#define CHANNEL_OFDM
Definition: ath5k.h:631
#define CHANNEL_5GHZ
Definition: ath5k.h:633
#define CHANNEL_2GHZ
Definition: ath5k.h:632

References net80211_channel::band, net80211_channel::center_freq, ath9k_channel::chan, ath9k_channel::chanmode, ath9k_channel::channel, CHANNEL_2GHZ, CHANNEL_5GHZ, CHANNEL_A, CHANNEL_G, CHANNEL_OFDM, ath9k_channel::channelFlags, and NET80211_BAND_2GHZ.

Referenced by ath9k_cmn_get_curchannel(), and ath9k_config().

◆ ath9k_cmn_get_curchannel()

struct ath9k_channel* ath9k_cmn_get_curchannel ( struct net80211_device dev,
struct ath_hw ah 
)

Definition at line 47 of file ath9k_common.c.

49 {
50  struct net80211_channel *curchan = dev->channels + dev->channel;
51  struct ath9k_channel *channel;
52  u8 chan_idx;
53 
54  chan_idx = curchan->hw_value;
55  channel = &ah->channels[chan_idx];
57 
58  return channel;
59 }
u8 channel
The channel currently in use, as an index into the channels array.
Definition: net80211.h:812
u16 hw_value
Hardware channel value.
Definition: net80211.h:414
uint32_t channel
RNDIS channel.
Definition: netvsc.h:14
void ath9k_cmn_update_ichannel(struct ath9k_channel *ichan, struct net80211_channel *chan)
Definition: ath9k_common.c:29
An 802.11 RF channel.
Definition: net80211.h:385
struct net80211_channel channels[NET80211_MAX_CHANNELS]
A list of all possible channels we might use.
Definition: net80211.h:806
uint8_t ah
Definition: registers.h:85
uint8_t u8
Definition: stdint.h:19

References ah, ath9k_cmn_update_ichannel(), channel, net80211_device::channel, net80211_device::channels, and net80211_channel::hw_value.

Referenced by ath9k_start(), and ath_radio_disable().

◆ ath9k_cmn_update_txpow()

void ath9k_cmn_update_txpow ( struct ath_hw ah,
u16  cur_txpow,
u16  new_txpow,
u16 txpower 
)

Definition at line 61 of file ath9k_common.c.

63 {
64  if (cur_txpow != new_txpow) {
65  ath9k_hw_set_txpowerlimit(ah, new_txpow, 0);
66  /* read back in case value is clamped */
67  *txpower = ath9k_hw_regulatory(ah)->power_limit;
68  }
69 }
static struct ath_regulatory * ath9k_hw_regulatory(struct ath_hw *ah)
Definition: hw.h:874
int16_t power_limit
Definition: ath.h:143
void ath9k_hw_set_txpowerlimit(struct ath_hw *ah, u32 limit, int test)
Definition: ath9k_hw.c:1937
uint8_t ah
Definition: registers.h:85

References ah, ath9k_hw_regulatory(), ath9k_hw_set_txpowerlimit(), and ath_regulatory::power_limit.

Referenced by ath9k_config(), ath9k_start(), ath_reset(), and ath_set_channel().