diff options
author | Felix Fietkau <nbd@nbd.name> | 2017-02-02 12:02:22 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-02-06 12:27:12 +0100 |
commit | 649e766a64a0d001f040dfc225c601b3d0af6f40 (patch) | |
tree | 6399891552e85e9d511546df07932551f60b7549 /package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch | |
parent | 91fce81df6e99cec0876b9d4866bd86e7c49820f (diff) | |
download | mtk-20170518-649e766a64a0d001f040dfc225c601b3d0af6f40.zip mtk-20170518-649e766a64a0d001f040dfc225c601b3d0af6f40.tar.gz mtk-20170518-649e766a64a0d001f040dfc225c601b3d0af6f40.tar.bz2 |
mac80211: update to wireless-testing 2017-01-31
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch')
-rw-r--r-- | package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch | 342 |
1 files changed, 0 insertions, 342 deletions
diff --git a/package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch b/package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch deleted file mode 100644 index 86809fd..0000000 --- a/package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch +++ /dev/null @@ -1,342 +0,0 @@ -From c763af71bcc2f01bd5ef6e65c7c34b46c7235a16 Mon Sep 17 00:00:00 2001 -From: Martin Blumenstingl <martin.blumenstingl@googlemail.com> -Date: Mon, 3 Oct 2016 00:29:11 +0200 -Subject: [v2 PATCH 5/7] ath9k: consistently use get_eeprom_rev(ah) - -The AR5416_VER_MASK macro does the same as get_eeprom_rev, except that -one has to know the actual EEPROM type (and providing a reference to -that in a variable named "eep"). Additionally the eeprom_*.c -implementations used the same shifting logic multiple times to get the -eeprom revision which was also unnecessary duplication of -get_eeprom_rev. - -Also use the AR5416_EEP_VER_MINOR_MASK macro where needed and introduce -a similar macro (AR5416_EEP_VER_MAJOR_MASK) for the major version. -Finally drop AR9287_EEP_VER_MINOR_MASK since it simply duplicates the -already defined AR5416_EEP_VER_MINOR_MASK. - -Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> ---- - drivers/net/wireless/ath/ath9k/eeprom.h | 4 +-- - drivers/net/wireless/ath/ath9k/eeprom_4k.c | 32 ++++++++++------------ - drivers/net/wireless/ath/ath9k/eeprom_9287.c | 19 +++++++------ - drivers/net/wireless/ath/ath9k/eeprom_def.c | 41 +++++++++++++++------------- - drivers/net/wireless/ath/ath9k/xmit.c | 3 +- - 5 files changed, 52 insertions(+), 47 deletions(-) - ---- a/drivers/net/wireless/ath/ath9k/eeprom.h -+++ b/drivers/net/wireless/ath/ath9k/eeprom.h -@@ -99,7 +99,6 @@ - #define FBIN2FREQ(x, y) ((y) ? (2300 + x) : (4800 + 5 * x)) - #define ath9k_hw_use_flash(_ah) (!(_ah->ah_flags & AH_USE_EEPROM)) - --#define AR5416_VER_MASK (eep->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) - #define OLC_FOR_AR9280_20_LATER (AR_SREV_9280_20_OR_LATER(ah) && \ - ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL)) - #define OLC_FOR_AR9287_10_LATER (AR_SREV_9287_11_OR_LATER(ah) && \ -@@ -121,6 +120,8 @@ - - #define AR5416_EEP_NO_BACK_VER 0x1 - #define AR5416_EEP_VER 0xE -+#define AR5416_EEP_VER_MAJOR_SHIFT 12 -+#define AR5416_EEP_VER_MAJOR_MASK 0xF000 - #define AR5416_EEP_VER_MINOR_MASK 0x0FFF - #define AR5416_EEP_MINOR_VER_2 0x2 - #define AR5416_EEP_MINOR_VER_3 0x3 -@@ -177,7 +178,6 @@ - #define AR9280_TX_GAIN_TABLE_SIZE 22 - - #define AR9287_EEP_VER 0xE --#define AR9287_EEP_VER_MINOR_MASK 0xFFF - #define AR9287_EEP_MINOR_VER_1 0x1 - #define AR9287_EEP_MINOR_VER_2 0x2 - #define AR9287_EEP_MINOR_VER_3 0x3 ---- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c -+++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c -@@ -20,12 +20,17 @@ - - static int ath9k_hw_4k_get_eeprom_ver(struct ath_hw *ah) - { -- return ((ah->eeprom.map4k.baseEepHeader.version >> 12) & 0xF); -+ u16 version = ah->eeprom.map4k.baseEepHeader.version; -+ -+ return (version & AR5416_EEP_VER_MAJOR_MASK) >> -+ AR5416_EEP_VER_MAJOR_SHIFT; - } - - static int ath9k_hw_4k_get_eeprom_rev(struct ath_hw *ah) - { -- return ((ah->eeprom.map4k.baseEepHeader.version) & 0xFFF); -+ u16 version = ah->eeprom.map4k.baseEepHeader.version; -+ -+ return version & AR5416_EEP_VER_MINOR_MASK; - } - - #define SIZE_EEPROM_4K (sizeof(struct ar5416_eeprom_4k) / sizeof(u16)) -@@ -136,8 +141,8 @@ static u32 ath9k_hw_4k_dump_eeprom(struc - goto out; - } - -- PR_EEP("Major Version", pBase->version >> 12); -- PR_EEP("Minor Version", pBase->version & 0xFFF); -+ PR_EEP("Major Version", ath9k_hw_4k_get_eeprom_ver(ah)); -+ PR_EEP("Minor Version", ath9k_hw_4k_get_eeprom_rev(ah)); - PR_EEP("Checksum", pBase->checksum); - PR_EEP("Length", pBase->length); - PR_EEP("RegDomain1", pBase->regDmn[0]); -@@ -314,14 +319,12 @@ static void ath9k_hw_set_4k_power_cal_ta - - xpdMask = pEepData->modalHeader.xpdGain; - -- if ((pEepData->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= -- AR5416_EEP_MINOR_VER_2) { -+ if (ath9k_hw_4k_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) - pdGainOverlap_t2 = - pEepData->modalHeader.pdGainOverlap; -- } else { -+ else - pdGainOverlap_t2 = (u16)(MS(REG_READ(ah, AR_PHY_TPCRG5), - AR_PHY_TPCRG5_PD_GAIN_OVERLAP)); -- } - - pCalBChans = pEepData->calFreqPier2G; - numPiers = AR5416_EEP4K_NUM_2G_CAL_PIERS; -@@ -607,10 +610,8 @@ static void ath9k_hw_4k_set_txpower(stru - - memset(ratesArray, 0, sizeof(ratesArray)); - -- if ((pEepData->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= -- AR5416_EEP_MINOR_VER_2) { -+ if (ath9k_hw_4k_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) - ht40PowerIncForPdadc = pModal->ht40PowerIncForPdadc; -- } - - ath9k_hw_set_4k_power_per_rate_table(ah, chan, - &ratesArray[0], cfgCtl, -@@ -730,8 +731,7 @@ static void ath9k_hw_4k_set_gain(struct - SM(pModal->iqCalQCh[0], AR_PHY_TIMING_CTRL4_IQCORR_Q_Q_COFF), - AR_PHY_TIMING_CTRL4_IQCORR_Q_Q_COFF | AR_PHY_TIMING_CTRL4_IQCORR_Q_I_COFF); - -- if ((eep->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= -- AR5416_EEP_MINOR_VER_3) { -+ if (ath9k_hw_4k_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_3) { - txRxAttenLocal = pModal->txRxAttenCh[0]; - - REG_RMW_FIELD(ah, AR_PHY_GAIN_2GHZ, -@@ -1009,16 +1009,14 @@ static void ath9k_hw_4k_set_board_values - REG_RMW_FIELD(ah, AR_PHY_EXT_CCA0, AR_PHY_EXT_CCA0_THRESH62, - pModal->thresh62); - -- if ((eep->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= -- AR5416_EEP_MINOR_VER_2) { -+ if (ath9k_hw_4k_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) { - REG_RMW_FIELD(ah, AR_PHY_RF_CTL2, AR_PHY_TX_END_DATA_START, - pModal->txFrameToDataStart); - REG_RMW_FIELD(ah, AR_PHY_RF_CTL2, AR_PHY_TX_END_PA_ON, - pModal->txFrameToPaOn); - } - -- if ((eep->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= -- AR5416_EEP_MINOR_VER_3) { -+ if (ath9k_hw_4k_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_3) { - if (IS_CHAN_HT40(chan)) - REG_RMW_FIELD(ah, AR_PHY_SETTLING, - AR_PHY_SETTLING_SWITCH, ---- a/drivers/net/wireless/ath/ath9k/eeprom_9287.c -+++ b/drivers/net/wireless/ath/ath9k/eeprom_9287.c -@@ -22,12 +22,17 @@ - - static int ath9k_hw_ar9287_get_eeprom_ver(struct ath_hw *ah) - { -- return (ah->eeprom.map9287.baseEepHeader.version >> 12) & 0xF; -+ u16 version = ah->eeprom.map9287.baseEepHeader.version; -+ -+ return (version & AR5416_EEP_VER_MAJOR_MASK) >> -+ AR5416_EEP_VER_MAJOR_SHIFT; - } - - static int ath9k_hw_ar9287_get_eeprom_rev(struct ath_hw *ah) - { -- return (ah->eeprom.map9287.baseEepHeader.version) & 0xFFF; -+ u16 version = ah->eeprom.map9287.baseEepHeader.version; -+ -+ return version & AR5416_EEP_VER_MINOR_MASK; - } - - static bool __ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah) -@@ -132,8 +137,8 @@ static u32 ath9k_hw_ar9287_dump_eeprom(s - goto out; - } - -- PR_EEP("Major Version", pBase->version >> 12); -- PR_EEP("Minor Version", pBase->version & 0xFFF); -+ PR_EEP("Major Version", ath9k_hw_ar9287_get_eeprom_ver(ah)); -+ PR_EEP("Minor Version", ath9k_hw_ar9287_get_eeprom_rev(ah)); - PR_EEP("Checksum", pBase->checksum); - PR_EEP("Length", pBase->length); - PR_EEP("RegDomain1", pBase->regDmn[0]); -@@ -383,8 +388,7 @@ static void ath9k_hw_set_ar9287_power_ca - - xpdMask = pEepData->modalHeader.xpdGain; - -- if ((pEepData->baseEepHeader.version & AR9287_EEP_VER_MINOR_MASK) >= -- AR9287_EEP_MINOR_VER_2) -+ if (ath9k_hw_ar9287_get_eeprom_rev(ah) >= AR9287_EEP_MINOR_VER_2) - pdGainOverlap_t2 = pEepData->modalHeader.pdGainOverlap; - else - pdGainOverlap_t2 = (u16)(MS(REG_READ(ah, AR_PHY_TPCRG5), -@@ -733,8 +737,7 @@ static void ath9k_hw_ar9287_set_txpower( - - memset(ratesArray, 0, sizeof(ratesArray)); - -- if ((pEepData->baseEepHeader.version & AR9287_EEP_VER_MINOR_MASK) >= -- AR9287_EEP_MINOR_VER_2) -+ if (ath9k_hw_ar9287_get_eeprom_rev(ah) >= AR9287_EEP_MINOR_VER_2) - ht40PowerIncForPdadc = pModal->ht40PowerIncForPdadc; - - ath9k_hw_set_ar9287_power_per_rate_table(ah, chan, ---- a/drivers/net/wireless/ath/ath9k/eeprom_def.c -+++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c -@@ -79,12 +79,17 @@ static void ath9k_olc_get_pdadcs(struct - - static int ath9k_hw_def_get_eeprom_ver(struct ath_hw *ah) - { -- return ((ah->eeprom.def.baseEepHeader.version >> 12) & 0xF); -+ u16 version = ah->eeprom.def.baseEepHeader.version; -+ -+ return (version & AR5416_EEP_VER_MAJOR_MASK) >> -+ AR5416_EEP_VER_MAJOR_SHIFT; - } - - static int ath9k_hw_def_get_eeprom_rev(struct ath_hw *ah) - { -- return ((ah->eeprom.def.baseEepHeader.version) & 0xFFF); -+ u16 version = ah->eeprom.def.baseEepHeader.version; -+ -+ return version & AR5416_EEP_VER_MINOR_MASK; - } - - #define SIZE_EEPROM_DEF (sizeof(struct ar5416_eeprom_def) / sizeof(u16)) -@@ -214,8 +219,8 @@ static u32 ath9k_hw_def_dump_eeprom(stru - goto out; - } - -- PR_EEP("Major Version", pBase->version >> 12); -- PR_EEP("Minor Version", pBase->version & 0xFFF); -+ PR_EEP("Major Version", ath9k_hw_def_get_eeprom_ver(ah)); -+ PR_EEP("Minor Version", ath9k_hw_def_get_eeprom_rev(ah)); - PR_EEP("Checksum", pBase->checksum); - PR_EEP("Length", pBase->length); - PR_EEP("RegDomain1", pBase->regDmn[0]); -@@ -391,27 +396,27 @@ static u32 ath9k_hw_def_get_eeprom(struc - case EEP_TXGAIN_TYPE: - return pBase->txGainType; - case EEP_OL_PWRCTRL: -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_19) -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_19) - return pBase->openLoopPwrCntl ? true : false; - else - return false; - case EEP_RC_CHAIN_MASK: -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_19) -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_19) - return pBase->rcChainMask; - else - return 0; - case EEP_DAC_HPWR_5G: -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_20) -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_20) - return pBase->dacHiPwrMode_5G; - else - return 0; - case EEP_FRAC_N_5G: -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_22) -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_22) - return pBase->frac_n_5g; - else - return 0; - case EEP_PWR_TABLE_OFFSET: -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_21) -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_21) - return pBase->pwr_table_offset; - else - return AR5416_PWR_TABLE_OFFSET_DB; -@@ -434,7 +439,7 @@ static void ath9k_hw_def_set_gain(struct - u8 txRxAttenLocal, int regChainOffset, int i) - { - ENABLE_REG_RMW_BUFFER(ah); -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_3) { -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_3) { - txRxAttenLocal = pModal->txRxAttenCh[i]; - - if (AR_SREV_9280_20_OR_LATER(ah)) { -@@ -603,7 +608,7 @@ static void ath9k_hw_def_set_board_value - pModal->thresh62); - } - -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_2) { -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) { - REG_RMW_FIELD(ah, AR_PHY_RF_CTL2, - AR_PHY_TX_END_DATA_START, - pModal->txFrameToDataStart); -@@ -611,7 +616,7 @@ static void ath9k_hw_def_set_board_value - pModal->txFrameToPaOn); - } - -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_3) { -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_3) { - if (IS_CHAN_HT40(chan)) - REG_RMW_FIELD(ah, AR_PHY_SETTLING, - AR_PHY_SETTLING_SWITCH, -@@ -619,13 +624,14 @@ static void ath9k_hw_def_set_board_value - } - - if (AR_SREV_9280_20_OR_LATER(ah) && -- AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_19) -+ ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_19) - REG_RMW_FIELD(ah, AR_PHY_CCK_TX_CTRL, - AR_PHY_CCK_TX_CTRL_TX_DAC_SCALE_CCK, - pModal->miscBits); - - -- if (AR_SREV_9280_20(ah) && AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_20) { -+ if (AR_SREV_9280_20(ah) && -+ ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_20) { - if (IS_CHAN_2GHZ(chan)) - REG_RMW_FIELD(ah, AR_AN_TOP1, AR_AN_TOP1_DACIPMODE, - eep->baseEepHeader.dacLpMode); -@@ -796,8 +802,7 @@ static void ath9k_hw_set_def_power_cal_t - - pwr_table_offset = ah->eep_ops->get_eeprom(ah, EEP_PWR_TABLE_OFFSET); - -- if ((pEepData->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= -- AR5416_EEP_MINOR_VER_2) { -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) { - pdGainOverlap_t2 = - pEepData->modalHeader[modalIdx].pdGainOverlap; - } else { -@@ -1169,10 +1174,8 @@ static void ath9k_hw_def_set_txpower(str - - memset(ratesArray, 0, sizeof(ratesArray)); - -- if ((pEepData->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= -- AR5416_EEP_MINOR_VER_2) { -+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) - ht40PowerIncForPdadc = pModal->ht40PowerIncForPdadc; -- } - - ath9k_hw_set_def_power_per_rate_table(ah, chan, - &ratesArray[0], cfgCtl, ---- a/drivers/net/wireless/ath/ath9k/xmit.c -+++ b/drivers/net/wireless/ath/ath9k/xmit.c -@@ -1236,8 +1236,9 @@ static u8 ath_get_rate_txpower(struct at - if (is_40) { - u8 power_ht40delta; - struct ar5416_eeprom_def *eep = &ah->eeprom.def; -+ u16 eeprom_rev = ah->eep_ops->get_eeprom_rev(ah); - -- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_2) { -+ if (eeprom_rev >= AR5416_EEP_MINOR_VER_2) { - bool is_2ghz; - struct modal_eep_header *pmodal; - |