linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] ath9k patches
@ 2014-09-03  3:09 Sujith Manoharan
  0 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2014-09-03  3:09 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless, ath9k-devel

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

Pending patches for ath9k, rebased over 3.17-rc3.

Sujith Manoharan (6):
  ath9k: Fix beacon configuration for channel contexts
  ath9k: Fix beacons for managed mode
  ath9k: Fix panic when adding an AP interface
  ath9k: Fix NoA start time calculation
  ath9k: Fix offchannel duration calculation
  ath9k: Add CTWindow support

 drivers/net/wireless/ath/ath9k/ath9k.h   |  2 ++
 drivers/net/wireless/ath/ath9k/beacon.c  | 12 ++++++++++
 drivers/net/wireless/ath/ath9k/channel.c | 39 +++++++++++++++++++++++++++-----
 drivers/net/wireless/ath/ath9k/init.c    |  5 ++--
 drivers/net/wireless/ath/ath9k/main.c    | 10 ++++----
 5 files changed, 56 insertions(+), 12 deletions(-)

-- 
2.1.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 0/6] ath9k patches
@ 2014-10-07  4:44 Sujith Manoharan
  0 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2014-10-07  4:44 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless, ath9k-devel

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

Various fixes.

Sujith Manoharan (6):
  ath: Fix smatch warning
  ath9k: Fix crash in MCC mode
  ath9k: Fix sequence number assignment
  ath9k: Use sta_state() callback
  ath9k: Enable multi-channel properly
  ath9k: Process beacons properly

 drivers/net/wireless/ath/ath9k/ath9k.h   |  6 +++--
 drivers/net/wireless/ath/ath9k/beacon.c  | 12 ++-------
 drivers/net/wireless/ath/ath9k/channel.c | 11 +++++---
 drivers/net/wireless/ath/ath9k/main.c    | 43 +++++++++++++++++++++++++-------
 drivers/net/wireless/ath/ath9k/xmit.c    | 34 +++++++++++++++++--------
 drivers/net/wireless/ath/main.c          |  8 +++---
 6 files changed, 75 insertions(+), 39 deletions(-)

-- 
2.1.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 0/6] ath9k patches
@ 2015-01-28 12:24 Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 1/6] ath9k: Update QCA953x initvals Sujith Manoharan
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Sujith Manoharan @ 2015-01-28 12:24 UTC (permalink / raw)
  To: linux-wireless

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

ath9k patches for -next.

v2 - Fix typo in patch "ath9k: Add a macro to identify PCOEM chips".

Sujith Manoharan (6):
  ath9k: Update QCA953x initvals
  ath9k: Update AR955x initvals
  ath9k: Add a macro to identify PCOEM chips
  ath9k: Fix manual peak calibration initialization
  ath9k: Set correct peak detect threshold
  ath9k: Enable manual peak detect calibration

 drivers/net/wireless/ath/ath9k/ar9003_calib.c      | 61 +++++++++++++++++-----
 drivers/net/wireless/ath/ath9k/ar953x_initvals.h   |  4 +-
 .../net/wireless/ath/ath9k/ar955x_1p0_initvals.h   |  4 +-
 drivers/net/wireless/ath/ath9k/reg.h               |  3 ++
 4 files changed, 55 insertions(+), 17 deletions(-)

-- 
2.2.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 1/6] ath9k: Update QCA953x initvals
  2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
@ 2015-01-28 12:24 ` Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 2/6] ath9k: Update AR955x initvals Sujith Manoharan
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2015-01-28 12:24 UTC (permalink / raw)
  To: linux-wireless

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

This patch disables HW peak detect calibration for
QCA953x, since it is problematic on a few boards.
Instead, manual calibration will be done in the
driver.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/ar953x_initvals.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar953x_initvals.h b/drivers/net/wireless/ath/ath9k/ar953x_initvals.h
index 159cc6f..6fc0d07 100644
--- a/drivers/net/wireless/ath/ath9k/ar953x_initvals.h
+++ b/drivers/net/wireless/ath/ath9k/ar953x_initvals.h
@@ -358,7 +358,7 @@ static const u32 qca953x_1p0_baseband_postamble[][5] = {
 	{0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
 	{0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce},
 	{0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021},
-	{0x00009e3c, 0xcfa10820, 0xcfa10820, 0xcfa10822, 0xcfa10822},
+	{0x00009e3c, 0xcfa10820, 0xcfa10820, 0xcfa10820, 0xcfa10820},
 	{0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
 	{0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
 	{0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
@@ -378,7 +378,7 @@ static const u32 qca953x_1p0_baseband_postamble[][5] = {
 	{0x0000a284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
 	{0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110},
 	{0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222},
-	{0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18},
+	{0x0000a2c4, 0x00158d18, 0x00158d18, 0x00058d18, 0x00058d18},
 	{0x0000a2cc, 0x18c50033, 0x18c43433, 0x18c41033, 0x18c44c33},
 	{0x0000a2d0, 0x00041982, 0x00041982, 0x00041982, 0x00041982},
 	{0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b},
-- 
2.2.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 2/6] ath9k: Update AR955x initvals
  2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 1/6] ath9k: Update QCA953x initvals Sujith Manoharan
@ 2015-01-28 12:24 ` Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 3/6] ath9k: Add a macro to identify PCOEM chips Sujith Manoharan
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2015-01-28 12:24 UTC (permalink / raw)
  To: linux-wireless

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

