iPXE
|
Go to the source code of this file.
Data Structures | |
struct | coeff |
Macros | |
#define | MAX_MEASUREMENT 8 |
#define | MAX_MAG_DELTA 11 |
#define | MAX_PHS_DELTA 10 |
#define | DELPT 32 |
Enumerations | |
enum | ar9003_cal_types { IQ_MISMATCH_CAL = BIT(0), TEMP_COMP_CAL = BIT(1) } |
Functions | |
static void | ar9003_hw_setup_calibration (struct ath_hw *ah, struct ath9k_cal_list *currCal) |
static int | ar9003_hw_per_calibration (struct ath_hw *ah, struct ath9k_channel *ichan __unused, u8 rxchainmask, struct ath9k_cal_list *currCal) |
static int | ar9003_hw_calibrate (struct ath_hw *ah, struct ath9k_channel *chan, u8 rxchainmask, int longcal) |
static void | ar9003_hw_iqcal_collect (struct ath_hw *ah) |
static void | ar9003_hw_iqcalibrate (struct ath_hw *ah, u8 numChains) |
static void | ar9003_hw_init_cal_settings (struct ath_hw *ah) |
static int | ar9003_hw_solve_iq_cal (struct ath_hw *ah __unused, s32 sin_2phi_1, s32 cos_2phi_1, s32 sin_2phi_2, s32 cos_2phi_2, s32 mag_a0_d0, s32 phs_a0_d0, s32 mag_a1_d0, s32 phs_a1_d0, s32 solved_eq[]) |
static s32 | ar9003_hw_find_mag_approx (struct ath_hw *ah __unused, s32 in_re, s32 in_im) |
static int | ar9003_hw_calc_iq_corr (struct ath_hw *ah, s32 chain_idx, const s32 iq_res[], s32 iqc_coeff[]) |
static void | ar9003_hw_detect_outlier (int *mp_coeff, int nmeasurement, int max_delta) |
static void | ar9003_hw_tx_iqcal_load_avg_2_passes (struct ath_hw *ah, u8 num_chains, struct coeff *coeff) |
static int | ar9003_hw_tx_iq_cal_run (struct ath_hw *ah) |
static void | ar9003_hw_tx_iq_cal_post_proc (struct ath_hw *ah) |
static int | ar9003_hw_init_cal (struct ath_hw *ah, struct ath9k_channel *chan __unused) |
void | ar9003_hw_attach_calib_ops (struct ath_hw *ah) |
Variables | |
static const struct ath9k_percal_data | iq_cal_single_sample |
#define MAX_MEASUREMENT 8 |
Definition at line 26 of file ath9k_ar9003_calib.c.
#define MAX_MAG_DELTA 11 |
Definition at line 27 of file ath9k_ar9003_calib.c.
#define MAX_PHS_DELTA 10 |
Definition at line 28 of file ath9k_ar9003_calib.c.
#define DELPT 32 |
Definition at line 395 of file ath9k_ar9003_calib.c.
enum ar9003_cal_types |
Enumerator | |
---|---|
IQ_MISMATCH_CAL | |
TEMP_COMP_CAL |
Definition at line 36 of file ath9k_ar9003_calib.c.
|
static |
Definition at line 41 of file ath9k_ar9003_calib.c.
References ah, AR_PHY_65NM_CH0_THERM, AR_PHY_65NM_CH0_THERM_LOCAL, AR_PHY_65NM_CH0_THERM_START, AR_PHY_CALMODE, AR_PHY_CALMODE_IQ, AR_PHY_TIMING4, AR_PHY_TIMING4_DO_CAL, AR_PHY_TIMING4_IQCAL_LOG_COUNT_MAX, ath9k_percal_data::calCountMax, ath9k_cal_list::calData, ath9k_percal_data::calType, DBG2, IQ_MISMATCH_CAL, REG_RMW_FIELD, REG_SET_BIT, REG_WRITE, and TEMP_COMP_CAL.
Referenced by ar9003_hw_attach_calib_ops(), and ar9003_hw_per_calibration().
|
static |
Definition at line 79 of file ath9k_ar9003_calib.c.
References ah, ar9003_hw_setup_calibration(), AR9300_MAX_CHAINS, AR_PHY_TIMING4, AR_PHY_TIMING4_DO_CAL, ath9k_hw_reset_calibration(), CAL_DONE, CAL_RUNNING, ath9k_percal_data::calCollect, ath9k_cal_list::calData, ath9k_percal_data::calNumSamples, ath9k_percal_data::calPostProc, ath9k_cal_list::calState, ath9k_percal_data::calType, ath9k_hw_cal_data::CalValid, and REG_READ.
Referenced by ar9003_hw_calibrate().
|
static |
Definition at line 131 of file ath9k_ar9003_calib.c.
References ah, ar9003_hw_per_calibration(), ath9k_hw_getnf(), ath9k_hw_loadnf(), ath9k_hw_reset_calibration(), ath9k_hw_start_nfcal(), CAL_RUNNING, CAL_WAITING, ath9k_cal_list::calNext, and ath9k_cal_list::calState.
Referenced by ar9003_hw_attach_calib_ops().
|
static |
Definition at line 185 of file ath9k_ar9003_calib.c.
References ah, AR5416_MAX_CHAINS, AR_PHY_CAL_MEAS_0, AR_PHY_CAL_MEAS_1, AR_PHY_CAL_MEAS_2, BIT, DBG2, and REG_READ.
Definition at line 207 of file ath9k_ar9003_calib.c.
References ah, AR_PHY_RX_IQCAL_CORR_B0, AR_PHY_RX_IQCAL_CORR_B1, AR_PHY_RX_IQCAL_CORR_B2, AR_PHY_RX_IQCAL_CORR_IQCORR_ENABLE, AR_PHY_RX_IQCAL_CORR_IQCORR_Q_I_COFF, AR_PHY_RX_IQCAL_CORR_IQCORR_Q_Q_COFF, DBG2, REG_READ, REG_RMW_FIELD, and REG_SET_BIT.
|
static |
Definition at line 323 of file ath9k_ar9003_calib.c.
References ah, and iq_cal_single_sample.
Referenced by ar9003_hw_attach_calib_ops().
|
static |
Definition at line 331 of file ath9k_ar9003_calib.c.
References DBG.
Referenced by ar9003_hw_calc_iq_corr().
Definition at line 378 of file ath9k_ar9003_calib.c.
References abs.
Referenced by ar9003_hw_calc_iq_corr().
|
static |
Definition at line 397 of file ath9k_ar9003_calib.c.
References ah, ar9003_hw_find_mag_approx(), ar9003_hw_solve_iq_cal(), DBG, DBG2, and DELPT.
Referenced by ar9003_hw_tx_iq_cal_post_proc().
|
static |
Definition at line 613 of file ath9k_ar9003_calib.c.
References abs.
Referenced by ar9003_hw_tx_iqcal_load_avg_2_passes().
|
static |
Definition at line 650 of file ath9k_ar9003_calib.c.
References ah, ar9003_hw_detect_outlier(), AR9300_MAX_CHAINS, AR_PHY_CALIBRATED_GAINS_0, AR_PHY_RX_IQCAL_CORR_B0, AR_PHY_RX_IQCAL_CORR_B0_LOOPBACK_IQCORR_EN, AR_PHY_TX_IQCAL_CONTROL_3, AR_PHY_TX_IQCAL_CONTROL_3_IQCORR_EN, AR_PHY_TX_IQCAL_CORR_COEFF_00_COEFF_TABLE, AR_PHY_TX_IQCAL_CORR_COEFF_01_COEFF_TABLE, AR_PHY_TX_IQCAL_CORR_COEFF_B0, AR_PHY_TX_IQCAL_CORR_COEFF_B1, AR_PHY_TX_IQCAL_CORR_COEFF_B2, AR_PHY_TX_IQCAL_STATUS_B0, AR_SREV_9485, coeff::iqc_coeff, coeff::mag_coeff, MAX_MAG_DELTA, MAX_MEASUREMENT, MAX_PHS_DELTA, memset(), coeff::phs_coeff, REG_READ_FIELD, and REG_RMW_FIELD.
Referenced by ar9003_hw_tx_iq_cal_post_proc().
|
static |
Definition at line 717 of file ath9k_ar9003_calib.c.
References ah, AH_WAIT_TIMEOUT, AR_PHY_TX_FORCED_GAIN, AR_PHY_TX_IQCAL_START, AR_PHY_TX_IQCAL_START_DO_CAL, AR_PHY_TXGAIN_FORCE, ath9k_hw_wait(), DBG2, REG_READ_FIELD, and REG_RMW_FIELD.
Referenced by ar9003_hw_init_cal().
|
static |
Definition at line 740 of file ath9k_ar9003_calib.c.
References ah, ar9003_hw_calc_iq_corr(), ar9003_hw_tx_iqcal_load_avg_2_passes(), AR9300_MAX_CHAINS, AR_PHY_CALIBRATED_GAINS_0, AR_PHY_CHAN_INFO_MEMORY, AR_PHY_CHAN_INFO_TAB_0, AR_PHY_CHAN_INFO_TAB_1, AR_PHY_CHAN_INFO_TAB_2, AR_PHY_CHAN_INFO_TAB_S2_READ, AR_PHY_TX_IQCAL_STATUS_B0, AR_PHY_TX_IQCAL_STATUS_B1, AR_PHY_TX_IQCAL_STATUS_B2, AR_PHY_TX_IQCAL_STATUS_FAILED, DBG, DBG2, coeff::iqc_coeff, coeff::mag_coeff, MAX_MEASUREMENT, offset, coeff::phs_coeff, REG_READ, REG_READ_FIELD, and REG_RMW_FIELD.
Referenced by ar9003_hw_init_cal().
|
static |
Definition at line 836 of file ath9k_ar9003_calib.c.
References ah, AH_WAIT_TIMEOUT, ar9003_hw_set_chain_masks(), ar9003_hw_tx_iq_cal_post_proc(), ar9003_hw_tx_iq_cal_run(), AR_ENT_OTP, AR_ENT_OTP_CHAIN2_DISABLE, AR_PHY_ACTIVE, AR_PHY_ACTIVE_DIS, AR_PHY_ACTIVE_EN, AR_PHY_AGC_CONTROL, AR_PHY_AGC_CONTROL_CAL, AR_PHY_TX_IQCAL_CONTROL_1, AR_PHY_TX_IQCAL_CONTROL_1_IQCORR_I_Q_COFF_DELPT, AR_SREV_9485_OR_LATER, ath9k_hw_reset_calibration(), ath9k_hw_start_nfcal(), ath9k_hw_wait(), DBG, DBG2, DELPT, INIT_CAL, INSERT_CAL, IQ_MISMATCH_CAL, NULL, REG_READ, REG_RMW_FIELD, REG_WRITE, ath9k_hw_capabilities::rx_chainmask, TEMP_COMP_CAL, ath9k_hw_capabilities::tx_chainmask, udelay(), and val.
Referenced by ar9003_hw_attach_calib_ops().
void ar9003_hw_attach_calib_ops | ( | struct ath_hw * | ah | ) |
Definition at line 922 of file ath9k_ar9003_calib.c.
References ah, ar9003_hw_calibrate(), ar9003_hw_init_cal(), ar9003_hw_init_cal_settings(), ar9003_hw_setup_calibration(), ath9k_hw_ops(), ath9k_hw_private_ops(), ath_hw_ops::calibrate, ath_hw_private_ops::init_cal, ath_hw_private_ops::init_cal_settings, and ath_hw_private_ops::setup_calibration.
Referenced by ar9003_hw_attach_ops().
|
static |
Definition at line 315 of file ath9k_ar9003_calib.c.
Referenced by ar9003_hw_init_cal_settings().