Changeset 36530


Ignore:
Timestamp:
2013-05-03T11:12:19+02:00 (5 years ago)
Author:
nbd
Message:

ar71xx: add an external reset callback for ar913x and use it in ath9k - should reduce the frequency of DMA stop failures

Signed-off-by: Felix Fietkau <nbd@…>

Location:
trunk
Files:
1 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/300-pending_work.patch

    r36467 r36530  
    2626--- a/drivers/net/wireless/ath/ath9k/hw.c 
    2727+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    28 @@ -1698,12 +1698,11 @@ static void ath9k_hw_reset_opmode(struct 
     28@@ -1366,7 +1366,10 @@ static bool ath9k_hw_set_reset(struct at 
     29  
     30        REGWRITE_BUFFER_FLUSH(ah); 
     31  
     32-       udelay(50); 
     33+       if (AR_SREV_9100(ah)) 
     34+               mdelay(10); 
     35+       else 
     36+               udelay(50); 
     37  
     38        REG_WRITE(ah, AR_RTC_RC, 0); 
     39        if (!ath9k_hw_wait(ah, AR_RTC_RC, AR_RTC_RC_M, 0, AH_WAIT_TIMEOUT)) { 
     40@@ -1377,8 +1380,12 @@ static bool ath9k_hw_set_reset(struct at 
     41        if (!AR_SREV_9100(ah)) 
     42                REG_WRITE(ah, AR_RC, 0); 
     43  
     44-       if (AR_SREV_9100(ah)) 
     45+       if (AR_SREV_9100(ah) && type != ATH9K_RESET_WARM) { 
     46+               if (ah->external_reset) 
     47+                       ah->external_reset(); 
     48+ 
     49                udelay(50); 
     50+       } 
     51  
     52        return true; 
     53 } 
     54@@ -1464,7 +1471,8 @@ static bool ath9k_hw_chip_reset(struct a 
     55                        reset_type = ATH9K_RESET_POWER_ON; 
     56                else 
     57                        reset_type = ATH9K_RESET_COLD; 
     58-       } else if (ah->chip_fullsleep || REG_READ(ah, AR_Q_TXE) || 
     59+       } else if (ah->chip_fullsleep || 
     60+                  REG_READ(ah, AR_Q_TXE) || 
     61                   (REG_READ(ah, AR_CR) & AR_CR_RXE)) 
     62                reset_type = ATH9K_RESET_COLD; 
     63  
     64@@ -1698,12 +1706,11 @@ static void ath9k_hw_reset_opmode(struct 
    2965  
    3066        ENABLE_REGWRITE_BUFFER(ah); 
  • trunk/package/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch

    r36448 r36530  
    11--- a/drivers/net/wireless/ath/ath9k/hw.c 
    22+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    3 @@ -2001,8 +2001,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     3@@ -2009,8 +2009,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
    44                REG_WRITE(ah, AR_OBS, 8); 
    55  
  • trunk/package/mac80211/patches/524-ath9k_use_configured_antenna_gain.patch

    r36448 r36530  
    1111--- a/drivers/net/wireless/ath/ath9k/hw.c 
    1212+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    13 @@ -2843,7 +2843,7 @@ void ath9k_hw_apply_txpower(struct ath_h 
     13@@ -2851,7 +2851,7 @@ void ath9k_hw_apply_txpower(struct ath_h 
    1414        channel = chan->chan; 
    1515        chan_pwr = min_t(int, channel->max_power * 2, MAX_RATE_POWER); 
  • trunk/package/mac80211/patches/553-ath9k_debugfs_diag.patch

    r36448 r36530  
    9595--- a/drivers/net/wireless/ath/ath9k/hw.c 
    9696+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    97 @@ -1845,6 +1845,20 @@ fail: 
     97@@ -1853,6 +1853,20 @@ fail: 
    9898        return -EINVAL; 
    9999 } 
     
    116116                   struct ath9k_hw_cal_data *caldata, bool fastcc) 
    117117 { 
    118 @@ -2046,6 +2060,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     118@@ -2054,6 +2068,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
    119119        } 
    120120  
  • trunk/package/mac80211/patches/555-ath9k-allow-to-disable-bands-via-platform-data.patch

    r36448 r36530  
    1313--- a/drivers/net/wireless/ath/ath9k/hw.c 
    1414+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    15 @@ -2439,17 +2439,25 @@ int ath9k_hw_fill_cap_info(struct ath_hw 
     15@@ -2447,17 +2447,25 @@ int ath9k_hw_fill_cap_info(struct ath_hw 
    1616        } 
    1717  
  • trunk/target/linux/ar71xx/patches-3.8/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch

    r35728 r36530  
    1717  
    1818 static struct resource ath79_wmac_resources[] = { 
    19 @@ -151,7 +153,7 @@ static void qca955x_wmac_setup(void) 
     19@@ -160,7 +162,7 @@ static void qca955x_wmac_setup(void) 
    2020                ath79_wmac_data.is_clk_25mhz = true; 
    2121 } 
     
    2626        if (soc_is_ar913x()) 
    2727                ar913x_wmac_setup(); 
    28 @@ -168,5 +170,10 @@ void __init ath79_register_wmac(u8 *cal_ 
     28@@ -177,5 +179,10 @@ void __init ath79_register_wmac(u8 *cal_ 
    2929                memcpy(ath79_wmac_data.eeprom_data, cal_data, 
    3030                       sizeof(ath79_wmac_data.eeprom_data)); 
  • trunk/target/linux/ar71xx/patches-3.8/522-MIPS-ath79-add-ath79_wmac_register_simple-helper.patch

    r35728 r36530  
    11--- a/arch/mips/ath79/dev-wmac.c 
    22+++ b/arch/mips/ath79/dev-wmac.c 
    3 @@ -180,3 +180,9 @@ void __init ath79_register_wmac(u8 *cal_ 
     3@@ -189,3 +189,9 @@ void __init ath79_register_wmac(u8 *cal_ 
    44  
    55        platform_device_register(&ath79_wmac_device); 
  • trunk/target/linux/ar71xx/patches-3.8/523-MIPS-ath79-OTP-support.patch

    r35878 r36530  
    11--- a/arch/mips/ath79/dev-wmac.c 
    22+++ b/arch/mips/ath79/dev-wmac.c 
    3 @@ -156,6 +156,137 @@ static void qca955x_wmac_setup(void) 
     3@@ -165,6 +165,137 @@ static void qca955x_wmac_setup(void) 
    44                ath79_wmac_data.is_clk_25mhz = true; 
    55 } 
  • trunk/target/linux/ar71xx/patches-3.8/524-MIPS-ath79-add-ath79_wmac_disable_25ghz-helpers.patch

    r35728 r36530  
    11--- a/arch/mips/ath79/dev-wmac.c 
    22+++ b/arch/mips/ath79/dev-wmac.c 
    3 @@ -287,6 +287,16 @@ bool __init ar93xx_wmac_read_mac_address 
     3@@ -296,6 +296,16 @@ bool __init ar93xx_wmac_read_mac_address 
    44        return ret; 
    55 } 
Note: See TracChangeset for help on using the changeset viewer.