This patch disables HW peak detect calibration for
AR955x, since it is problematic on a few boards.
Instead, manual calibration will be done in the
driver.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h b/drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h
index fd6a84c..148562a 100644
--- a/drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h
+++ b/drivers/net/wireless/ath/ath9k/ar955x_1p0_initvals.h
@@ -63,7 +63,7 @@ static const u32 ar955x_1p0_baseband_postamble[][5] = {
 	{0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
 	{0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce},
 	{0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021},
-	{0x00009e3c, 0xcfa10820, 0xcfa10820, 0xcfa10822, 0xcfa10822},
+	{0x00009e3c, 0xcfa10820, 0xcfa10820, 0xcfa10820, 0xcfa10820},
 	{0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
 	{0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
 	{0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
@@ -83,7 +83,7 @@ static const u32 ar955x_1p0_baseband_postamble[][5] = {
 	{0x0000a284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
 	{0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110},
 	{0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222},
-	{0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18},
+	{0x0000a2c4, 0x00158d18, 0x00158d18, 0x00058d18, 0x00058d18},
 	{0x0000a2cc, 0x18c50033, 0x18c43433, 0x18c41033, 0x18c44c33},
 	{0x0000a2d0, 0x00041982, 0x00041982, 0x00041982, 0x00041982},
 	{0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b},
-- 
2.2.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 3/6] ath9k: Add a macro to identify PCOEM chips
  2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 1/6] ath9k: Update QCA953x initvals Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 2/6] ath9k: Update AR955x initvals Sujith Manoharan
@ 2015-01-28 12:24 ` Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 4/6] ath9k: Fix manual peak calibration initialization Sujith Manoharan
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2015-01-28 12:24 UTC (permalink / raw)
  To: linux-wireless

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

This can be used if we need to apply register settings
for all PCOEM solutions (in the AR9003 family).

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/reg.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index eb2bb0d..3c0b180 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -900,10 +900,13 @@
 	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9485))
 #define AR_SREV_9565(_ah) \
 	(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9565))
+#define AR_SREV_9003_PCOEM(_ah) \
+	(AR_SREV_9462(_ah) || AR_SREV_9485(_ah) || AR_SREV_9565(_ah))
 #else
 #define AR_SREV_9462(_ah) 0
 #define AR_SREV_9485(_ah) 0
 #define AR_SREV_9565(_ah) 0
+#define AR_SREV_9003_PCOEM(_ah) 0
 #endif
 
 #define AR_SREV_9485_11_OR_LATER(_ah) \
-- 
2.2.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 4/6] ath9k: Fix manual peak calibration initialization
  2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
                   ` (2 preceding siblings ...)
  2015-01-28 12:24 ` [PATCH v2 3/6] ath9k: Add a macro to identify PCOEM chips Sujith Manoharan
@ 2015-01-28 12:24 ` Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 5/6] ath9k: Set correct peak detect threshold Sujith Manoharan
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2015-01-28 12:24 UTC (permalink / raw)
  To: linux-wireless

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

The LNA gain setting override needs to be done
only for AR9330 and PCOEM chips.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/ar9003_calib.c | 38 +++++++++++++++++++++------
 1 file changed, 30 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
index 06ab71d..374aef1 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
@@ -1205,22 +1205,34 @@ static void ar9003_hw_manual_peak_cal(struct ath_hw *ah, u8 chain, bool is_2g)
 	int offset[8] = {0}, total = 0, test;
 	int agc_out, i;
 
+	/*
+	 * Turn off LNA/SW.
+	 */
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain),
 		      AR_PHY_65NM_RXRF_GAINSTAGES_RX_OVERRIDE, 0x1);
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain),
 		      AR_PHY_65NM_RXRF_GAINSTAGES_LNAON_CALDC, 0x0);
