diff options
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 4 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/debug.c | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 4 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/link.c | 2 |
5 files changed, 8 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c index 2588848f4a82..d066f2516e47 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | |||
| @@ -2982,6 +2982,10 @@ static u32 ath9k_hw_ar9300_get_eeprom(struct ath_hw *ah, | |||
| 2982 | case EEP_RX_MASK: | 2982 | case EEP_RX_MASK: |
| 2983 | return pBase->txrxMask & 0xf; | 2983 | return pBase->txrxMask & 0xf; |
| 2984 | case EEP_PAPRD: | 2984 | case EEP_PAPRD: |
| 2985 | if (AR_SREV_9462(ah)) | ||
| 2986 | return false; | ||
| 2987 | if (!ah->config.enable_paprd); | ||
| 2988 | return false; | ||
| 2985 | return !!(pBase->featureEnable & BIT(5)); | 2989 | return !!(pBase->featureEnable & BIT(5)); |
| 2986 | case EEP_CHAIN_MASK_REDUCE: | 2990 | case EEP_CHAIN_MASK_REDUCE: |
| 2987 | return (pBase->miscConfiguration >> 0x3) & 0x1; | 2991 | return (pBase->miscConfiguration >> 0x3) & 0x1; |
diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c index 68b643c8943c..c8ef30127adb 100644 --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c | |||
| @@ -1577,6 +1577,8 @@ int ath9k_init_debug(struct ath_hw *ah) | |||
| 1577 | sc->debug.debugfs_phy, sc, &fops_tx_chainmask); | 1577 | sc->debug.debugfs_phy, sc, &fops_tx_chainmask); |
| 1578 | debugfs_create_file("disable_ani", S_IRUSR | S_IWUSR, | 1578 | debugfs_create_file("disable_ani", S_IRUSR | S_IWUSR, |
| 1579 | sc->debug.debugfs_phy, sc, &fops_disable_ani); | 1579 | sc->debug.debugfs_phy, sc, &fops_disable_ani); |
| 1580 | debugfs_create_bool("paprd", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, | ||
| 1581 | &sc->sc_ah->config.enable_paprd); | ||
| 1580 | debugfs_create_file("regidx", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, | 1582 | debugfs_create_file("regidx", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, |
| 1581 | sc, &fops_regidx); | 1583 | sc, &fops_regidx); |
| 1582 | debugfs_create_file("regval", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, | 1584 | debugfs_create_file("regval", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, |
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 48af40151d23..4faf0a395876 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
| @@ -2497,10 +2497,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) | |||
| 2497 | pCap->rx_status_len = sizeof(struct ar9003_rxs); | 2497 | pCap->rx_status_len = sizeof(struct ar9003_rxs); |
| 2498 | pCap->tx_desc_len = sizeof(struct ar9003_txc); | 2498 | pCap->tx_desc_len = sizeof(struct ar9003_txc); |
| 2499 | pCap->txs_len = sizeof(struct ar9003_txs); | 2499 | pCap->txs_len = sizeof(struct ar9003_txs); |
| 2500 | if (!ah->config.paprd_disable && | ||
| 2501 | ah->eep_ops->get_eeprom(ah, EEP_PAPRD) && | ||
| 2502 | !AR_SREV_9462(ah)) | ||
| 2503 | pCap->hw_caps |= ATH9K_HW_CAP_PAPRD; | ||
| 2504 | } else { | 2500 | } else { |
| 2505 | pCap->tx_desc_len = sizeof(struct ath_desc); | 2501 | pCap->tx_desc_len = sizeof(struct ath_desc); |
| 2506 | if (AR_SREV_9280_20(ah)) | 2502 | if (AR_SREV_9280_20(ah)) |
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index 6599a75f01fe..de6968fc64f4 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
| @@ -236,7 +236,6 @@ enum ath9k_hw_caps { | |||
| 236 | ATH9K_HW_CAP_LDPC = BIT(6), | 236 | ATH9K_HW_CAP_LDPC = BIT(6), |
| 237 | ATH9K_HW_CAP_FASTCLOCK = BIT(7), | 237 | ATH9K_HW_CAP_FASTCLOCK = BIT(7), |
| 238 | ATH9K_HW_CAP_SGI_20 = BIT(8), | 238 | ATH9K_HW_CAP_SGI_20 = BIT(8), |
| 239 | ATH9K_HW_CAP_PAPRD = BIT(9), | ||
| 240 | ATH9K_HW_CAP_ANT_DIV_COMB = BIT(10), | 239 | ATH9K_HW_CAP_ANT_DIV_COMB = BIT(10), |
| 241 | ATH9K_HW_CAP_2GHZ = BIT(11), | 240 | ATH9K_HW_CAP_2GHZ = BIT(11), |
| 242 | ATH9K_HW_CAP_5GHZ = BIT(12), | 241 | ATH9K_HW_CAP_5GHZ = BIT(12), |
| @@ -287,12 +286,12 @@ struct ath9k_ops_config { | |||
| 287 | u8 pcie_clock_req; | 286 | u8 pcie_clock_req; |
| 288 | u32 pcie_waen; | 287 | u32 pcie_waen; |
| 289 | u8 analog_shiftreg; | 288 | u8 analog_shiftreg; |
| 290 | u8 paprd_disable; | ||
| 291 | u32 ofdm_trig_low; | 289 | u32 ofdm_trig_low; |
| 292 | u32 ofdm_trig_high; | 290 | u32 ofdm_trig_high; |
| 293 | u32 cck_trig_high; | 291 | u32 cck_trig_high; |
| 294 | u32 cck_trig_low; | 292 | u32 cck_trig_low; |
| 295 | u32 enable_ani; | 293 | u32 enable_ani; |
| 294 | u32 enable_paprd; | ||
| 296 | int serialize_regmode; | 295 | int serialize_regmode; |
| 297 | bool rx_intr_mitigation; | 296 | bool rx_intr_mitigation; |
| 298 | bool tx_intr_mitigation; | 297 | bool tx_intr_mitigation; |
diff --git a/drivers/net/wireless/ath/ath9k/link.c b/drivers/net/wireless/ath/ath9k/link.c index 825a29cc9313..7b88b9c39ccd 100644 --- a/drivers/net/wireless/ath/ath9k/link.c +++ b/drivers/net/wireless/ath/ath9k/link.c | |||
| @@ -423,7 +423,7 @@ set_timer: | |||
| 423 | cal_interval = min(cal_interval, (u32)short_cal_interval); | 423 | cal_interval = min(cal_interval, (u32)short_cal_interval); |
| 424 | 424 | ||
| 425 | mod_timer(&common->ani.timer, jiffies + msecs_to_jiffies(cal_interval)); | 425 | mod_timer(&common->ani.timer, jiffies + msecs_to_jiffies(cal_interval)); |
| 426 | if ((sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_PAPRD) && ah->caldata) { | 426 | if (ah->eep_ops->get_eeprom(ah, EEP_PAPRD) && ah->caldata) { |
| 427 | if (!ah->caldata->paprd_done) | 427 | if (!ah->caldata->paprd_done) |
| 428 | ieee80211_queue_work(sc->hw, &sc->paprd_work); | 428 | ieee80211_queue_work(sc->hw, &sc->paprd_work); |
| 429 | else if (!ah->paprd_table_write_done) | 429 | else if (!ah->paprd_table_write_done) |
