All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* [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

* [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

* [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 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 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 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 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

* 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

* 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

* 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

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.