-	if (is_2g)
-		REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain),
-			      AR_PHY_65NM_RXRF_GAINSTAGES_LNA2G_GAIN_OVR, 0x0);
-	else
-		REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain),
-			      AR_PHY_65NM_RXRF_GAINSTAGES_LNA5G_GAIN_OVR, 0x0);
 
+	if (AR_SREV_9003_PCOEM(ah) || AR_SREV_9330_11(ah)) {
+		if (is_2g)
+			REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain),
+				      AR_PHY_65NM_RXRF_GAINSTAGES_LNA2G_GAIN_OVR, 0x0);
+		else
+			REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain),
+				      AR_PHY_65NM_RXRF_GAINSTAGES_LNA5G_GAIN_OVR, 0x0);
+	}
+
+	/*
+	 * Turn off RXON.
+	 */
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXTX2(chain),
 		      AR_PHY_65NM_RXTX2_RXON_OVR, 0x1);
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXTX2(chain),
 		      AR_PHY_65NM_RXTX2_RXON, 0x0);
 
+	/*
+	 * Turn on AGC for cal.
+	 */
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
 		      AR_PHY_65NM_RXRF_AGC_AGC_OVERRIDE, 0x1);
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
@@ -1228,10 +1240,11 @@ static void ar9003_hw_manual_peak_cal(struct ath_hw *ah, u8 chain, bool is_2g)
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
 		      AR_PHY_65NM_RXRF_AGC_AGC_CAL_OVR, 0x1);
 
-	if (AR_SREV_9330_11(ah)) {
+	if (AR_SREV_9330_11(ah))
 		REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
 			      AR_PHY_65NM_RXRF_AGC_AGC2G_CALDAC_OVR, 0x0);
-	} else {
+
+	if (AR_SREV_9003_PCOEM(ah)) {
 		if (is_2g)
 			REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
 				      AR_PHY_65NM_RXRF_AGC_AGC2G_DBDAC_OVR, 0x0);
@@ -1266,10 +1279,19 @@ static void ar9003_hw_manual_peak_cal(struct ath_hw *ah, u8 chain, bool is_2g)
 		REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
 			      AR_PHY_65NM_RXRF_AGC_AGC5G_CALDAC_OVR, total);
 
+	/*
+	 * Turn on LNA.
+	 */
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain),
 		      AR_PHY_65NM_RXRF_GAINSTAGES_RX_OVERRIDE, 0);
+	/*
+	 * Turn off RXON.
+	 */
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXTX2(chain),
 		      AR_PHY_65NM_RXTX2_RXON_OVR, 0);
+	/*
+	 * Turn off peak detect calibration.
+	 */
 	REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
 		      AR_PHY_65NM_RXRF_AGC_AGC_CAL_OVR, 0);
 }
-- 
2.2.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 5/6] ath9k: Set correct peak detect threshold
  2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
                   ` (3 preceding siblings ...)
  2015-01-28 12:24 ` [PATCH v2 4/6] ath9k: Fix manual peak calibration initialization Sujith Manoharan
