* [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 @ 2011-07-28 17:29 Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 2/9] ath9k: Dump modal " Rajkumar Manoharan ` (8 more replies) 0 siblings, 9 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan Debugfs file location: <debugfs_mnt>/ieee80211/phy#/ath9k/base_eeprom Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/debug.c | 147 ++++++++++++++++++++++++++++++++ 1 files changed, 147 insertions(+), 0 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c index d1eb896..df71c72 100644 --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c @@ -1163,6 +1163,151 @@ static const struct file_operations fops_regdump = { .llseek = default_llseek,/* read accesses f_pos */ }; +static ssize_t read_file_base_eeprom(struct file *file, char __user *user_buf, + size_t count, loff_t *ppos) +{ + struct ath_softc *sc = file->private_data; + struct ath_hw *ah = sc->sc_ah; + struct ar9300_base_eep_hdr *pBase = NULL; + unsigned int len = 0, size = 1500; + ssize_t retval = 0; + char *buf; + + if (!AR_SREV_9300_20_OR_LATER(ah)) + return 0; + + pBase = (struct ar9300_base_eep_hdr *) + &ah->eeprom.ar9300_eep.baseEepHeader; + + buf = kzalloc(size, GFP_KERNEL); + if (buf == NULL) + return -ENOMEM; + + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "EEPROM Version", + ah->eeprom.ar9300_eep.eepromVersion); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "RegDomain1", + le16_to_cpu(pBase->regDmn[0])); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "RegDomain2", + le16_to_cpu(pBase->regDmn[1])); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "TX Mask", + (pBase->txrxMask >> 4)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "RX Mask", + (pBase->txrxMask & 0x0f)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Allow 5GHz", + !!(pBase->opCapFlags.opFlags & AR5416_OPFLAGS_11A)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Allow 2GHz", + !!(pBase->opCapFlags.opFlags & AR5416_OPFLAGS_11G)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Disable 2GHz HT20", + !!(pBase->opCapFlags.opFlags & + AR5416_OPFLAGS_N_2G_HT20)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Disable 2GHz HT40", + !!(pBase->opCapFlags.opFlags & + AR5416_OPFLAGS_N_2G_HT40)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Disable 5Ghz HT20", + !!(pBase->opCapFlags.opFlags & + AR5416_OPFLAGS_N_5G_HT20)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Disable 5Ghz HT40", + !!(pBase->opCapFlags.opFlags & + AR5416_OPFLAGS_N_5G_HT40)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Big Endian", + !!(pBase->opCapFlags.eepMisc & 0x01)); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "RF Silent", + pBase->rfSilent); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "BT option", + pBase->blueToothOptions); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Device Cap", + pBase->deviceCap); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Device Type", + pBase->deviceType); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Power Table Offset", + pBase->pwrTableOffset); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Tuning Caps1", + pBase->params_for_tuning_caps[0]); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Tuning Caps2", + pBase->params_for_tuning_caps[1]); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Enable Tx Temp Comp", + !!(pBase->featureEnable & BIT(0))); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Enable Tx Volt Comp", + !!(pBase->featureEnable & BIT(1))); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Enable fast clock", + !!(pBase->featureEnable & BIT(2))); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Enable doubling", + !!(pBase->featureEnable & BIT(3))); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Internal regulator", + !!(pBase->featureEnable & BIT(4))); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Enable Paprd", + !!(pBase->featureEnable & BIT(5))); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Driver Strength", + !!(pBase->miscConfiguration & BIT(0))); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Chain mask Reduce", + (pBase->miscConfiguration >> 0x3) & 0x1); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Write enable Gpio", + pBase->eepromWriteEnableGpio); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "WLAN Disable Gpio", + pBase->wlanDisableGpio); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "WLAN LED Gpio", + pBase->wlanLedGpio); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Rx Band Select Gpio", + pBase->rxBandSelectGpio); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Tx Gain", + pBase->txrxgain >> 4); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "Rx Gain", + pBase->txrxgain & 0xf); + len += snprintf(buf + len, size - len, + "%20s : %10d\n", "SW Reg", + le32_to_cpu(pBase->swreg)); + + len += snprintf(buf + len, size - len, "%20s : %pM\n", "MacAddress", + ah->eeprom.ar9300_eep.macAddr); + if (len > size) + len = size; + + retval = simple_read_from_buffer(user_buf, count, ppos, buf, len); + kfree(buf); + + return retval; +} + +static const struct file_operations fops_base_eeprom = { + .read = read_file_base_eeprom, + .open = ath9k_debugfs_open, + .owner = THIS_MODULE, + .llseek = default_llseek, +}; + int ath9k_init_debug(struct ath_hw *ah) { struct ath_common *common = ath9k_hw_common(ah); @@ -1206,6 +1351,8 @@ int ath9k_init_debug(struct ath_hw *ah) &ah->config.cwm_ignore_extcca); debugfs_create_file("regdump", S_IRUSR, sc->debug.debugfs_phy, sc, &fops_regdump); + debugfs_create_file("base_eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, + &fops_base_eeprom); debugfs_create_u32("gpio_mask", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, &sc->sc_ah->gpio_mask); -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/9] ath9k: Dump modal eeprom header for AR9003 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 3/9] ath9k: Remove virtual wiphy specific frame type Rajkumar Manoharan ` (7 subsequent siblings) 8 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan Debugfs file location: <debugfs_mnt>/ieee80211/phy#/ath9k/modal_eeprom Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/debug.c | 96 ++++++++++++++++++++++++++++++++ 1 files changed, 96 insertions(+), 0 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c index df71c72..b0a80d5 100644 --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c @@ -1308,6 +1308,100 @@ static const struct file_operations fops_base_eeprom = { .llseek = default_llseek, }; +static u32 read_9003_modal_eeprom(char *buf, u32 len, u32 size, + struct ar9300_modal_eep_header *pModal) +{ +#define PR_EEP(_s, _val) \ + do { \ + len += snprintf(buf + len, size - len, "%20s : %10d\n", \ + _s, (_val)); \ + } while (0) + + PR_EEP("Chain0 Ant. Control", le16_to_cpu(pModal->antCtrlChain[0])); + PR_EEP("Chain1 Ant. Control", le16_to_cpu(pModal->antCtrlChain[1])); + PR_EEP("Chain2 Ant. Control", le16_to_cpu(pModal->antCtrlChain[1])); + PR_EEP("Ant. Common Control", le32_to_cpu(pModal->antCtrlCommon)); + PR_EEP("Ant. Common Control2", le32_to_cpu(pModal->antCtrlCommon2)); + PR_EEP("Ant. Gain", pModal->antennaGain); + PR_EEP("Switch Settle", pModal->switchSettling); + PR_EEP("Chain0 xatten1DB", pModal->xatten1DB[0]); + PR_EEP("Chain1 xatten1DB", pModal->xatten1DB[1]); + PR_EEP("Chain2 xatten1DB", pModal->xatten1DB[2]); + PR_EEP("Chain0 xatten1Margin", pModal->xatten1Margin[0]); + PR_EEP("Chain1 xatten1Margin", pModal->xatten1Margin[1]); + PR_EEP("Chain2 xatten1Margin", pModal->xatten1Margin[2]); + PR_EEP("Temp Slope", pModal->tempSlope); + PR_EEP("Volt Slope", pModal->voltSlope); + PR_EEP("spur Channels0", pModal->spurChans[0]); + PR_EEP("spur Channels1", pModal->spurChans[1]); + PR_EEP("spur Channels2", pModal->spurChans[2]); + PR_EEP("spur Channels3", pModal->spurChans[3]); + PR_EEP("spur Channels4", pModal->spurChans[4]); + PR_EEP("Chain0 NF Threshold", pModal->noiseFloorThreshCh[0]); + PR_EEP("Chain1 NF Threshold", pModal->noiseFloorThreshCh[1]); + PR_EEP("Chain2 NF Threshold", pModal->noiseFloorThreshCh[2]); + PR_EEP("xPA Bias Level", pModal->xpaBiasLvl); + PR_EEP("txFrameToDataStart", pModal->txFrameToDataStart); + PR_EEP("txFrameToPaOn", pModal->txFrameToPaOn); + PR_EEP("txFrameToXpaOn", pModal->txFrameToXpaOn); + PR_EEP("txClip", pModal->txClip); + PR_EEP("ADC Desired size", pModal->adcDesiredSize); + PR_EEP("Chain0 ob", pModal->ob[0]); + PR_EEP("Chain1 ob", pModal->ob[1]); + PR_EEP("Chain2 ob", pModal->ob[2]); + + PR_EEP("Chain0 db_stage2", pModal->db_stage2[0]); + PR_EEP("Chain1 db_stage2", pModal->db_stage2[1]); + PR_EEP("Chain2 db_stage2", pModal->db_stage2[2]); + PR_EEP("Chain0 db_stage3", pModal->db_stage3[0]); + PR_EEP("Chain1 db_stage3", pModal->db_stage3[1]); + PR_EEP("Chain2 db_stage3", pModal->db_stage3[2]); + PR_EEP("Chain0 db_stage4", pModal->db_stage4[0]); + PR_EEP("Chain1 db_stage4", pModal->db_stage4[1]); + PR_EEP("Chain2 db_stage4", pModal->db_stage4[2]); + if (len > size) + len = size; + + return len; + +#undef PR_EEP +} + +static ssize_t read_file_modal_eeprom(struct file *file, char __user *user_buf, + size_t count, loff_t *ppos) +{ + struct ath_softc *sc = file->private_data; + struct ath_hw *ah = sc->sc_ah; + struct ar9300_eeprom *eep = &ah->eeprom.ar9300_eep; + u32 len = 0, size = 6000; + char *buf; + size_t retval; + + buf = kzalloc(size, GFP_KERNEL); + if (buf == NULL) + return -ENOMEM; + + if (!AR_SREV_9300_20_OR_LATER(ah)) + return 0; + + len += snprintf(buf + len, size - len, "%20s :\n", "2GHz modal Header"); + len += read_9003_modal_eeprom(buf, len, size, &eep->modalHeader2G); + len += snprintf(buf + len, size - len, "%20s :\n", "5GHz modal Header"); + len += read_9003_modal_eeprom(buf, len, size, &eep->modalHeader5G); + + retval = simple_read_from_buffer(user_buf, count, ppos, buf, len); + kfree(buf); + + return retval; +} + +static const struct file_operations fops_modal_eeprom = { + .read = read_file_modal_eeprom, + .open = ath9k_debugfs_open, + .owner = THIS_MODULE, + .llseek = default_llseek, +}; + int ath9k_init_debug(struct ath_hw *ah) { struct ath_common *common = ath9k_hw_common(ah); @@ -1353,6 +1447,8 @@ int ath9k_init_debug(struct ath_hw *ah) &fops_regdump); debugfs_create_file("base_eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, &fops_base_eeprom); + debugfs_create_file("modal_eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, + &fops_modal_eeprom); debugfs_create_u32("gpio_mask", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, &sc->sc_ah->gpio_mask); -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 3/9] ath9k: Remove virtual wiphy specific frame type 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 2/9] ath9k: Dump modal " Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 4/9] ath9k_hw: Fix incorrect Tx control power in AR9003 template Rajkumar Manoharan ` (6 subsequent siblings) 8 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan This patch cleanups virtual wiphy specific frametype structure Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/ath9k.h | 3 --- drivers/net/wireless/ath/ath9k/rc.h | 6 ------ drivers/net/wireless/ath/ath9k/xmit.c | 6 ++---- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 298a941..dcd97e2 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h @@ -216,7 +216,6 @@ struct ath_buf_state { u8 bf_type; u8 bfs_paprd; unsigned long bfs_paprd_timestamp; - enum ath9k_internal_frame_type bfs_ftype; }; struct ath_buf { @@ -272,8 +271,6 @@ struct ath_node { struct ath_tx_control { struct ath_txq *txq; struct ath_node *an; - int if_id; - enum ath9k_internal_frame_type frame_type; u8 paprd; }; diff --git a/drivers/net/wireless/ath/ath9k/rc.h b/drivers/net/wireless/ath/ath9k/rc.h index c3d8502..b7a4bcd 100644 --- a/drivers/net/wireless/ath/ath9k/rc.h +++ b/drivers/net/wireless/ath/ath9k/rc.h @@ -221,12 +221,6 @@ struct ath_rate_priv { struct ath_rc_stats rcstats[RATE_TABLE_SIZE]; }; -enum ath9k_internal_frame_type { - ATH9K_IFT_NOT_INTERNAL, - ATH9K_IFT_PAUSE, - ATH9K_IFT_UNPAUSE -}; - #ifdef CONFIG_ATH9K_RATE_CONTROL int ath_rate_control_register(void); void ath_rate_control_unregister(void); diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index f210e2b..70a512f 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -1792,7 +1792,6 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf, INIT_LIST_HEAD(&bf_head); list_add_tail(&bf->list, &bf_head); - bf->bf_state.bfs_ftype = txctl->frame_type; bf->bf_state.bfs_paprd = txctl->paprd; if (bf->bf_state.bfs_paprd) @@ -1891,7 +1890,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb, /*****************/ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb, - int tx_flags, int ftype, struct ath_txq *txq) + int tx_flags, struct ath_txq *txq) { struct ieee80211_hw *hw = sc->hw; struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); @@ -1976,8 +1975,7 @@ static void ath_tx_complete_buf(struct ath_softc *sc, struct ath_buf *bf, complete(&sc->paprd_complete); } else { ath_debug_stat_tx(sc, bf, ts, txq); - ath_tx_complete(sc, skb, tx_flags, - bf->bf_state.bfs_ftype, txq); + ath_tx_complete(sc, skb, tx_flags, txq); } /* At this point, skb (bf->bf_mpdu) is consumed...make sure we don't * accidentally reference it later. -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 4/9] ath9k_hw: Fix incorrect Tx control power in AR9003 template 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 2/9] ath9k: Dump modal " Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 3/9] ath9k: Remove virtual wiphy specific frame type Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 21:12 ` Luis R. Rodriguez 2011-07-28 17:29 ` [PATCH 5/9] ath9k_hw: Optimize rx descriptor processing for AR9003 Rajkumar Manoharan ` (5 subsequent siblings) 8 siblings, 1 reply; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan CTL power data incorrect in ctlPowerData_2G field of ar9300_eeprom. Setting incorrect CTL power in calibration is causing lower tx power. This issue was identified in HT40 mode on channel 6 & 11. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c index d109c25..6cfc9eb 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c @@ -307,7 +307,7 @@ static const struct ar9300_eeprom ar9300_default = { { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } }, - { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } }, + { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, @@ -884,7 +884,7 @@ static const struct ar9300_eeprom ar9300_x113 = { { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } }, - { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } }, + { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, @@ -2040,7 +2040,7 @@ static const struct ar9300_eeprom ar9300_x112 = { { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } }, - { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } }, + { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } }, -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 4/9] ath9k_hw: Fix incorrect Tx control power in AR9003 template 2011-07-28 17:29 ` [PATCH 4/9] ath9k_hw: Fix incorrect Tx control power in AR9003 template Rajkumar Manoharan @ 2011-07-28 21:12 ` Luis R. Rodriguez 2011-07-29 6:54 ` Rajkumar Manoharan 0 siblings, 1 reply; 17+ messages in thread From: Luis R. Rodriguez @ 2011-07-28 21:12 UTC (permalink / raw) To: Rajkumar Manoharan; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan <rmanohar@qca.qualcomm.com> wrote: > CTL power data incorrect in ctlPowerData_2G field of ar9300_eeprom. > Setting incorrect CTL power in calibration is causing lower tx power. > This issue was identified in HT40 mode on channel 6 & 11. > > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Is this a stable fix? If so can you please resend with a Cc: stable@kernel.org on the commit log message and explain why its a stable fix. Luis ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/9] ath9k_hw: Fix incorrect Tx control power in AR9003 template 2011-07-28 21:12 ` Luis R. Rodriguez @ 2011-07-29 6:54 ` Rajkumar Manoharan 0 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-29 6:54 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 02:12:49PM -0700, Luis R. Rodriguez wrote: > On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan > <rmanohar@qca.qualcomm.com> wrote: > > CTL power data incorrect in ctlPowerData_2G field of ar9300_eeprom. > > Setting incorrect CTL power in calibration is causing lower tx power. > > This issue was identified in HT40 mode on channel 6 & 11. > > > > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> > > Is this a stable fix? If so can you please resend with a Cc: > stable@kernel.org on the commit log message and explain why its a > stable fix. > Yes. The issue is that tx power is shown as 3dBm while operating in channel 6 at HT40+ or channel 11 at HT40- due to CTL powers in the calibration is set to zero. Will send v2 patch. -- Rajkumar ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 5/9] ath9k_hw: Optimize rx descriptor processing for AR9003 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan ` (2 preceding siblings ...) 2011-07-28 17:29 ` [PATCH 4/9] ath9k_hw: Fix incorrect Tx control power in AR9003 template Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 6/9] ath9k_hw: update PMU to improve ripple issue for AR9485 Rajkumar Manoharan ` (4 subsequent siblings) 8 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan No need to process RxDone and ds_info status again in case valid rx status is given. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/ar9003_mac.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c index 8ff0b88..1aadc47 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c @@ -531,17 +531,18 @@ int ath9k_hw_process_rxdesc_edma(struct ath_hw *ah, struct ath_rx_status *rxs, /* TODO: byte swap on big endian for ar9300_10 */ - if ((rxsp->status11 & AR_RxDone) == 0) - return -EINPROGRESS; + if (!rxs) { + if ((rxsp->status11 & AR_RxDone) == 0) + return -EINPROGRESS; - if (MS(rxsp->ds_info, AR_DescId) != 0x168c) - return -EINVAL; + if (MS(rxsp->ds_info, AR_DescId) != 0x168c) + return -EINVAL; - if ((rxsp->ds_info & (AR_TxRxDesc | AR_CtrlStat)) != 0) - return -EINPROGRESS; + if ((rxsp->ds_info & (AR_TxRxDesc | AR_CtrlStat)) != 0) + return -EINPROGRESS; - if (!rxs) return 0; + } rxs->rs_status = 0; rxs->rs_flags = 0; -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 6/9] ath9k_hw: update PMU to improve ripple issue for AR9485 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan ` (3 preceding siblings ...) 2011-07-28 17:29 ` [PATCH 5/9] ath9k_hw: Optimize rx descriptor processing for AR9003 Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 21:14 ` Luis R. Rodriguez 2011-07-28 17:29 ` [PATCH 7/9] ath9k_hw: Disable Walsh spatial spreading for 2 chains Rajkumar Manoharan ` (3 subsequent siblings) 8 siblings, 1 reply; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c index 6cfc9eb..c34bef1 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c @@ -3734,7 +3734,7 @@ static void ar9003_hw_internal_regulator_apply(struct ath_hw *ah) } } else { reg_pmu_set = (5 << 1) | (7 << 4) | - (1 << 8) | (2 << 14) | + (2 << 8) | (2 << 14) | (6 << 17) | (1 << 20) | (3 << 24) | (1 << 28); } -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 6/9] ath9k_hw: update PMU to improve ripple issue for AR9485 2011-07-28 17:29 ` [PATCH 6/9] ath9k_hw: update PMU to improve ripple issue for AR9485 Rajkumar Manoharan @ 2011-07-28 21:14 ` Luis R. Rodriguez 2011-07-29 7:07 ` Rajkumar Manoharan 0 siblings, 1 reply; 17+ messages in thread From: Luis R. Rodriguez @ 2011-07-28 21:14 UTC (permalink / raw) To: Rajkumar Manoharan; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan <rmanohar@qca.qualcomm.com> wrote: > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Is this a stable fix <etc, etc>, what effects are there to not apply this patch ? Luis ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 6/9] ath9k_hw: update PMU to improve ripple issue for AR9485 2011-07-28 21:14 ` Luis R. Rodriguez @ 2011-07-29 7:07 ` Rajkumar Manoharan 0 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-29 7:07 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 02:14:01PM -0700, Luis R. Rodriguez wrote: > On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan > <rmanohar@qca.qualcomm.com> wrote: > > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> > > Is this a stable fix <etc, etc>, what effects are there to not apply > this patch ? > The commit ebefce3d13f8b5a871337ff7c3821ee140c1ea8a missed to set proper PMU value to address ripple issue for AR9485. Will v2 send patch with Ccing to stable. -- Rajkumar ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 7/9] ath9k_hw: Disable Walsh spatial spreading for 2 chains 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan ` (4 preceding siblings ...) 2011-07-28 17:29 ` [PATCH 6/9] ath9k_hw: update PMU to improve ripple issue for AR9485 Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 21:14 ` Luis R. Rodriguez 2011-07-28 17:29 ` [PATCH 8/9] ath9k_hw: Update the radio parameters related to high_power Rajkumar Manoharan ` (2 subsequent siblings) 8 siblings, 1 reply; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h index 2339728..28b44b0 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h @@ -636,7 +636,7 @@ static const u32 ar9300_2p2_baseband_postamble[][5] = { {0x00009e44, 0x02321e27, 0x02321e27, 0x02291e27, 0x02291e27}, {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012}, {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000}, - {0x0000a204, 0x000037c0, 0x000037c4, 0x000037c4, 0x000037c0}, + {0x0000a204, 0x000036c0, 0x000036c4, 0x000036c4, 0x000036c0}, {0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004}, {0x0000a22c, 0x01026a2f, 0x01026a2f, 0x01026a2f, 0x01026a2f}, {0x0000a230, 0x0000000a, 0x00000014, 0x00000016, 0x0000000b}, -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 7/9] ath9k_hw: Disable Walsh spatial spreading for 2 chains 2011-07-28 17:29 ` [PATCH 7/9] ath9k_hw: Disable Walsh spatial spreading for 2 chains Rajkumar Manoharan @ 2011-07-28 21:14 ` Luis R. Rodriguez 2011-07-29 7:09 ` Rajkumar Manoharan 0 siblings, 1 reply; 17+ messages in thread From: Luis R. Rodriguez @ 2011-07-28 21:14 UTC (permalink / raw) To: Rajkumar Manoharan; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan <rmanohar@qca.qualcomm.com> wrote: > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Same questions. Luis ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 7/9] ath9k_hw: Disable Walsh spatial spreading for 2 chains 2011-07-28 21:14 ` Luis R. Rodriguez @ 2011-07-29 7:09 ` Rajkumar Manoharan 0 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-29 7:09 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 02:14:22PM -0700, Luis R. Rodriguez wrote: > On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan > <rmanohar@qca.qualcomm.com> wrote: > > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> > > Same questions. > No this ini change does not address regression. Though the changes are minimal, it is not a stable patch. -- Rajkumar ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 8/9] ath9k_hw: Update the radio parameters related to high_power 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan ` (5 preceding siblings ...) 2011-07-28 17:29 ` [PATCH 7/9] ath9k_hw: Disable Walsh spatial spreading for 2 chains Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 9/9] ath9k_hw: Update AR9003 high_power tx gain table Rajkumar Manoharan 2011-07-28 21:11 ` [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Luis R. Rodriguez 8 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h index 28b44b0..275b53d 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h @@ -928,15 +928,15 @@ static const u32 ar9300Modes_high_power_tx_gain_table_2p2[][5] = { {0x0000c2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, {0x0000c2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, {0x0000c2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, - {0x00016044, 0x056db2e6, 0x056db2e6, 0x056db2e6, 0x056db2e6}, - {0x00016048, 0xae480001, 0xae480001, 0xae480001, 0xae480001}, - {0x00016068, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c}, - {0x00016444, 0x056db2e6, 0x056db2e6, 0x056db2e6, 0x056db2e6}, - {0x00016448, 0xae480001, 0xae480001, 0xae480001, 0xae480001}, - {0x00016468, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c}, - {0x00016844, 0x056db2e6, 0x056db2e6, 0x056db2e6, 0x056db2e6}, - {0x00016848, 0xae480001, 0xae480001, 0xae480001, 0xae480001}, - {0x00016868, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c}, + {0x00016044, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, + {0x00016048, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, + {0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, + {0x00016444, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, + {0x00016448, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, + {0x00016468, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, + {0x00016844, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, + {0x00016848, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, + {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, }; static const u32 ar9300Modes_high_ob_db_tx_gain_table_2p2[][5] = { -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 9/9] ath9k_hw: Update AR9003 high_power tx gain table 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan ` (6 preceding siblings ...) 2011-07-28 17:29 ` [PATCH 8/9] ath9k_hw: Update the radio parameters related to high_power Rajkumar Manoharan @ 2011-07-28 17:29 ` Rajkumar Manoharan 2011-07-28 21:11 ` [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Luis R. Rodriguez 8 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-28 17:29 UTC (permalink / raw) To: linville; +Cc: linux-wireless, Rajkumar Manoharan The high_power tx gain table is changed to match the low_ob_db tx gain table for both 5G and 2G. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> --- .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 172 ++++++++++---------- 1 files changed, 86 insertions(+), 86 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h index 275b53d..f2c6f23 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h @@ -835,98 +835,98 @@ static const u32 ar9300_2p2_baseband_core[][2] = { static const u32 ar9300Modes_high_power_tx_gain_table_2p2[][5] = { /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ - {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, - {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, - {0x0000a2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, + {0x0000a2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, + {0x0000a2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, + {0x0000a2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, - {0x0000a410, 0x000050d8, 0x000050d8, 0x000050d9, 0x000050d9}, - {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, - {0x0000a504, 0x04002222, 0x04002222, 0x04000002, 0x04000002}, - {0x0000a508, 0x09002421, 0x09002421, 0x08000004, 0x08000004}, - {0x0000a50c, 0x0d002621, 0x0d002621, 0x0b000200, 0x0b000200}, - {0x0000a510, 0x13004620, 0x13004620, 0x0f000202, 0x0f000202}, - {0x0000a514, 0x19004a20, 0x19004a20, 0x11000400, 0x11000400}, - {0x0000a518, 0x1d004e20, 0x1d004e20, 0x15000402, 0x15000402}, - {0x0000a51c, 0x21005420, 0x21005420, 0x19000404, 0x19000404}, - {0x0000a520, 0x26005e20, 0x26005e20, 0x1b000603, 0x1b000603}, - {0x0000a524, 0x2b005e40, 0x2b005e40, 0x1f000a02, 0x1f000a02}, - {0x0000a528, 0x2f005e42, 0x2f005e42, 0x23000a04, 0x23000a04}, - {0x0000a52c, 0x33005e44, 0x33005e44, 0x26000a20, 0x26000a20}, - {0x0000a530, 0x38005e65, 0x38005e65, 0x2a000e20, 0x2a000e20}, - {0x0000a534, 0x3c005e69, 0x3c005e69, 0x2e000e22, 0x2e000e22}, - {0x0000a538, 0x40005e6b, 0x40005e6b, 0x31000e24, 0x31000e24}, - {0x0000a53c, 0x44005e6d, 0x44005e6d, 0x34001640, 0x34001640}, - {0x0000a540, 0x49005e72, 0x49005e72, 0x38001660, 0x38001660}, - {0x0000a544, 0x4e005eb2, 0x4e005eb2, 0x3b001861, 0x3b001861}, - {0x0000a548, 0x53005f12, 0x53005f12, 0x3e001a81, 0x3e001a81}, - {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83}, - {0x0000a550, 0x5e025f12, 0x5e025f12, 0x44001c84, 0x44001c84}, - {0x0000a554, 0x61027f12, 0x61027f12, 0x48001ce3, 0x48001ce3}, - {0x0000a558, 0x6702bf12, 0x6702bf12, 0x4c001ce5, 0x4c001ce5}, - {0x0000a55c, 0x6b02bf14, 0x6b02bf14, 0x50001ce9, 0x50001ce9}, - {0x0000a560, 0x6f02bf16, 0x6f02bf16, 0x54001ceb, 0x54001ceb}, - {0x0000a564, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, - {0x0000a568, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, - {0x0000a56c, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, - {0x0000a570, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, - {0x0000a574, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, - {0x0000a578, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, - {0x0000a57c, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, - {0x0000a580, 0x00802220, 0x00802220, 0x00800000, 0x00800000}, - {0x0000a584, 0x04802222, 0x04802222, 0x04800002, 0x04800002}, - {0x0000a588, 0x09802421, 0x09802421, 0x08800004, 0x08800004}, - {0x0000a58c, 0x0d802621, 0x0d802621, 0x0b800200, 0x0b800200}, - {0x0000a590, 0x13804620, 0x13804620, 0x0f800202, 0x0f800202}, - {0x0000a594, 0x19804a20, 0x19804a20, 0x11800400, 0x11800400}, - {0x0000a598, 0x1d804e20, 0x1d804e20, 0x15800402, 0x15800402}, - {0x0000a59c, 0x21805420, 0x21805420, 0x19800404, 0x19800404}, - {0x0000a5a0, 0x26805e20, 0x26805e20, 0x1b800603, 0x1b800603}, - {0x0000a5a4, 0x2b805e40, 0x2b805e40, 0x1f800a02, 0x1f800a02}, - {0x0000a5a8, 0x2f805e42, 0x2f805e42, 0x23800a04, 0x23800a04}, - {0x0000a5ac, 0x33805e44, 0x33805e44, 0x26800a20, 0x26800a20}, - {0x0000a5b0, 0x38805e65, 0x38805e65, 0x2a800e20, 0x2a800e20}, - {0x0000a5b4, 0x3c805e69, 0x3c805e69, 0x2e800e22, 0x2e800e22}, - {0x0000a5b8, 0x40805e6b, 0x40805e6b, 0x31800e24, 0x31800e24}, - {0x0000a5bc, 0x44805e6d, 0x44805e6d, 0x34801640, 0x34801640}, - {0x0000a5c0, 0x49805e72, 0x49805e72, 0x38801660, 0x38801660}, - {0x0000a5c4, 0x4e805eb2, 0x4e805eb2, 0x3b801861, 0x3b801861}, - {0x0000a5c8, 0x53805f12, 0x53805f12, 0x3e801a81, 0x3e801a81}, - {0x0000a5cc, 0x59825eb2, 0x59825eb2, 0x42801a83, 0x42801a83}, - {0x0000a5d0, 0x5e825f12, 0x5e825f12, 0x44801c84, 0x44801c84}, - {0x0000a5d4, 0x61827f12, 0x61827f12, 0x48801ce3, 0x48801ce3}, - {0x0000a5d8, 0x6782bf12, 0x6782bf12, 0x4c801ce5, 0x4c801ce5}, - {0x0000a5dc, 0x6b82bf14, 0x6b82bf14, 0x50801ce9, 0x50801ce9}, - {0x0000a5e0, 0x6f82bf16, 0x6f82bf16, 0x54801ceb, 0x54801ceb}, - {0x0000a5e4, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, - {0x0000a5e8, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, - {0x0000a5ec, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, - {0x0000a5f0, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, - {0x0000a5f4, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, - {0x0000a5f8, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, - {0x0000a5fc, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, + {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, + {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, + {0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004}, + {0x0000a50c, 0x10000023, 0x10000023, 0x0b000200, 0x0b000200}, + {0x0000a510, 0x16000220, 0x16000220, 0x0f000202, 0x0f000202}, + {0x0000a514, 0x1c000223, 0x1c000223, 0x12000400, 0x12000400}, + {0x0000a518, 0x21002220, 0x21002220, 0x16000402, 0x16000402}, + {0x0000a51c, 0x27002223, 0x27002223, 0x19000404, 0x19000404}, + {0x0000a520, 0x2b022220, 0x2b022220, 0x1c000603, 0x1c000603}, + {0x0000a524, 0x2f022222, 0x2f022222, 0x21000a02, 0x21000a02}, + {0x0000a528, 0x34022225, 0x34022225, 0x25000a04, 0x25000a04}, + {0x0000a52c, 0x3a02222a, 0x3a02222a, 0x28000a20, 0x28000a20}, + {0x0000a530, 0x3e02222c, 0x3e02222c, 0x2c000e20, 0x2c000e20}, + {0x0000a534, 0x4202242a, 0x4202242a, 0x30000e22, 0x30000e22}, + {0x0000a538, 0x4702244a, 0x4702244a, 0x34000e24, 0x34000e24}, + {0x0000a53c, 0x4b02244c, 0x4b02244c, 0x38001640, 0x38001640}, + {0x0000a540, 0x4e02246c, 0x4e02246c, 0x3c001660, 0x3c001660}, + {0x0000a544, 0x52022470, 0x52022470, 0x3f001861, 0x3f001861}, + {0x0000a548, 0x55022490, 0x55022490, 0x43001a81, 0x43001a81}, + {0x0000a54c, 0x59022492, 0x59022492, 0x47001a83, 0x47001a83}, + {0x0000a550, 0x5d022692, 0x5d022692, 0x4a001c84, 0x4a001c84}, + {0x0000a554, 0x61022892, 0x61022892, 0x4e001ce3, 0x4e001ce3}, + {0x0000a558, 0x65024890, 0x65024890, 0x52001ce5, 0x52001ce5}, + {0x0000a55c, 0x69024892, 0x69024892, 0x56001ce9, 0x56001ce9}, + {0x0000a560, 0x6e024c92, 0x6e024c92, 0x5a001ceb, 0x5a001ceb}, + {0x0000a564, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a568, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a56c, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a570, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a574, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a578, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a57c, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, + {0x0000a580, 0x00800000, 0x00800000, 0x00800000, 0x00800000}, + {0x0000a584, 0x06800003, 0x06800003, 0x04800002, 0x04800002}, + {0x0000a588, 0x0a800020, 0x0a800020, 0x08800004, 0x08800004}, + {0x0000a58c, 0x10800023, 0x10800023, 0x0b800200, 0x0b800200}, + {0x0000a590, 0x16800220, 0x16800220, 0x0f800202, 0x0f800202}, + {0x0000a594, 0x1c800223, 0x1c800223, 0x12800400, 0x12800400}, + {0x0000a598, 0x21802220, 0x21802220, 0x16800402, 0x16800402}, + {0x0000a59c, 0x27802223, 0x27802223, 0x19800404, 0x19800404}, + {0x0000a5a0, 0x2b822220, 0x2b822220, 0x1c800603, 0x1c800603}, + {0x0000a5a4, 0x2f822222, 0x2f822222, 0x21800a02, 0x21800a02}, + {0x0000a5a8, 0x34822225, 0x34822225, 0x25800a04, 0x25800a04}, + {0x0000a5ac, 0x3a82222a, 0x3a82222a, 0x28800a20, 0x28800a20}, + {0x0000a5b0, 0x3e82222c, 0x3e82222c, 0x2c800e20, 0x2c800e20}, + {0x0000a5b4, 0x4282242a, 0x4282242a, 0x30800e22, 0x30800e22}, + {0x0000a5b8, 0x4782244a, 0x4782244a, 0x34800e24, 0x34800e24}, + {0x0000a5bc, 0x4b82244c, 0x4b82244c, 0x38801640, 0x38801640}, + {0x0000a5c0, 0x4e82246c, 0x4e82246c, 0x3c801660, 0x3c801660}, + {0x0000a5c4, 0x52822470, 0x52822470, 0x3f801861, 0x3f801861}, + {0x0000a5c8, 0x55822490, 0x55822490, 0x43801a81, 0x43801a81}, + {0x0000a5cc, 0x59822492, 0x59822492, 0x47801a83, 0x47801a83}, + {0x0000a5d0, 0x5d822692, 0x5d822692, 0x4a801c84, 0x4a801c84}, + {0x0000a5d4, 0x61822892, 0x61822892, 0x4e801ce3, 0x4e801ce3}, + {0x0000a5d8, 0x65824890, 0x65824890, 0x52801ce5, 0x52801ce5}, + {0x0000a5dc, 0x69824892, 0x69824892, 0x56801ce9, 0x56801ce9}, + {0x0000a5e0, 0x6e824c92, 0x6e824c92, 0x5a801ceb, 0x5a801ceb}, + {0x0000a5e4, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5e8, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5ec, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5f0, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5f4, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5f8, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, + {0x0000a5fc, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, - {0x0000a610, 0x00804000, 0x00804000, 0x00000000, 0x00000000}, - {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000}, - {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501}, - {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501}, - {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03}, - {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04}, - {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04}, - {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, - {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, - {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, - {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, - {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, - {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, - {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, - {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, + {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a614, 0x02004000, 0x02004000, 0x01404000, 0x01404000}, + {0x0000a618, 0x02004801, 0x02004801, 0x01404501, 0x01404501}, + {0x0000a61c, 0x02808a02, 0x02808a02, 0x02008501, 0x02008501}, + {0x0000a620, 0x0380ce03, 0x0380ce03, 0x0280ca03, 0x0280ca03}, + {0x0000a624, 0x04411104, 0x04411104, 0x03010c04, 0x03010c04}, + {0x0000a628, 0x04411104, 0x04411104, 0x04014c04, 0x04014c04}, + {0x0000a62c, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a630, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a634, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a638, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000a63c, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, + {0x0000b2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, + {0x0000b2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, + {0x0000b2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, - {0x0000c2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, - {0x0000c2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, - {0x0000c2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, + {0x0000c2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, + {0x0000c2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, + {0x0000c2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, {0x0000c2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, {0x00016044, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, {0x00016048, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, -- 1.7.6 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan ` (7 preceding siblings ...) 2011-07-28 17:29 ` [PATCH 9/9] ath9k_hw: Update AR9003 high_power tx gain table Rajkumar Manoharan @ 2011-07-28 21:11 ` Luis R. Rodriguez 2011-07-29 6:46 ` Rajkumar Manoharan 8 siblings, 1 reply; 17+ messages in thread From: Luis R. Rodriguez @ 2011-07-28 21:11 UTC (permalink / raw) To: Rajkumar Manoharan; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan <rmanohar@qca.qualcomm.com> wrote: > Debugfs file location: > <debugfs_mnt>/ieee80211/phy#/ath9k/base_eeprom > > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> > --- > drivers/net/wireless/ath/ath9k/debug.c | 147 ++++++++++++++++++++++++++++++++ > 1 files changed, 147 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c > index d1eb896..df71c72 100644 > --- a/drivers/net/wireless/ath/ath9k/debug.c > +++ b/drivers/net/wireless/ath/ath9k/debug.c > @@ -1163,6 +1163,151 @@ static const struct file_operations fops_regdump = { > .llseek = default_llseek,/* read accesses f_pos */ > }; > > +static ssize_t read_file_base_eeprom(struct file *file, char __user *user_buf, > + size_t count, loff_t *ppos) > +{ > + struct ath_softc *sc = file->private_data; > + struct ath_hw *ah = sc->sc_ah; > + struct ar9300_base_eep_hdr *pBase = NULL; > + unsigned int len = 0, size = 1500; > + ssize_t retval = 0; > + char *buf; > + > + if (!AR_SREV_9300_20_OR_LATER(ah)) > + return 0; This is really really cool stuff, but instead of doing this can we instead implement this as a callback design which would enable other hw revisions to be supported? If we do not then we need to make the code branch out on each type of card. Luis ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 2011-07-28 21:11 ` [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Luis R. Rodriguez @ 2011-07-29 6:46 ` Rajkumar Manoharan 0 siblings, 0 replies; 17+ messages in thread From: Rajkumar Manoharan @ 2011-07-29 6:46 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: linville, linux-wireless On Thu, Jul 28, 2011 at 02:11:32PM -0700, Luis R. Rodriguez wrote: > On Thu, Jul 28, 2011 at 10:29 AM, Rajkumar Manoharan > <rmanohar@qca.qualcomm.com> wrote: > > Debugfs file location: > > <debugfs_mnt>/ieee80211/phy#/ath9k/base_eeprom > > > > Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> > > --- > > drivers/net/wireless/ath/ath9k/debug.c | 147 ++++++++++++++++++++++++++++++++ > > 1 files changed, 147 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c > > index d1eb896..df71c72 100644 > > --- a/drivers/net/wireless/ath/ath9k/debug.c > > +++ b/drivers/net/wireless/ath/ath9k/debug.c > > @@ -1163,6 +1163,151 @@ static const struct file_operations fops_regdump = { > > .llseek = default_llseek,/* read accesses f_pos */ > > }; > > > > +static ssize_t read_file_base_eeprom(struct file *file, char __user *user_buf, > > + size_t count, loff_t *ppos) > > +{ > > + struct ath_softc *sc = file->private_data; > > + struct ath_hw *ah = sc->sc_ah; > > + struct ar9300_base_eep_hdr *pBase = NULL; > > + unsigned int len = 0, size = 1500; > > + ssize_t retval = 0; > > + char *buf; > > + > > + if (!AR_SREV_9300_20_OR_LATER(ah)) > > + return 0; > > This is really really cool stuff, but instead of doing this can we > instead implement this as a callback design which would enable other > hw revisions to be supported? If we do not then we need to make the > code branch out on each type of card. > Yeah. Let us have common cb and ath9k & ath9k_htc can make use of it. Thanks for your comments. -- Rajkumar ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-07-29 7:09 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-07-28 17:29 [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 2/9] ath9k: Dump modal " Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 3/9] ath9k: Remove virtual wiphy specific frame type Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 4/9] ath9k_hw: Fix incorrect Tx control power in AR9003 template Rajkumar Manoharan 2011-07-28 21:12 ` Luis R. Rodriguez 2011-07-29 6:54 ` Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 5/9] ath9k_hw: Optimize rx descriptor processing for AR9003 Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 6/9] ath9k_hw: update PMU to improve ripple issue for AR9485 Rajkumar Manoharan 2011-07-28 21:14 ` Luis R. Rodriguez 2011-07-29 7:07 ` Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 7/9] ath9k_hw: Disable Walsh spatial spreading for 2 chains Rajkumar Manoharan 2011-07-28 21:14 ` Luis R. Rodriguez 2011-07-29 7:09 ` Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 8/9] ath9k_hw: Update the radio parameters related to high_power Rajkumar Manoharan 2011-07-28 17:29 ` [PATCH 9/9] ath9k_hw: Update AR9003 high_power tx gain table Rajkumar Manoharan 2011-07-28 21:11 ` [PATCH 1/9] ath9k: Dump base eeprom header for AR9003 Luis R. Rodriguez 2011-07-29 6:46 ` Rajkumar Manoharan
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.