Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6

This commit is contained in:
David S. Miller
2010-05-05 15:09:05 -07:00
140 changed files with 4761 additions and 1378 deletions
+1
View File
@@ -3956,6 +3956,7 @@ F: net/rfkill/
F: net/wireless/
F: include/net/ieee80211*
F: include/linux/wireless.h
F: include/linux/iw_handler.h
F: drivers/net/wireless/
NETWORKING DRIVERS
+6
View File
@@ -38,6 +38,12 @@ config LIBERTAS_THINFIRM
---help---
A library for Marvell Libertas 8xxx devices using thinfirm.
config LIBERTAS_THINFIRM_DEBUG
bool "Enable full debugging output in the Libertas thin firmware module."
depends on LIBERTAS_THINFIRM
---help---
Debugging support.
config LIBERTAS_THINFIRM_USB
tristate "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware"
depends on LIBERTAS_THINFIRM && USB
+1
View File
@@ -1889,6 +1889,7 @@ static void at76_dwork_hw_scan(struct work_struct *work)
}
static int at76_hw_scan(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct cfg80211_scan_request *req)
{
struct at76_priv *priv = hw->priv;
+1 -3
View File
@@ -927,7 +927,6 @@ static void ar9170_rx_phy_status(struct ar9170 *ar,
/* TODO: we could do something with phy_errors */
status->signal = ar->noise[0] + phy->rssi_combined;
status->noise = ar->noise[0];
}
static struct sk_buff *ar9170_rx_copy_data(u8 *buf, int len)
@@ -2548,8 +2547,7 @@ void *ar9170_alloc(size_t priv_size)
BIT(NL80211_IFTYPE_ADHOC);
ar->hw->flags |= IEEE80211_HW_RX_INCLUDES_FCS |
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
IEEE80211_HW_SIGNAL_DBM |
IEEE80211_HW_NOISE_DBM;
IEEE80211_HW_SIGNAL_DBM;
if (modparam_ht) {
ar->hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION;
+2 -4
View File
@@ -548,8 +548,7 @@ ath5k_pci_probe(struct pci_dev *pdev,
SET_IEEE80211_DEV(hw, &pdev->dev);
hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
IEEE80211_HW_SIGNAL_DBM |
IEEE80211_HW_NOISE_DBM;
IEEE80211_HW_SIGNAL_DBM;
hw->wiphy->interface_modes =
BIT(NL80211_IFTYPE_AP) |
@@ -2030,8 +2029,7 @@ accept:
rxs->freq = sc->curchan->center_freq;
rxs->band = sc->curband->band;
rxs->noise = sc->ah->ah_noise_floor;
rxs->signal = rxs->noise + rs.rs_rssi;
rxs->signal = sc->ah->ah_noise_floor + rs.rs_rssi;
rxs->antenna = rs.rs_antenna;
-9
View File
@@ -657,12 +657,3 @@ void ath9k_hw_ani_init(struct ath_hw *ah)
if (ah->config.enable_ani)
ah->proc_phyerr |= HAL_PROCESS_ANI;
}
void ath9k_hw_ani_disable(struct ath_hw *ah)
{
ath_print(ath9k_hw_common(ah), ATH_DBG_ANI, "Disabling ANI\n");
ath9k_hw_disable_mib_counters(ah);
REG_WRITE(ah, AR_PHY_ERR_1, 0);
REG_WRITE(ah, AR_PHY_ERR_2, 0);
}
-1
View File
@@ -118,6 +118,5 @@ u32 ath9k_hw_GetMibCycleCountsPct(struct ath_hw *ah, u32 *rxc_pcnt,
void ath9k_hw_procmibevent(struct ath_hw *ah);
void ath9k_hw_ani_setup(struct ath_hw *ah);
void ath9k_hw_ani_init(struct ath_hw *ah);
void ath9k_hw_ani_disable(struct ath_hw *ah);
#endif /* ANI_H */
@@ -249,7 +249,7 @@ static const u32 ar5416Common[][2] = {
{ 0x00008258, 0x00000000 },
{ 0x0000825c, 0x400000ff },
{ 0x00008260, 0x00080922 },
{ 0x00008264, 0xa8000010 },
{ 0x00008264, 0x88000010 },
{ 0x00008270, 0x00000000 },
{ 0x00008274, 0x40000000 },
{ 0x00008278, 0x003e4180 },
+2 -3
View File
@@ -850,7 +850,7 @@ static int ar5008_hw_process_ini(struct ath_hw *ah,
REG_WRITE_ARRAY(&ah->iniBB_RfGain, freqIndex, regWrites);
if (AR_SREV_9280_20(ah) && IS_CHAN_A_5MHZ_SPACED(chan)) {
if (IS_CHAN_A_FAST_CLOCK(ah, chan)) {
REG_WRITE_ARRAY(&ah->iniModesAdditional, modesIndex,
regWrites);
}
@@ -892,8 +892,7 @@ static void ar5008_hw_set_rfmode(struct ath_hw *ah, struct ath9k_channel *chan)
rfMode |= (IS_CHAN_5GHZ(chan)) ?
AR_PHY_MODE_RF5GHZ : AR_PHY_MODE_RF2GHZ;
if ((AR_SREV_9280_20(ah) || AR_SREV_9300_20_OR_LATER(ah))
&& IS_CHAN_A_5MHZ_SPACED(chan))
if (IS_CHAN_A_FAST_CLOCK(ah, chan))
rfMode |= (AR_PHY_MODE_DYNAMIC | AR_PHY_MODE_DYN_CCK_DISABLE);
REG_WRITE(ah, AR_PHY_MODE, rfMode);
@@ -408,6 +408,8 @@ static void ar9002_hw_configpcipowersave(struct ath_hw *ah,
REG_WRITE(ah, AR_PCIE_SERDES2, 0x00000000);
} else {
ENABLE_REGWRITE_BUFFER(ah);
REG_WRITE(ah, AR_PCIE_SERDES, 0x9248fc00);
REG_WRITE(ah, AR_PCIE_SERDES, 0x24924924);
@@ -428,6 +430,9 @@ static void ar9002_hw_configpcipowersave(struct ath_hw *ah,
/* Load the new settings */
REG_WRITE(ah, AR_PCIE_SERDES2, 0x00000000);
REGWRITE_BUFFER_FLUSH(ah);
DISABLE_REGWRITE_BUFFER(ah);
}
udelay(1000);
@@ -793,7 +793,7 @@ static const u32 ar9280Common_9280_2[][2] = {
{ 0x00008258, 0x00000000 },
{ 0x0000825c, 0x400000ff },
{ 0x00008260, 0x00080922 },
{ 0x00008264, 0xa8a00010 },
{ 0x00008264, 0x88a00010 },
{ 0x00008270, 0x00000000 },
{ 0x00008274, 0x40000000 },
{ 0x00008278, 0x003e4180 },
@@ -1963,7 +1963,7 @@ static const u32 ar9285Common_9285[][2] = {
{ 0x00008258, 0x00000000 },
{ 0x0000825c, 0x400000ff },
{ 0x00008260, 0x00080922 },
{ 0x00008264, 0xa8a00010 },
{ 0x00008264, 0x88a00010 },
{ 0x00008270, 0x00000000 },
{ 0x00008274, 0x40000000 },
{ 0x00008278, 0x003e4180 },
@@ -3185,7 +3185,7 @@ static const u32 ar9287Common_9287_1_0[][2] = {
{ 0x00008258, 0x00000000 },
{ 0x0000825c, 0x400000ff },
{ 0x00008260, 0x00080922 },
{ 0x00008264, 0xa8a00010 },
{ 0x00008264, 0x88a00010 },
{ 0x00008270, 0x00000000 },
{ 0x00008274, 0x40000000 },
{ 0x00008278, 0x003e4180 },
@@ -4973,7 +4973,7 @@ static const u32 ar9271Common_9271[][2] = {
{ 0x00008258, 0x00000000 },
{ 0x0000825c, 0x400000ff },
{ 0x00008260, 0x00080922 },
{ 0x00008264, 0xa8a00010 },
{ 0x00008264, 0x88a00010 },
{ 0x00008270, 0x00000000 },
{ 0x00008274, 0x40000000 },
{ 0x00008278, 0x003e4180 },
+6 -10
View File
@@ -455,16 +455,12 @@ static u32 ar9002_hw_compute_pll_control(struct ath_hw *ah,
pll |= SM(0x2, AR_RTC_9160_PLL_CLKSEL);
if (chan && IS_CHAN_5GHZ(chan)) {
pll |= SM(0x28, AR_RTC_9160_PLL_DIV);
if (AR_SREV_9280_20(ah)) {
if (((chan->channel % 20) == 0)
|| ((chan->channel % 10) == 0))
pll = 0x2850;
else
pll = 0x142c;
}
if (IS_CHAN_A_FAST_CLOCK(ah, chan))
pll = 0x142c;
else if (AR_SREV_9280_20(ah))
pll = 0x2850;
else
pll |= SM(0x28, AR_RTC_9160_PLL_DIV);
} else {
pll |= SM(0x2c, AR_RTC_9160_PLL_DIV);
}
@@ -755,7 +755,8 @@ static bool ar9003_hw_init_cal(struct ath_hw *ah,
}
/* Do Tx IQ Calibration */
ar9003_hw_tx_iq_cal(ah);
if (ah->config.tx_iq_calibration)
ar9003_hw_tx_iq_cal(ah);
/* Revert chainmasks to their original values before NF cal */
ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask);
@@ -659,6 +659,9 @@ static void ar9300_swap_eeprom(struct ar9300_eeprom *eep)
word = swab16(eep->baseEepHeader.regDmn[1]);
eep->baseEepHeader.regDmn[1] = word;
dword = swab32(eep->baseEepHeader.swreg);
eep->baseEepHeader.swreg = dword;
dword = swab32(eep->modalHeader2G.antCtrlCommon);
eep->modalHeader2G.antCtrlCommon = dword;
@@ -1200,7 +1203,7 @@ static u8 ar9003_hw_eeprom_get_tgt_pwr(struct ath_hw *ah,
u8 *pFreqBin;
if (is2GHz) {
numPiers = AR9300_NUM_5G_20_TARGET_POWERS;
numPiers = AR9300_NUM_2G_20_TARGET_POWERS;
pEepromTargetPwr = eep->calTargetPower2G;
pFreqBin = eep->calTarget_freqbin_2G;
} else {
@@ -1236,7 +1239,7 @@ static u8 ar9003_hw_eeprom_get_ht20_tgt_pwr(struct ath_hw *ah,
u8 *pFreqBin;
if (is2GHz) {
numPiers = AR9300_NUM_5G_20_TARGET_POWERS;
numPiers = AR9300_NUM_2G_20_TARGET_POWERS;
pEepromTargetPwr = eep->calTargetPower2GHT20;
pFreqBin = eep->calTarget_freqbin_2GHT20;
} else {
@@ -1817,6 +1820,7 @@ static void ath9k_hw_ar9300_set_txpower(struct ath_hw *ah,
u8 twiceMaxRegulatoryPower,
u8 powerLimit)
{
ah->txpower_limit = powerLimit;
ar9003_hw_set_target_power_eeprom(ah, chan->channel);
ar9003_hw_calibration_apply(ah, chan->channel);
}
@@ -265,7 +265,7 @@ struct cal_ctl_edge_pwr {
} __packed;
struct cal_ctl_data_2g {
struct cal_ctl_edge_pwr ctlEdges[AR9300_NUM_BAND_EDGES_5G];
struct cal_ctl_edge_pwr ctlEdges[AR9300_NUM_BAND_EDGES_2G];
} __packed;
struct cal_ctl_data_5g {
+128 -137
View File
@@ -31,7 +31,7 @@ static const u32 ar9300_2p0_radio_postamble[][5] = {
static const u32 ar9300Modes_lowest_ob_db_tx_gain_table_2p0[][5] = {
/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
{0x0000a410, 0x000050da, 0x000050da, 0x000050da, 0x000050da},
{0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9},
{0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
{0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002},
{0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004},
@@ -545,7 +545,7 @@ static const u32 ar9300_2p0_soc_postamble[][5] = {
};
static const u32 ar9200_merlin_2p0_radio_core[][2] = {
/* Addr common */
/* Addr allmodes */
{0x00007800, 0x00040000},
{0x00007804, 0xdb005012},
{0x00007808, 0x04924914},
@@ -835,71 +835,71 @@ static const u32 ar9300_2p0_baseband_core[][2] = {
static const u32 ar9300Modes_high_power_tx_gain_table_2p0[][5] = {
/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
{0x0000a410, 0x000050d9, 0x000050d9, 0x000050da, 0x000050da},
{0x0000a410, 0x000050db, 0x000050db, 0x000050d9, 0x000050d9},
{0x0000a500, 0x00020220, 0x00020220, 0x00000000, 0x00000000},
{0x0000a504, 0x06020223, 0x06020223, 0x04000002, 0x04000002},
{0x0000a508, 0x0b022220, 0x0b022220, 0x08000004, 0x08000004},
{0x0000a50c, 0x10022223, 0x10022223, 0x0b000200, 0x0b000200},
{0x0000a510, 0x17022620, 0x17022620, 0x0f000202, 0x0f000202},
{0x0000a514, 0x1b022622, 0x1b022622, 0x11000400, 0x11000400},
{0x0000a518, 0x1f022822, 0x1f022822, 0x15000402, 0x15000402},
{0x0000a51c, 0x24022842, 0x24022842, 0x19000404, 0x19000404},
{0x0000a520, 0x28042840, 0x28042840, 0x1b000603, 0x1b000603},
{0x0000a524, 0x2c042842, 0x2c042842, 0x1f000a02, 0x1f000a02},
{0x0000a528, 0x30042844, 0x30042844, 0x23000a04, 0x23000a04},
{0x0000a52c, 0x34042846, 0x34042846, 0x26000a20, 0x26000a20},
{0x0000a530, 0x39042869, 0x39042869, 0x2a000e20, 0x2a000e20},
{0x0000a534, 0x3d062869, 0x3d062869, 0x2e000e22, 0x2e000e22},
{0x0000a538, 0x44062c69, 0x44062c69, 0x31000e24, 0x31000e24},
{0x0000a53c, 0x48063069, 0x48063069, 0x34001640, 0x34001640},
{0x0000a540, 0x4c0a3065, 0x4c0a3065, 0x38001660, 0x38001660},
{0x0000a544, 0x500a3069, 0x500a3069, 0x3b001861, 0x3b001861},
{0x0000a548, 0x530a3469, 0x530a3469, 0x3e001a81, 0x3e001a81},
{0x0000a54c, 0x590a7464, 0x590a7464, 0x42001a83, 0x42001a83},
{0x0000a550, 0x5e0a7865, 0x5e0a7865, 0x44001c84, 0x44001c84},
{0x0000a554, 0x630a7e66, 0x630a7e66, 0x48001ce3, 0x48001ce3},
{0x0000a558, 0x680a7e89, 0x680a7e89, 0x4c001ce5, 0x4c001ce5},
{0x0000a55c, 0x6e0a7e8c, 0x6e0a7e8c, 0x50001ce9, 0x50001ce9},
{0x0000a560, 0x730e7e8c, 0x730e7e8c, 0x54001ceb, 0x54001ceb},
{0x0000a564, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a568, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a56c, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a570, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a574, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a578, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a57c, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a508, 0x0a022220, 0x0a022220, 0x08000004, 0x08000004},
{0x0000a50c, 0x0f022223, 0x0f022223, 0x0b000200, 0x0b000200},
{0x0000a510, 0x14022620, 0x14022620, 0x0f000202, 0x0f000202},
{0x0000a514, 0x18022622, 0x18022622, 0x11000400, 0x11000400},
{0x0000a518, 0x1b022822, 0x1b022822, 0x15000402, 0x15000402},
{0x0000a51c, 0x20022842, 0x20022842, 0x19000404, 0x19000404},
{0x0000a520, 0x22022c41, 0x22022c41, 0x1b000603, 0x1b000603},
{0x0000a524, 0x28023042, 0x28023042, 0x1f000a02, 0x1f000a02},
{0x0000a528, 0x2c023044, 0x2c023044, 0x23000a04, 0x23000a04},
{0x0000a52c, 0x2f023644, 0x2f023644, 0x26000a20, 0x26000a20},
{0x0000a530, 0x34043643, 0x34043643, 0x2a000e20, 0x2a000e20},
{0x0000a534, 0x38043a44, 0x38043a44, 0x2e000e22, 0x2e000e22},
{0x0000a538, 0x3b043e45, 0x3b043e45, 0x31000e24, 0x31000e24},
{0x0000a53c, 0x40063e46, 0x40063e46, 0x34001640, 0x34001640},
{0x0000a540, 0x44083e46, 0x44083e46, 0x38001660, 0x38001660},
{0x0000a544, 0x46083e66, 0x46083e66, 0x3b001861, 0x3b001861},
{0x0000a548, 0x4b0a3e69, 0x4b0a3e69, 0x3e001a81, 0x3e001a81},
{0x0000a54c, 0x4f0a5e66, 0x4f0a5e66, 0x42001a83, 0x42001a83},
{0x0000a550, 0x540a7e66, 0x540a7e66, 0x44001c84, 0x44001c84},
{0x0000a554, 0x570a7e89, 0x570a7e89, 0x48001ce3, 0x48001ce3},
{0x0000a558, 0x5c0e7e8a, 0x5c0e7e8a, 0x4c001ce5, 0x4c001ce5},
{0x0000a55c, 0x60127e8b, 0x60127e8b, 0x50001ce9, 0x50001ce9},
{0x0000a560, 0x65127ecc, 0x65127ecc, 0x54001ceb, 0x54001ceb},
{0x0000a564, 0x6b169ecd, 0x6b169ecd, 0x56001eec, 0x56001eec},
{0x0000a568, 0x70169f0e, 0x70169f0e, 0x56001eec, 0x56001eec},
{0x0000a56c, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a570, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a574, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a578, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a57c, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a580, 0x00820220, 0x00820220, 0x00800000, 0x00800000},
{0x0000a584, 0x06820223, 0x06820223, 0x04800002, 0x04800002},
{0x0000a588, 0x0b822220, 0x0b822220, 0x08800004, 0x08800004},
{0x0000a58c, 0x10822223, 0x10822223, 0x0b800200, 0x0b800200},
{0x0000a590, 0x17822620, 0x17822620, 0x0f800202, 0x0f800202},
{0x0000a594, 0x1b822622, 0x1b822622, 0x11800400, 0x11800400},
{0x0000a598, 0x1f822822, 0x1f822822, 0x15800402, 0x15800402},
{0x0000a59c, 0x24822842, 0x24822842, 0x19800404, 0x19800404},
{0x0000a5a0, 0x28842840, 0x28842840, 0x1b800603, 0x1b800603},
{0x0000a5a4, 0x2c842842, 0x2c842842, 0x1f800a02, 0x1f800a02},
{0x0000a5a8, 0x30842844, 0x30842844, 0x23800a04, 0x23800a04},
{0x0000a5ac, 0x34842846, 0x34842846, 0x26800a20, 0x26800a20},
{0x0000a5b0, 0x39842869, 0x39842869, 0x2a800e20, 0x2a800e20},
{0x0000a5b4, 0x3d862869, 0x3d862869, 0x2e800e22, 0x2e800e22},
{0x0000a5b8, 0x44862c69, 0x44862c69, 0x31800e24, 0x31800e24},
{0x0000a5bc, 0x48863069, 0x48863069, 0x34801640, 0x34801640},
{0x0000a5c0, 0x4c8a3065, 0x4c8a3065, 0x38801660, 0x38801660},
{0x0000a5c4, 0x508a3069, 0x508a3069, 0x3b801861, 0x3b801861},
{0x0000a5c8, 0x538a3469, 0x538a3469, 0x3e801a81, 0x3e801a81},
{0x0000a5cc, 0x598a7464, 0x598a7464, 0x42801a83, 0x42801a83},
{0x0000a5d0, 0x5e8a7865, 0x5e8a7865, 0x44801c84, 0x44801c84},
{0x0000a5d4, 0x638a7e66, 0x638a7e66, 0x48801ce3, 0x48801ce3},
{0x0000a5d8, 0x688a7e89, 0x688a7e89, 0x4c801ce5, 0x4c801ce5},
{0x0000a5dc, 0x6e8a7e8c, 0x6e8a7e8c, 0x50801ce9, 0x50801ce9},
{0x0000a5e0, 0x738e7e8c, 0x738e7e8c, 0x54801ceb, 0x54801ceb},
{0x0000a5e4, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5e8, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5ec, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5f0, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5f4, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5f8, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5fc, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a588, 0x0a822220, 0x0a822220, 0x08800004, 0x08800004},
{0x0000a58c, 0x0f822223, 0x0f822223, 0x0b800200, 0x0b800200},
{0x0000a590, 0x14822620, 0x14822620, 0x0f800202, 0x0f800202},
{0x0000a594, 0x18822622, 0x18822622, 0x11800400, 0x11800400},
{0x0000a598, 0x1b822822, 0x1b822822, 0x15800402, 0x15800402},
{0x0000a59c, 0x20822842, 0x20822842, 0x19800404, 0x19800404},
{0x0000a5a0, 0x22822c41, 0x22822c41, 0x1b800603, 0x1b800603},
{0x0000a5a4, 0x28823042, 0x28823042, 0x1f800a02, 0x1f800a02},
{0x0000a5a8, 0x2c823044, 0x2c823044, 0x23800a04, 0x23800a04},
{0x0000a5ac, 0x2f823644, 0x2f823644, 0x26800a20, 0x26800a20},
{0x0000a5b0, 0x34843643, 0x34843643, 0x2a800e20, 0x2a800e20},
{0x0000a5b4, 0x38843a44, 0x38843a44, 0x2e800e22, 0x2e800e22},
{0x0000a5b8, 0x3b843e45, 0x3b843e45, 0x31800e24, 0x31800e24},
{0x0000a5bc, 0x40863e46, 0x40863e46, 0x34801640, 0x34801640},
{0x0000a5c0, 0x4c8a3065, 0x44883e46, 0x44883e46, 0x38801660},
{0x0000a5c4, 0x46883e66, 0x46883e66, 0x3b801861, 0x3b801861},
{0x0000a5c8, 0x4b8a3e69, 0x4b8a3e69, 0x3e801a81, 0x3e801a81},
{0x0000a5cc, 0x4f8a5e66, 0x4f8a5e66, 0x42801a83, 0x42801a83},
{0x0000a5d0, 0x548a7e66, 0x548a7e66, 0x44801c84, 0x44801c84},
{0x0000a5d4, 0x578a7e89, 0x578a7e89, 0x48801ce3, 0x48801ce3},
{0x0000a5d8, 0x5c8e7e8a, 0x5c8e7e8a, 0x4c801ce5, 0x4c801ce5},
{0x0000a5dc, 0x60927e8b, 0x60927e8b, 0x50801ce9, 0x50801ce9},
{0x0000a5e0, 0x65927ecc, 0x65927ecc, 0x54801ceb, 0x54801ceb},
{0x0000a5e4, 0x6b969ecd, 0x6b969ecd, 0x56801eec, 0x56801eec},
{0x0000a5e8, 0x70969f0e, 0x70969f0e, 0x56801eec, 0x56801eec},
{0x0000a5ec, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5f0, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5f4, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5f8, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5fc, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x00016044, 0x056db2e6, 0x056db2e6, 0x056db2e6, 0x056db2e6},
{0x00016048, 0xad241a61, 0xad241a61, 0xad241a61, 0xad241a61},
{0x00016068, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c},
@@ -913,71 +913,71 @@ static const u32 ar9300Modes_high_power_tx_gain_table_2p0[][5] = {
static const u32 ar9300Modes_high_ob_db_tx_gain_table_2p0[][5] = {
/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
{0x0000a410, 0x000050d9, 0x000050d9, 0x000050da, 0x000050da},
{0x0000a410, 0x000050db, 0x000050db, 0x000050d9, 0x000050d9},
{0x0000a500, 0x00020220, 0x00020220, 0x00000000, 0x00000000},
{0x0000a504, 0x06020223, 0x06020223, 0x04000002, 0x04000002},
{0x0000a508, 0x0b022220, 0x0b022220, 0x08000004, 0x08000004},
{0x0000a50c, 0x10022223, 0x10022223, 0x0b000200, 0x0b000200},
{0x0000a510, 0x17022620, 0x17022620, 0x0f000202, 0x0f000202},
{0x0000a514, 0x1b022622, 0x1b022622, 0x11000400, 0x11000400},
{0x0000a518, 0x1f022822, 0x1f022822, 0x15000402, 0x15000402},
{0x0000a51c, 0x24022842, 0x24022842, 0x19000404, 0x19000404},
{0x0000a520, 0x28042840, 0x28042840, 0x1b000603, 0x1b000603},
{0x0000a524, 0x2c042842, 0x2c042842, 0x1f000a02, 0x1f000a02},
{0x0000a528, 0x30042844, 0x30042844, 0x23000a04, 0x23000a04},
{0x0000a52c, 0x34042846, 0x34042846, 0x26000a20, 0x26000a20},
{0x0000a530, 0x39042869, 0x39042869, 0x2a000e20, 0x2a000e20},
{0x0000a534, 0x3d062869, 0x3d062869, 0x2e000e22, 0x2e000e22},
{0x0000a538, 0x44062c69, 0x44062c69, 0x31000e24, 0x31000e24},
{0x0000a53c, 0x48063069, 0x48063069, 0x34001640, 0x34001640},
{0x0000a540, 0x4c0a3065, 0x4c0a3065, 0x38001660, 0x38001660},
{0x0000a544, 0x500a3069, 0x500a3069, 0x3b001861, 0x3b001861},
{0x0000a548, 0x530a3469, 0x530a3469, 0x3e001a81, 0x3e001a81},
{0x0000a54c, 0x590a7464, 0x590a7464, 0x42001a83, 0x42001a83},
{0x0000a550, 0x5e0a7865, 0x5e0a7865, 0x44001c84, 0x44001c84},
{0x0000a554, 0x630a7e66, 0x630a7e66, 0x48001ce3, 0x48001ce3},
{0x0000a558, 0x680a7e89, 0x680a7e89, 0x4c001ce5, 0x4c001ce5},
{0x0000a55c, 0x6e0a7e8c, 0x6e0a7e8c, 0x50001ce9, 0x50001ce9},
{0x0000a560, 0x730e7e8c, 0x730e7e8c, 0x54001ceb, 0x54001ceb},
{0x0000a564, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a568, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a56c, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a570, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a574, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a578, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a57c, 0x730e7e8c, 0x730e7e8c, 0x56001eec, 0x56001eec},
{0x0000a508, 0x0a022220, 0x0a022220, 0x08000004, 0x08000004},
{0x0000a50c, 0x0f022223, 0x0f022223, 0x0b000200, 0x0b000200},
{0x0000a510, 0x14022620, 0x14022620, 0x0f000202, 0x0f000202},
{0x0000a514, 0x18022622, 0x18022622, 0x11000400, 0x11000400},
{0x0000a518, 0x1b022822, 0x1b022822, 0x15000402, 0x15000402},
{0x0000a51c, 0x20022842, 0x20022842, 0x19000404, 0x19000404},
{0x0000a520, 0x22022c41, 0x22022c41, 0x1b000603, 0x1b000603},
{0x0000a524, 0x28023042, 0x28023042, 0x1f000a02, 0x1f000a02},
{0x0000a528, 0x2c023044, 0x2c023044, 0x23000a04, 0x23000a04},
{0x0000a52c, 0x2f023644, 0x2f023644, 0x26000a20, 0x26000a20},
{0x0000a530, 0x34043643, 0x34043643, 0x2a000e20, 0x2a000e20},
{0x0000a534, 0x38043a44, 0x38043a44, 0x2e000e22, 0x2e000e22},
{0x0000a538, 0x3b043e45, 0x3b043e45, 0x31000e24, 0x31000e24},
{0x0000a53c, 0x40063e46, 0x40063e46, 0x34001640, 0x34001640},
{0x0000a540, 0x44083e46, 0x44083e46, 0x38001660, 0x38001660},
{0x0000a544, 0x46083e66, 0x46083e66, 0x3b001861, 0x3b001861},
{0x0000a548, 0x4b0a3e69, 0x4b0a3e69, 0x3e001a81, 0x3e001a81},
{0x0000a54c, 0x4f0a5e66, 0x4f0a5e66, 0x42001a83, 0x42001a83},
{0x0000a550, 0x540a7e66, 0x540a7e66, 0x44001c84, 0x44001c84},
{0x0000a554, 0x570a7e89, 0x570a7e89, 0x48001ce3, 0x48001ce3},
{0x0000a558, 0x5c0e7e8a, 0x5c0e7e8a, 0x4c001ce5, 0x4c001ce5},
{0x0000a55c, 0x60127e8b, 0x60127e8b, 0x50001ce9, 0x50001ce9},
{0x0000a560, 0x65127ecc, 0x65127ecc, 0x54001ceb, 0x54001ceb},
{0x0000a564, 0x6b169ecd, 0x6b169ecd, 0x56001eec, 0x56001eec},
{0x0000a568, 0x70169f0e, 0x70169f0e, 0x56001eec, 0x56001eec},
{0x0000a56c, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a570, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a574, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a578, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a57c, 0x75169f4f, 0x75169f4f, 0x56001eec, 0x56001eec},
{0x0000a580, 0x00820220, 0x00820220, 0x00800000, 0x00800000},
{0x0000a584, 0x06820223, 0x06820223, 0x04800002, 0x04800002},
{0x0000a588, 0x0b822220, 0x0b822220, 0x08800004, 0x08800004},
{0x0000a58c, 0x10822223, 0x10822223, 0x0b800200, 0x0b800200},
{0x0000a590, 0x17822620, 0x17822620, 0x0f800202, 0x0f800202},
{0x0000a594, 0x1b822622, 0x1b822622, 0x11800400, 0x11800400},
{0x0000a598, 0x1f822822, 0x1f822822, 0x15800402, 0x15800402},
{0x0000a59c, 0x24822842, 0x24822842, 0x19800404, 0x19800404},
{0x0000a5a0, 0x28842840, 0x28842840, 0x1b800603, 0x1b800603},
{0x0000a5a4, 0x2c842842, 0x2c842842, 0x1f800a02, 0x1f800a02},
{0x0000a5a8, 0x30842844, 0x30842844, 0x23800a04, 0x23800a04},
{0x0000a5ac, 0x34842846, 0x34842846, 0x26800a20, 0x26800a20},
{0x0000a5b0, 0x39842869, 0x39842869, 0x2a800e20, 0x2a800e20},
{0x0000a5b4, 0x3d862869, 0x3d862869, 0x2e800e22, 0x2e800e22},
{0x0000a5b8, 0x44862c69, 0x44862c69, 0x31800e24, 0x31800e24},
{0x0000a5bc, 0x48863069, 0x48863069, 0x34801640, 0x34801640},
{0x0000a5c0, 0x4c8a3065, 0x4c8a3065, 0x38801660, 0x38801660},
{0x0000a5c4, 0x508a3069, 0x508a3069, 0x3b801861, 0x3b801861},
{0x0000a5c8, 0x538a3469, 0x538a3469, 0x3e801a81, 0x3e801a81},
{0x0000a5cc, 0x598a7464, 0x598a7464, 0x42801a83, 0x42801a83},
{0x0000a5d0, 0x5e8a7865, 0x5e8a7865, 0x44801c84, 0x44801c84},
{0x0000a5d4, 0x638a7e66, 0x638a7e66, 0x48801ce3, 0x48801ce3},
{0x0000a5d8, 0x688a7e89, 0x688a7e89, 0x4c801ce5, 0x4c801ce5},
{0x0000a5dc, 0x6e8a7e8c, 0x6e8a7e8c, 0x50801ce9, 0x50801ce9},
{0x0000a5e0, 0x738e7e8c, 0x738e7e8c, 0x54801ceb, 0x54801ceb},
{0x0000a5e4, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5e8, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5ec, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5f0, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5f4, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5f8, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a5fc, 0x738e7e8c, 0x738e7e8c, 0x56801eec, 0x56801eec},
{0x0000a588, 0x0a822220, 0x0a822220, 0x08800004, 0x08800004},
{0x0000a58c, 0x0f822223, 0x0f822223, 0x0b800200, 0x0b800200},
{0x0000a590, 0x14822620, 0x14822620, 0x0f800202, 0x0f800202},
{0x0000a594, 0x18822622, 0x18822622, 0x11800400, 0x11800400},
{0x0000a598, 0x1b822822, 0x1b822822, 0x15800402, 0x15800402},
{0x0000a59c, 0x20822842, 0x20822842, 0x19800404, 0x19800404},
{0x0000a5a0, 0x22822c41, 0x22822c41, 0x1b800603, 0x1b800603},
{0x0000a5a4, 0x28823042, 0x28823042, 0x1f800a02, 0x1f800a02},
{0x0000a5a8, 0x2c823044, 0x2c823044, 0x23800a04, 0x23800a04},
{0x0000a5ac, 0x2f823644, 0x2f823644, 0x26800a20, 0x26800a20},
{0x0000a5b0, 0x34843643, 0x34843643, 0x2a800e20, 0x2a800e20},
{0x0000a5b4, 0x38843a44, 0x38843a44, 0x2e800e22, 0x2e800e22},
{0x0000a5b8, 0x3b843e45, 0x3b843e45, 0x31800e24, 0x31800e24},
{0x0000a5bc, 0x40863e46, 0x40863e46, 0x34801640, 0x34801640},
{0x0000a5c0, 0x44883e46, 0x44883e46, 0x38801660, 0x38801660},
{0x0000a5c4, 0x46883e66, 0x46883e66, 0x3b801861, 0x3b801861},
{0x0000a5c8, 0x4b8a3e69, 0x4b8a3e69, 0x3e801a81, 0x3e801a81},
{0x0000a5cc, 0x4f8a5e66, 0x4f8a5e66, 0x42801a83, 0x42801a83},
{0x0000a5d0, 0x548a7e66, 0x548a7e66, 0x44801c84, 0x44801c84},
{0x0000a5d4, 0x578a7e89, 0x578a7e89, 0x48801ce3, 0x48801ce3},
{0x0000a5d8, 0x5c8e7e8a, 0x5c8e7e8a, 0x4c801ce5, 0x4c801ce5},
{0x0000a5dc, 0x60927e8b, 0x60927e8b, 0x50801ce9, 0x50801ce9},
{0x0000a5e0, 0x65927ecc, 0x65927ecc, 0x54801ceb, 0x54801ceb},
{0x0000a5e4, 0x6b969ecd, 0x6b969ecd, 0x56801eec, 0x56801eec},
{0x0000a5e8, 0x70969f0e, 0x70969f0e, 0x56801eec, 0x56801eec},
{0x0000a5ec, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5f0, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5f4, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5f8, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x0000a5fc, 0x75969f4f, 0x75969f4f, 0x56801eec, 0x56801eec},
{0x00016044, 0x056db2e4, 0x056db2e4, 0x056db2e4, 0x056db2e4},
{0x00016048, 0x8c001a61, 0x8c001a61, 0x8c001a61, 0x8c001a61},
{0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c},
@@ -1251,7 +1251,7 @@ static const u32 ar9300Common_rx_gain_table_2p0[][2] = {
static const u32 ar9300Modes_low_ob_db_tx_gain_table_2p0[][5] = {
/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
{0x0000a410, 0x000050da, 0x000050da, 0x000050da, 0x000050da},
{0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9},
{0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
{0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002},
{0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004},
@@ -1760,31 +1760,22 @@ static const u32 ar9300_2p0_soc_preamble[][2] = {
{0x00007038, 0x000004c2},
};
/*
* PCIE-PHY programming array, to be used prior to entering
* full sleep (holding RTC in reset, PLL is ON in L1 mode)
*/
static const u32 ar9300PciePhy_pll_on_clkreq_disable_L1_2p0[][2] = {
/* Addr allmodes */
{0x00004040, 0x08212e5e},
{0x00004040, 0x0008003b},
{0x00004044, 0x00000000},
};
/*
* PCIE-PHY programming array, to be used when not in
* full sleep (holding RTC in reset)
*/
static const u32 ar9300PciePhy_clkreq_enable_L1_2p0[][2] = {
/* Addr allmodes */
{0x00004040, 0x08253e5e},
{0x00004040, 0x0008003b},
{0x00004044, 0x00000000},
};
/*
* PCIE-PHY programming array, to be used prior to entering
* full sleep (holding RTC in reset)
*/
static const u32 ar9300PciePhy_clkreq_disable_L1_2p0[][2] = {
/* Addr allmodes */
{0x00004040, 0x08213e5e},
{0x00004040, 0x0008003b},
{0x00004044, 0x00000000},
@@ -311,6 +311,9 @@ static void ar9003_hw_set11n_txdesc(struct ath_hw *ah, void *ds,
{
struct ar9003_txc *ads = (struct ar9003_txc *) ds;
if (txpower > ah->txpower_limit)
txpower = ah->txpower_limit;
txpower += ah->txpower_indexoffset;
if (txpower > 63)
txpower = 63;
+4 -12
View File
@@ -375,16 +375,7 @@ static u32 ar9003_hw_compute_pll_control(struct ath_hw *ah,
else if (chan && IS_CHAN_QUARTER_RATE(chan))
pll |= SM(0x2, AR_RTC_9300_PLL_CLKSEL);
if (chan && IS_CHAN_5GHZ(chan)) {
pll |= SM(0x28, AR_RTC_9300_PLL_DIV);
/*
* When doing fast clock, set PLL to 0x142c
*/
if (IS_CHAN_A_5MHZ_SPACED(chan))
pll = 0x142c;
} else
pll |= SM(0x2c, AR_RTC_9300_PLL_DIV);
pll |= SM(0x2c, AR_RTC_9300_PLL_DIV);
return pll;
}
@@ -592,7 +583,7 @@ static int ar9003_hw_process_ini(struct ath_hw *ah,
* For 5GHz channels requiring Fast Clock, apply
* different modal values.
*/
if (IS_CHAN_A_5MHZ_SPACED(chan))
if (IS_CHAN_A_FAST_CLOCK(ah, chan))
REG_WRITE_ARRAY(&ah->iniModesAdditional,
modesIndex, regWrites);
@@ -622,7 +613,7 @@ static void ar9003_hw_set_rfmode(struct ath_hw *ah,
rfMode |= (IS_CHAN_B(chan) || IS_CHAN_G(chan))
? AR_PHY_MODE_DYNAMIC : AR_PHY_MODE_OFDM;
if (IS_CHAN_A_5MHZ_SPACED(chan))
if (IS_CHAN_A_FAST_CLOCK(ah, chan))
rfMode |= (AR_PHY_MODE_DYNAMIC | AR_PHY_MODE_DYN_CCK_DISABLE);
REG_WRITE(ah, AR_PHY_MODE, rfMode);
@@ -1102,6 +1093,7 @@ static void ar9003_hw_loadnf(struct ath_hw *ah, struct ath9k_channel *chan)
ath_print(common, ATH_DBG_ANY, "Timeout while waiting for nf "
"to load: AR_PHY_AGC_CONTROL=0x%x\n",
REG_READ(ah, AR_PHY_AGC_CONTROL));
return;
}
/*
-1
View File
@@ -212,7 +212,6 @@ int ath9k_cmn_rx_skb_preprocess(struct ath_common *common,
rx_status->mactime = ath9k_hw_extend_tsf(ah, rx_stats->rs_tstamp);
rx_status->band = hw->conf.channel->band;
rx_status->freq = hw->conf.channel->center_freq;
rx_status->noise = common->ani.noise_floor;
rx_status->signal = ATH_DEFAULT_NOISE_FLOOR + rx_stats->rs_rssi;
rx_status->antenna = rx_stats->rs_antenna;
rx_status->flag |= RX_FLAG_TSFT;
+2 -1
View File
@@ -300,7 +300,8 @@ struct base_eep_header {
u32 binBuildNumber;
u8 deviceType;
u8 pwdclkind;
u8 futureBase_1[2];
u8 fastClk5g;
u8 divChain;
u8 rxGainType;
u8 dacHiPwrMode_5G;
u8 openLoopPwrCntl;

Some files were not shown because too many files have changed in this diff Show More