@ 2015-01-28 12:24 ` Sujith Manoharan
  2015-01-28 12:24 ` [PATCH v2 6/6] ath9k: Enable manual peak detect calibration Sujith Manoharan
  2015-01-29  8:37 ` [PATCH v2 0/6] ath9k patches Kalle Valo
  6 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2015-01-28 12:24 UTC (permalink / raw)
  To: linux-wireless

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

The value is different for PCOEM cards and AR955x/AR953x.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/ar9003_calib.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
index 374aef1..91130c0 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
@@ -1203,7 +1203,12 @@ static void ar9003_hw_tx_iq_cal_reload(struct ath_hw *ah)
 static void ar9003_hw_manual_peak_cal(struct ath_hw *ah, u8 chain, bool is_2g)
 {
 	int offset[8] = {0}, total = 0, test;
-	int agc_out, i;
+	int agc_out, i, peak_detect_threshold;
+
+	if (AR_SREV_9550(ah) || AR_SREV_9531(ah))
+		peak_detect_threshold = 8;
+	else
+		peak_detect_threshold = 0;
 
 	/*
 	 * Turn off LNA/SW.
@@ -1244,13 +1249,15 @@ static void ar9003_hw_manual_peak_cal(struct ath_hw *ah, u8 chain, bool is_2g)
 		REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
 			      AR_PHY_65NM_RXRF_AGC_AGC2G_CALDAC_OVR, 0x0);
 
-	if (AR_SREV_9003_PCOEM(ah)) {
+	if (AR_SREV_9003_PCOEM(ah) || AR_SREV_9550(ah) || AR_SREV_9531(ah)) {
 		if (is_2g)
 			REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
-				      AR_PHY_65NM_RXRF_AGC_AGC2G_DBDAC_OVR, 0x0);
+				      AR_PHY_65NM_RXRF_AGC_AGC2G_DBDAC_OVR,
+				      peak_detect_threshold);
 		else
 			REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain),
-				      AR_PHY_65NM_RXRF_AGC_AGC5G_DBDAC_OVR, 0x0);
+				      AR_PHY_65NM_RXRF_AGC_AGC5G_DBDAC_OVR,
+				      peak_detect_threshold);
 	}
 
 	for (i = 6; i > 0; i--) {
-- 
2.2.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 6/6] ath9k: Enable manual peak detect calibration
  2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
                   ` (4 preceding siblings ...)
  2015-01-28 12:24 ` [PATCH v2 5/6] ath9k: Set correct peak detect threshold Sujith Manoharan
@ 2015-01-28 12:24 ` Sujith Manoharan
  2015-01-29  8:37 ` [PATCH v2 0/6] ath9k patches Kalle Valo
  6 siblings, 0 replies; 10+ messages in thread
From: Sujith Manoharan @ 2015-01-28 12:24 UTC (permalink / raw)
  To: linux-wireless

From: Sujith Manoharan <c_manoha@qca.qualcomm.com>

On some AR955x/QCA953x boards, noise floor calibration
gets stuck and the cause is a hardware/BB issue. To fix
this, peak detect calibration in the HW is disabled
and is done in the driver instead. There a few differences
with the calibration routine for older chips like
AR9331.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/ar9003_calib.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
index 91130c0..174442b 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
@@ -1640,8 +1640,14 @@ static bool ar9003_hw_init_cal_soc(struct ath_hw *ah,
 
 skip_tx_iqcal:
 	if (run_agc_cal || !(ah->ah_flags & AH_FASTCC)) {
-		if (AR_SREV_9330_11(ah))
-			ar9003_hw_manual_peak_cal(ah, 0, IS_CHAN_2GHZ(chan));
+		if (AR_SREV_9330_11(ah) || AR_SREV_9531(ah) || AR_SREV_9550(ah)) {
+			for (i = 0; i < AR9300_MAX_CHAINS; i++) {
+				if (!(ah->rxchainmask & (1 << i)))
+					continue;
+				ar9003_hw_manual_peak_cal(ah, i,
+							  IS_CHAN_2GHZ(chan));
+			}
+		}
 
 		/*
 		 * For non-AR9550 chips, we just trigger AGC calibration
-- 
2.2.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/6] ath9k patches
  2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
                   ` (5 preceding siblings ...)
  2015-01-28 12:24 ` [PATCH v2 6/6] ath9k: Enable manual peak detect calibration Sujith Manoharan
@ 2015-01-29  8:37 ` Kalle Valo
  6 siblings, 0 replies; 10+ messages in thread
From: Kalle Valo @ 2015-01-29  8:37 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: linux-wireless

Sujith Manoharan <sujith@msujith.org> writes:

> From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
>
> ath9k patches for -next.
>
> v2 - Fix typo in patch "ath9k: Add a macro to identify PCOEM chips".
>
> Sujith Manoharan (6):
>   ath9k: Update QCA953x initvals
>   ath9k: Update AR955x initvals
>   ath9k: Add a macro to identify PCOEM chips
>   ath9k: Fix manual peak calibration initialization
>   ath9k: Set correct peak detect threshold
>   ath9k: Enable manual peak detect calibration

Thanks, all six applied to wireless-drivers-next.git.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-01-29  8:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-28 12:24 [PATCH v2 0/6] ath9k patches Sujith Manoharan
2015-01-28 12:24 ` [PATCH v2 1/6] ath9k: Update QCA953x initvals Sujith Manoharan
2015-01-28 12:24 ` [PATCH v2 2/6] ath9k: Update AR955x initvals Sujith Manoharan
2015-01-28 12:24 ` [PATCH v2 3/6] ath9k: Add a macro to identify PCOEM chips Sujith Manoharan
2015-01-28 12:24 ` [PATCH v2 4/6] ath9k: Fix manual peak calibration initialization Sujith Manoharan
2015-01-28 12:24 ` [PATCH v2 5/6] ath9k: Set correct peak detect threshold Sujith Manoharan
2015-01-28 12:24 ` [PATCH v2 6/6] ath9k: Enable manual peak detect calibration Sujith Manoharan
2015-01-29  8:37 ` [PATCH v2 0/6] ath9k patches Kalle Valo
  -- strict thread matches above, loose matches on Subject: below --
2014-10-07  4:44 Sujith Manoharan
2014-09-03  3:09 Sujith Manoharan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).