Changeset 24539


Ignore:
Timestamp:
2010-12-13T09:01:12+01:00 (7 years ago)
Author:
nbd
Message:

ath9k: fix some more issues in the paprd changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/532-ath9k_paprd_training_power.patch

    r24504 r24539  
    11--- a/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 
    22+++ b/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 
    3 @@ -30,9 +30,66 @@ void ar9003_paprd_enable(struct ath_hw * 
     3@@ -30,9 +30,69 @@ void ar9003_paprd_enable(struct ath_hw * 
    44 } 
    55 EXPORT_SYMBOL(ar9003_paprd_enable); 
     
    1212+       unsigned int power, scale, delta; 
    1313+ 
    14 +       scale = MS(hdr->papdRateMaskHt20, AR9300_PAPRD_SCALE_1); 
     14+       scale = MS(le32_to_cpu(hdr->papdRateMaskHt20), AR9300_PAPRD_SCALE_1); 
    1515+       power = REG_READ_FIELD(ah, AR_PHY_POWERTX_RATE5, 
    1616+                              AR_PHY_POWERTX_RATE5_POWERTXHT20_0); 
     
    4040+ 
    4141+       if (chan->channel >= 5700) 
    42 +               scale = MS(hdr->papdRateMaskHt20, AR9300_PAPRD_SCALE_1); 
     42+               scale = MS(le32_to_cpu(hdr->papdRateMaskHt20), 
     43+                          AR9300_PAPRD_SCALE_1); 
    4344+       else if (chan->channel >= 5400) 
    44 +               scale = MS(hdr->papdRateMaskHt40, AR9300_PAPRD_SCALE_2); 
     45+               scale = MS(le32_to_cpu(hdr->papdRateMaskHt40), 
     46+                          AR9300_PAPRD_SCALE_2); 
    4547+       else 
    46 +               scale = MS(hdr->papdRateMaskHt40, AR9300_PAPRD_SCALE_1); 
     48+               scale = MS(le32_to_cpu(hdr->papdRateMaskHt40), 
     49+                          AR9300_PAPRD_SCALE_1); 
    4750+ 
    4851+       if (IS_CHAN_HT40(chan)) 
     
    6972        static const u32 ctrl0[3] = { 
    7073                AR_PHY_PAPRD_CTRL0_B0, 
    71 @@ -45,6 +102,7 @@ static void ar9003_paprd_setup_single_ta 
     74@@ -45,6 +105,7 @@ static void ar9003_paprd_setup_single_ta 
    7275                AR_PHY_PAPRD_CTRL1_B2 
    7376        }; 
     
    7780  
    7881        if (ah->curchan && IS_CHAN_5GHZ(ah->curchan)) 
    79 @@ -55,11 +113,25 @@ static void ar9003_paprd_setup_single_ta 
     82@@ -55,11 +116,25 @@ static void ar9003_paprd_setup_single_ta 
    8083        am_mask = le32_to_cpu(hdr->papdRateMaskHt20) & AR9300_PAPRD_RATE_MASK; 
    8184        ht40_mask = le32_to_cpu(hdr->papdRateMaskHt40) & AR9300_PAPRD_RATE_MASK; 
     
    104107                REG_RMW_FIELD(ah, ctrl0[i], 
    105108                              AR_PHY_PAPRD_CTRL0_USE_SINGLE_TABLE_MASK, 1); 
    106 @@ -141,6 +213,7 @@ static void ar9003_paprd_setup_single_ta 
     109@@ -141,6 +216,7 @@ static void ar9003_paprd_setup_single_ta 
    107110                      AR_PHY_PAPRD_PRE_POST_SCALING, 185706); 
    108111        REG_RMW_FIELD(ah, AR_PHY_PAPRD_PRE_POST_SCALE_7_B0, 
     
    112115  
    113116 static void ar9003_paprd_get_gain_table(struct ath_hw *ah) 
    114 @@ -595,15 +668,10 @@ void ar9003_paprd_populate_single_table( 
     117@@ -595,15 +671,10 @@ void ar9003_paprd_populate_single_table( 
    115118 { 
    116119        u32 *paprd_table_val = caldata->pa_table[chain]; 
     
    129132                reg = AR_PHY_PAPRD_MEM_TAB_B0; 
    130133        else if (chain == 1) 
    131 @@ -643,14 +711,8 @@ EXPORT_SYMBOL(ar9003_paprd_populate_sing 
     134@@ -643,14 +714,8 @@ EXPORT_SYMBOL(ar9003_paprd_populate_sing 
    132135  
    133136 int ar9003_paprd_setup_gain_table(struct ath_hw *ah, int chain) 
     
    145148        desired_gain = ar9003_get_desired_gain(ah, chain, train_power); 
    146149  
    147 @@ -716,7 +778,12 @@ EXPORT_SYMBOL(ar9003_paprd_create_curve) 
     150@@ -716,7 +781,12 @@ EXPORT_SYMBOL(ar9003_paprd_create_curve) 
    148151  
    149152 int ar9003_paprd_init_table(struct ath_hw *ah) 
     
    189192--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c 
    190193+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c 
    191 @@ -4798,6 +4798,14 @@ static void ath9k_hw_ar9300_set_txpower( 
     194@@ -4798,6 +4798,19 @@ static void ath9k_hw_ar9300_set_txpower( 
    192195        /* Write target power array to registers */ 
    193196        ar9003_hw_tx_power_regwrite(ah, targetPowerValT2); 
    194197        ar9003_hw_calibration_apply(ah, chan->channel); 
    195198+ 
    196 +       if (IS_CHAN_2GHZ(chan)) 
    197 +               i = ALL_TARGET_HT20_0_8_16; 
    198 +       else if (IS_CHAN_HT40(chan)) 
    199 +               i = ALL_TARGET_HT40_7; 
    200 +       else 
    201 +               i = ALL_TARGET_HT20_7; 
     199+       if (IS_CHAN_2GHZ(chan)) { 
     200+               if (IS_CHAN_HT40(chan)) 
     201+                       i = ALL_TARGET_HT40_0_8_16; 
     202+               else 
     203+                       i = ALL_TARGET_HT20_0_8_16; 
     204+       } else { 
     205+               if (IS_CHAN_HT40(chan)) 
     206+                       i = ALL_TARGET_HT40_7; 
     207+               else 
     208+                       i = ALL_TARGET_HT20_7; 
     209+       } 
    202210+       ah->paprd_target_power = targetPowerValT2[i]; 
    203211 } 
Note: See TracChangeset for help on using the changeset viewer.