FreeBSD kernel ATH device code
|
#include "opt_ah.h"
#include "ah.h"
#include "ah_internal.h"
#include "ar5212/ar5212.h"
#include "ar5212/ar5212reg.h"
#include "ar5212/ar5212phy.h"
#include "ah_eeprom_v3.h"
#include "ar5212/ar5212.ini"
Go to the source code of this file.
Data Structures | |
struct | ar2317State |
Macros | |
#define | AH_5212_2317 |
#define | N(a) (sizeof(a)/sizeof(a[0])) |
#define | PWR_TABLE_SIZE_2317 PWR_TABLE_SIZE_2413 |
#define | AR2317(ah) ((struct ar2317State *) AH5212(ah)->ah_rfHal) |
#define | RF_BANK_SETUP(_priv, _ix, _col) |
#define | VpdTable_L priv->vpdTable_L |
#define | VpdTable_R priv->vpdTable_R |
#define | VpdTable_I priv->vpdTable_I |
Typedefs | |
typedef RAW_DATA_STRUCT_2413 | RAW_DATA_STRUCT_2317 |
typedef RAW_DATA_PER_CHANNEL_2413 | RAW_DATA_PER_CHANNEL_2317 |
Functions | |
void | ar5212ModifyRfBuffer (uint32_t *rfBuf, uint32_t reg32, uint32_t numBits, uint32_t firstBit, uint32_t column) |
static void | ar2317WriteRegs (struct ath_hal *ah, u_int modesIndex, u_int freqIndex, int writes) |
static HAL_BOOL | ar2317SetChannel (struct ath_hal *ah, const struct ieee80211_channel *chan) |
static HAL_BOOL | ar2317SetRfRegs (struct ath_hal *ah, const struct ieee80211_channel *chan, uint16_t modesIndex, uint16_t *rfXpdGain) |
static uint32_t * | ar2317GetRfBank (struct ath_hal *ah, int bank) |
static void | GetLowerUpperIndex (int16_t v, const uint16_t *lp, uint16_t listSize, uint32_t *vlo, uint32_t *vhi) |
static HAL_BOOL | ar2317FillVpdTable (uint32_t pdGainIdx, int16_t Pmin, int16_t Pmax, const int16_t *pwrList, const int16_t *VpdList, uint16_t numIntercepts, uint16_t retVpdList[][64]) |
static int16_t | interpolate_signed (uint16_t target, uint16_t srcLeft, uint16_t srcRight, int16_t targetLeft, int16_t targetRight) |
static int | ar2317getGainBoundariesAndPdadcsForPowers (struct ath_hal *ah, uint16_t channel, const RAW_DATA_STRUCT_2317 *pRawDataset, uint16_t pdGainOverlap_t2, int16_t *pMinCalPower, uint16_t pPdGainBoundaries[], uint16_t pPdGainValues[], uint16_t pPDADCValues[]) |
static HAL_BOOL | ar2317SetPowerTable (struct ath_hal *ah, int16_t *minPower, int16_t *maxPower, const struct ieee80211_channel *chan, uint16_t *rfXpdGain) |
static int16_t | ar2317GetMinPower (struct ath_hal *ah, const RAW_DATA_PER_CHANNEL_2317 *data) |
static int16_t | ar2317GetMaxPower (struct ath_hal *ah, const RAW_DATA_PER_CHANNEL_2317 *data) |
static HAL_BOOL | ar2317GetChannelMaxMinPower (struct ath_hal *ah, const struct ieee80211_channel *chan, int16_t *maxPow, int16_t *minPow) |
static void | ar2317RfDetach (struct ath_hal *ah) |
static HAL_BOOL | ar2317RfAttach (struct ath_hal *ah, HAL_STATUS *status) |
static HAL_BOOL | ar2317Probe (struct ath_hal *ah) |
AH_RF (RF2317, ar2317Probe, ar2317RfAttach) | |
#define AR2317 | ( | ah | ) | ((struct ar2317State *) AH5212(ah)->ah_rfHal) |
#define PWR_TABLE_SIZE_2317 PWR_TABLE_SIZE_2413 |
#define RF_BANK_SETUP | ( | _priv, | |
_ix, | |||
_col | |||
) |
#define VpdTable_I priv->vpdTable_I |
#define VpdTable_L priv->vpdTable_L |
#define VpdTable_R priv->vpdTable_R |
AH_RF | ( | RF2317 | , |
ar2317Probe | , | ||
ar2317RfAttach | |||
) |
|
static |
Definition at line 276 of file ar2317.c.
References AH_FALSE, AH_TRUE, and GetLowerUpperIndex().
Referenced by ar2317getGainBoundariesAndPdadcsForPowers().
|
static |
Definition at line 625 of file ar2317.c.
References AH_FALSE, AH_NULL, AH_PRIVATE, AH_TRUE, ar2317GetMaxPower(), ar2317GetMinPower(), RAW_DATA_PER_CHANNEL_2413::channelValue, headerInfo11B, headerInfo11G, RAW_DATA_STRUCT_2413::numChannels, and RAW_DATA_STRUCT_2413::pDataPerChannel.
Referenced by ar2317RfAttach().
|
static |
Definition at line 336 of file ar2317.c.
References AR2317, ar2317FillVpdTable(), GetLowerUpperIndex(), HAL_DEBUG_ANY, HALDEBUG, interpolate_signed(), MAX_NUM_PDGAINS_PER_CHANNEL, RAW_DATA_STRUCT_2413::numChannels, RAW_DATA_PER_PDGAIN_2413::numVpd, RAW_DATA_STRUCT_2413::pChannels, RAW_DATA_PER_PDGAIN_2413::pd_gain, PD_GAIN_BOUNDARY_STRETCH_IN_HALF_DB, RAW_DATA_STRUCT_2413::pDataPerChannel, RAW_DATA_PER_CHANNEL_2413::pDataPerPDGain, RAW_DATA_PER_PDGAIN_2413::pwr_t4, RAW_DATA_PER_PDGAIN_2413::Vpd, VpdTable_I, VpdTable_L, and VpdTable_R.
Referenced by ar2317SetPowerTable().
|
static |
Definition at line 606 of file ar2317.c.
References MAX_NUM_PDGAINS_PER_CHANNEL, RAW_DATA_PER_PDGAIN_2413::numVpd, RAW_DATA_PER_CHANNEL_2413::pDataPerPDGain, RAW_DATA_PER_PDGAIN_2413::pwr_t4, and RAW_DATA_PER_PDGAIN_2413::Vpd.
Referenced by ar2317GetChannelMaxMinPower().
|
static |
Definition at line 588 of file ar2317.c.
References MAX_NUM_PDGAINS_PER_CHANNEL, RAW_DATA_PER_PDGAIN_2413::numVpd, RAW_DATA_PER_CHANNEL_2413::pDataPerPDGain, and RAW_DATA_PER_PDGAIN_2413::pwr_t4.
Referenced by ar2317GetChannelMaxMinPower().
|
static |
Definition at line 208 of file ar2317.c.
References AH_NULL, AR2317, ar2317State::Bank1Data, ar2317State::Bank2Data, ar2317State::Bank3Data, ar2317State::Bank6Data, ar2317State::Bank7Data, HAL_DEBUG_ANY, HALASSERT, and HALDEBUG.
Referenced by ar2317RfAttach().
|
static |
Definition at line 707 of file ar2317.c.
References AH5212, AH_FALSE, ath_hal::ah_magic, AH_NULL, ath_hal_5212::ah_pcdacTable, ath_hal_5212::ah_pcdacTableSize, ath_hal_5212::ah_rfHal, AH_TRUE, ar2317GetChannelMaxMinPower(), ar2317GetRfBank(), ar2317RfDetach(), ar2317SetChannel(), ar2317SetPowerTable(), ar2317SetRfRegs(), ar2317WriteRegs(), AR5212_MAGIC, ar5212GetNfAdjust(), ath_hal_malloc(), ar2317State::base, RfHalFuncs::getChannelMaxMinPower, RfHalFuncs::getNfAdjust, RfHalFuncs::getRfBank, HAL_DEBUG_ANY, HAL_ENOMEM, HALASSERT, HALDEBUG, ar2317State::pcdacTable, RfHalFuncs::rfDetach, RfHalFuncs::setChannel, RfHalFuncs::setPowerTable, RfHalFuncs::setRfRegs, and RfHalFuncs::writeRegs.
|
static |
Definition at line 693 of file ar2317.c.
References AH5212, AH_NULL, ath_hal_5212::ah_rfHal, ath_hal_free(), and HALASSERT.
Referenced by ar2317RfAttach().
|
static |
Definition at line 84 of file ar2317.c.
References AH_FALSE, AH_MARK_SETCHANNEL, AH_PRIVATE, AH_TRUE, AR_PHY, AR_PHY_CCK_TX_CTRL, AR_PHY_CCK_TX_CTRL_JAPAN, ath_hal_gethwchannel(), ath_hal_reverseBits(), HAL_DEBUG_ANY, HALDEBUG, OS_MARK, OS_REG_READ, and OS_REG_WRITE.
Referenced by ar2317RfAttach().
|
static |
Definition at line 482 of file ar2317.c.
References AH5212, AH_FALSE, AH_NULL, ath_hal_5212::ah_pcdacTable, AH_PRIVATE, AH_TRUE, ath_hal_5212::ah_txPowerIndexOffset, ar2317getGainBoundariesAndPdadcsForPowers(), AR_PHY_TPCRG1, AR_PHY_TPCRG1_NUM_PD_GAIN, AR_PHY_TPCRG1_PDGAIN_SETTING1, AR_PHY_TPCRG1_PDGAIN_SETTING2, AR_PHY_TPCRG1_PDGAIN_SETTING3, AR_PHY_TPCRG5, AR_PHY_TPCRG5_PD_GAIN_BOUNDARY_1, AR_PHY_TPCRG5_PD_GAIN_BOUNDARY_2, AR_PHY_TPCRG5_PD_GAIN_BOUNDARY_3, AR_PHY_TPCRG5_PD_GAIN_BOUNDARY_4, AR_PHY_TPCRG5_PD_GAIN_OVERLAP, HAL_DEBUG_ANY, HAL_DEBUG_RFPARAM, HALASSERT, HALDEBUG, headerInfo11B, headerInfo11G, RAW_DATA_PER_CHANNEL_2413::numPdGains, OS_REG_READ, OS_REG_RMW_FIELD, OS_REG_WRITE, RAW_DATA_STRUCT_2413::pDataPerChannel, and SM.
Referenced by ar2317RfAttach().
|
static |
Definition at line 144 of file ar2317.c.
References AH5212, AH_PRIVATE, ath_hal_5212::ah_rfgainState, AH_TRUE, AR2317, ar5212ModifyRfBuffer(), ar2317State::Bank1Data, ar2317State::Bank2Data, ar2317State::Bank3Data, ar2317State::Bank6Data, ar2317State::Bank7Data, HAL_EEPROM::ee_dbFor24, HAL_EEPROM::ee_dbFor24g, HAL_EEPROM::ee_obFor24, HAL_EEPROM::ee_obFor24g, HAL_DEBUG_RFPARAM, HAL_INI_WRITE_BANK, HAL_RFGAIN_INACTIVE, HALASSERT, HALDEBUG, and RF_BANK_SETUP.
Referenced by ar2317RfAttach().
|
static |
Definition at line 70 of file ar2317.c.
References HAL_INI_WRITE_ARRAY.
Referenced by ar2317RfAttach().
void ar5212ModifyRfBuffer | ( | uint32_t * | rfBuf, |
uint32_t | reg32, | ||
uint32_t | numBits, | ||
uint32_t | firstBit, | ||
uint32_t | column | ||
) |
Definition at line 2674 of file ar5212_reset.c.
Referenced by ar2317SetRfRegs().
|
static |
Definition at line 231 of file ar2317.c.
Referenced by ar2317FillVpdTable(), and ar2317getGainBoundariesAndPdadcsForPowers().
|
static |
Definition at line 317 of file ar2317.c.
Referenced by ar2317getGainBoundariesAndPdadcsForPowers().