All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: linville@tuxdriver.com
Cc: linux-wireless@vger.kernel.org,
	"Luis R. Rodriguez" <lrodriguez@atheros.com>
Subject: [PATCH 012/102] ath9k_hw: add a private callback for PLL control computation
Date: Thu,  8 Apr 2010 15:26:08 -0400	[thread overview]
Message-ID: <1270754858-26266-13-git-send-email-lrodriguez@atheros.com> (raw)
In-Reply-To: <1270754858-26266-1-git-send-email-lrodriguez@atheros.com>

The PLL control computation used to program the AR_RTC_PLL_CONTROL
register varies between our harware so just add a private callback for it.
AR9003 will use its own callback.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 drivers/net/wireless/ath/ath9k/ar5008_phy.c |   55 +++++++++++++++++++++++
 drivers/net/wireless/ath/ath9k/ar9002_phy.c |   31 +++++++++++++
 drivers/net/wireless/ath/ath9k/hw.c         |   64 +++------------------------
 drivers/net/wireless/ath/ath9k/hw.h         |    4 ++
 4 files changed, 97 insertions(+), 57 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
index 4459d63..31ecea8 100644
--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
@@ -961,6 +961,54 @@ static void ar5008_set_diversity(struct ath_hw *ah, bool value)
 	REG_WRITE(ah, AR_PHY_CCK_DETECT, v);
 }
 
+static u32 ar9100_hw_compute_pll_control(struct ath_hw *ah,
+					 struct ath9k_channel *chan)
+{
+	if (chan && IS_CHAN_5GHZ(chan))
+		return 0x1450;
+	return 0x1458;
+}
+
+static u32 ar9160_hw_compute_pll_control(struct ath_hw *ah,
+					 struct ath9k_channel *chan)
+{
+	u32 pll;
+
+	pll = SM(0x5, AR_RTC_9160_PLL_REFDIV);
+
+	if (chan && IS_CHAN_HALF_RATE(chan))
+		pll |= SM(0x1, AR_RTC_9160_PLL_CLKSEL);
+	else if (chan && IS_CHAN_QUARTER_RATE(chan))
+		pll |= SM(0x2, AR_RTC_9160_PLL_CLKSEL);
+
+	if (chan && IS_CHAN_5GHZ(chan))
+		pll |= SM(0x50, AR_RTC_9160_PLL_DIV);
+	else
+		pll |= SM(0x58, AR_RTC_9160_PLL_DIV);
+
+	return pll;
+}
+
+static u32 ar5008_hw_compute_pll_control(struct ath_hw *ah,
+					 struct ath9k_channel *chan)
+{
+	u32 pll;
+
+	pll = AR_RTC_PLL_REFDIV_5 | AR_RTC_PLL_DIV2;
+
+	if (chan && IS_CHAN_HALF_RATE(chan))
+		pll |= SM(0x1, AR_RTC_PLL_CLKSEL);
+	else if (chan && IS_CHAN_QUARTER_RATE(chan))
+		pll |= SM(0x2, AR_RTC_PLL_CLKSEL);
+
+	if (chan && IS_CHAN_5GHZ(chan))
+		pll |= SM(0xa, AR_RTC_PLL_DIV);
+	else
+		pll |= SM(0xb, AR_RTC_PLL_DIV);
+
+	return pll;
+}
+
 void ar5008_hw_attach_phy_ops(struct ath_hw *ah)
 {
 	struct ath_hw_private_ops *priv_ops = ath9k_hw_private_ops(ah);
@@ -982,4 +1030,11 @@ void ar5008_hw_attach_phy_ops(struct ath_hw *ah)
 	priv_ops->enable_rfkill = ar5008_hw_enable_rfkill;
 	priv_ops->restore_chainmask = ar5008_restore_chainmask;
 	priv_ops->set_diversity = ar5008_set_diversity;
+
+	if (AR_SREV_9100(ah))
+		priv_ops->compute_pll_control = ar9100_hw_compute_pll_control;
+	else if (AR_SREV_9160_10_OR_LATER(ah))
+		priv_ops->compute_pll_control = ar9160_hw_compute_pll_control;
+	else
+		priv_ops->compute_pll_control = ar5008_hw_compute_pll_control;
 }
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_phy.c b/drivers/net/wireless/ath/ath9k/ar9002_phy.c
index 1c36012..f94fc27 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_phy.c
@@ -437,6 +437,36 @@ static void ar9002_olc_init(struct ath_hw *ah)
 	}
 }
 
+static u32 ar9002_hw_compute_pll_control(struct ath_hw *ah,
+					 struct ath9k_channel *chan)
+{
+	u32 pll;
+
+	pll = SM(0x5, AR_RTC_9160_PLL_REFDIV);
+
+	if (chan && IS_CHAN_HALF_RATE(chan))
+		pll |= SM(0x1, AR_RTC_9160_PLL_CLKSEL);
+	else if (chan && IS_CHAN_QUARTER_RATE(chan))
+		pll |= SM(0x2, AR_RTC_9160_PLL_CLKSEL);
+
+	if (chan && IS_CHAN_5GHZ(chan)) {
+		pll |= SM(0x28, AR_RTC_9160_PLL_DIV);
+
+
+		if (AR_SREV_9280_20(ah)) {
+			if (((chan->channel % 20) == 0)
+			    || ((chan->channel % 10) == 0))
+				pll = 0x2850;
+			else
+				pll = 0x142c;
+		}
+	} else {
+		pll |= SM(0x2c, AR_RTC_9160_PLL_DIV);
+	}
+
+	return pll;
+}
+
 void ar9002_hw_attach_phy_ops(struct ath_hw *ah)
 {
 	struct ath_hw_private_ops *priv_ops = ath9k_hw_private_ops(ah);
@@ -447,4 +477,5 @@ void ar9002_hw_attach_phy_ops(struct ath_hw *ah)
 	priv_ops->rf_set_freq = ar9002_hw_set_channel;
 	priv_ops->spur_mitigate_freq = ar9002_hw_spur_mitigate;
 	priv_ops->olc_init = ar9002_olc_init;
+	priv_ops->compute_pll_control = ar9002_hw_compute_pll_control;
 }
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index b242b03..d3b7a98 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -67,6 +67,12 @@ static bool ath9k_hw_macversion_supported(struct ath_hw *ah)
 	return ath9k_hw_private_ops(ah)->macversion_supported(ah->hw_version.macVersion);
 }
 
+static u32 ath9k_hw_compute_pll_control(struct ath_hw *ah,
+					struct ath9k_channel *chan)
+{
+	return ath9k_hw_private_ops(ah)->compute_pll_control(ah, chan);
+}
+
 /********************/
 /* Helper Functions */
 /********************/
@@ -1031,64 +1037,8 @@ static void ath9k_hw_init_qos(struct ath_hw *ah)
 static void ath9k_hw_init_pll(struct ath_hw *ah,
 			      struct ath9k_channel *chan)
 {
-	u32 pll;
-
-	if (AR_SREV_9100(ah)) {
-		if (chan && IS_CHAN_5GHZ(chan))
-			pll = 0x1450;
-		else
-			pll = 0x1458;
-	} else {
-		if (AR_SREV_9280_10_OR_LATER(ah)) {
-			pll = SM(0x5, AR_RTC_9160_PLL_REFDIV);
-
-			if (chan && IS_CHAN_HALF_RATE(chan))
-				pll |= SM(0x1, AR_RTC_9160_PLL_CLKSEL);
-			else if (chan && IS_CHAN_QUARTER_RATE(chan))
-				pll |= SM(0x2, AR_RTC_9160_PLL_CLKSEL);
-
-			if (chan && IS_CHAN_5GHZ(chan)) {
-				pll |= SM(0x28, AR_RTC_9160_PLL_DIV);
-
-
-				if (AR_SREV_9280_20(ah)) {
-					if (((chan->channel % 20) == 0)
-					    || ((chan->channel % 10) == 0))
-						pll = 0x2850;
-					else
-						pll = 0x142c;
-				}
-			} else {
-				pll |= SM(0x2c, AR_RTC_9160_PLL_DIV);
-			}
-
-		} else if (AR_SREV_9160_10_OR_LATER(ah)) {
-
-			pll = SM(0x5, AR_RTC_9160_PLL_REFDIV);
-
-			if (chan && IS_CHAN_HALF_RATE(chan))
-				pll |= SM(0x1, AR_RTC_9160_PLL_CLKSEL);
-			else if (chan && IS_CHAN_QUARTER_RATE(chan))
-				pll |= SM(0x2, AR_RTC_9160_PLL_CLKSEL);
-
-			if (chan && IS_CHAN_5GHZ(chan))
-				pll |= SM(0x50, AR_RTC_9160_PLL_DIV);
-			else
-				pll |= SM(0x58, AR_RTC_9160_PLL_DIV);
-		} else {
-			pll = AR_RTC_PLL_REFDIV_5 | AR_RTC_PLL_DIV2;
-
-			if (chan && IS_CHAN_HALF_RATE(chan))
-				pll |= SM(0x1, AR_RTC_PLL_CLKSEL);
-			else if (chan && IS_CHAN_QUARTER_RATE(chan))
-				pll |= SM(0x2, AR_RTC_PLL_CLKSEL);
+	u32 pll = ath9k_hw_compute_pll_control(ah, chan);
 
-			if (chan && IS_CHAN_5GHZ(chan))
-				pll |= SM(0xa, AR_RTC_PLL_DIV);
-			else
-				pll |= SM(0xb, AR_RTC_PLL_DIV);
-		}
-	}
 	REG_WRITE(ah, AR_RTC_PLL_CONTROL, pll);
 
 	/* Switch the core clock for ar9271 to 117Mhz */
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index b277b41..a0ab32a 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -454,6 +454,8 @@ struct ath_gen_timer_table {
  * @rf_alloc_ext_banks:
  * @rf_free_ext_banks:
  * @set_rf_regs:
+ * @compute_pll_control: compute the PLL control value to use for
+ *	AR_RTC_PLL_CONTROL for a given channel
  */
 struct ath_hw_private_ops {
 	void (*init_cal_settings)(struct ath_hw *ah);
@@ -483,6 +485,8 @@ struct ath_hw_private_ops {
 	void (*enable_rfkill)(struct ath_hw *ah);
 	void (*restore_chainmask)(struct ath_hw *ah);
 	void (*set_diversity)(struct ath_hw *ah, bool value);
+	u32 (*compute_pll_control)(struct ath_hw *ah,
+				   struct ath9k_channel *chan);
 };
 
 /**
-- 
1.6.3.3


  parent reply	other threads:[~2010-04-08 19:27 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-08 19:25 [PATCH 000/102] ath9k: add AR9003 support Luis R. Rodriguez
2010-04-08 19:25 ` [PATCH 001/102] ath9k_hw: start building an abstraction layer for hardware routines Luis R. Rodriguez
2010-04-08 19:25 ` [PATCH 002/102] ath9k_hw: add silicon revision macros for AR9300 Luis R. Rodriguez
2010-04-08 20:57   ` Pavel Roskin
2010-04-08 19:25 ` [PATCH 003/102] ath9k_hw: add a macro for abstracting generic timer access Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 004/102] ath9k_hw: fix a missing hex prefix for a register mask Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 005/102] ath9k_hw: add simple register abstraction for some AR9300 registers Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 006/102] ath9k_hw: add support for GPIO differences on AR9003 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 007/102] ath9k_hw: AR9003 does not have AR_RC_AHB skip its setting Luis R. Rodriguez
2010-04-08 21:18   ` Pavel Roskin
2010-04-08 21:23     ` Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 008/102] ath9k_hw: remove wrapper ath9k_hw_write_regs() Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 009/102] ath9k_hw: Move some RF ops to the private callbacks Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 010/102] ath9k_hw: skip PLL initialization on AR9003 on Power-On-Reset Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 011/102] ath9k_hw: add some comments for ath9k_set_power_network_sleep() Luis R. Rodriguez
2010-04-09 20:29   ` Pavel Roskin
2010-04-08 19:26 ` Luis R. Rodriguez [this message]
2010-04-13 19:54   ` [PATCH 012/102] ath9k_hw: add a private callback for PLL control computation John W. Linville
2010-04-13 20:15     ` Felix Fietkau
2010-04-13 21:42       ` Luis R. Rodriguez
2010-04-13 23:38         ` John W. Linville
2010-04-13 23:43           ` Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 013/102] ath9k_hw: Add the PCI IDs for AR9300 and fill up the pci_id_tables Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 014/102] ath9k_hw: Add AR9003 PHY support Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 015/102] ath9k_hw: move init config and default after chip is up Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 016/102] ath9k_hw: add the AR9003 ar9003_hw_macversion_supported() Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 017/102] ath9k_hw: enable all ANI functionality for AR9003 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 018/102] ath9k_hw: Add hw cap flag for EDMA for the AR9003 family Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 019/102] ath9k_hw: Fill few hw cap for edma Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 020/102] ath9k_hw: Add abstraction for rx enable Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 021/102] ath9k_hw: Fill rx_enable() for the AR9003 hardware family Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 022/102] ath9k_hw: Add few routines for rx edma support Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 023/102] ath9k_hw: update the chip tests for AR9003 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 024/102] ath9k_hw: prevent reset control register zeroing on AR9003 reset Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 025/102] ath9k_hw: Add AR9003 PHY register definitions Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 026/102] ath9k_hw: add common channel select helpers for ar900[23] Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 027/102] ath9k_hw: Set the channel on AR9003 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 028/102] ath9k_hw: Implement PLL control " Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 029/102] ath9k_hw: Implement spur mitigation " Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 030/102] ath9k_hw: split initvals.h by hardware family Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 031/102] ath9k_hw: run Lindent on intivals Luis R. Rodriguez
2010-04-09 20:48   ` Pavel Roskin
2010-04-09 21:32     ` Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 032/102] ath9k_hw: add initvals for the AR9003 hardware family Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 033/102] ath9k_hw: add helpers for processing the AR9003 INI Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 034/102] ath9k_hw: Split off ANI control to the PHY ops Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 035/102] ath9k_hw: add all the AR9003 PHY callbacks Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 036/102] ath9k_hw: Define tx control struct for AR9003 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 037/102] ath9k_hw: Move code which populates ds_data to ath9k_hw Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 038/102] ath9k_hw: Add abstraction to set/get link pointer Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 039/102] ath9k: Use abstraction to get " Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 040/102] ath9k: Use memcpy in ath_clone_txbuf() Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 041/102] ath9k: Remove ATH9K_TX_SW_ABORTED and introduce a bool for this purpose Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 042/102] ath9k: Make bf_desc of ath_buf opaque Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 043/102] ath9k: Add Rx EDMA support Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 044/102] ath9k_hw: Split out the function for reading the noise floor Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 045/102] ath9k_hw: Get rid of eep_map and reorganize the functions Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 046/102] ath9k_hw: add a helper for Power Amplifier calibration for AR9002 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 047/102] ath9k_hw: add a helper for the OLC tem compensation " Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 048/102] ath9k_hw: rename PA calib for AR9287 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 049/102] ath9k_hw: shift code for AR9280 OLC temp comp Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 050/102] ath9k_hw: move the AR9280 OLC temp comp to its own helper Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 051/102] ath9k_hw: simplify OLC temp compensation for AR9002 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 052/102] ath9k_hw: rename the PA calib routines to match their families Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 053/102] ath9k_hw: rename getNoiseFloorThresh() to ath9k_hw_loadnf() Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 054/102] ath9k_hw: move the cal AR9100 calibration settings Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 055/102] ath9k_hw: split calib code by hardware families Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 056/102] ath9k_hw: add the AR9003 ar9003_hw_init_cal callback Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 057/102] ath9k_hw: add the config_pci_powersave AR9003 callback Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 058/102] ath9k_hw: split the generic hardware code by hardware family Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 059/102] ath9k_hw: move the cck channel 14 INI to the AR9002 hw code Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 060/102] ath9k_hw: move TX/RX gain INI stuff to its own hardware family code Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 061/102] ath9k_hw: Abstract the routine which returns interrupt status Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 062/102] ath9k_hw: Initialize interrupt mask for AR9003 Luis R. Rodriguez
2010-04-08 19:26 ` [PATCH 063/102] ath9k_hw: abstract the AR_PHY_AGC_CONTROL register access Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 064/102] ath9k_hw: abstract loading noisefloor Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 065/102] ath9k_hw: fill in the callbacks for calibration for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 066/102] ath9k_hw: add a helper for changing the TX/RX masks Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 067/102] ath9k_hw: complete AR9003 calibration Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 068/102] ath9k_hw: rename eep_AR9287_ops to eep_ar9287_ops Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 069/102] ath9k_hw: restore mac address reading logic Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 070/102] ath9k_hw: Implement AR9003 eeprom callbacks Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 071/102] ath9k_hw: add OFDM spur mitigation for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 072/102] ath9k_hw: Fill get_isr() " Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 073/102] ath9k_hw: move AR9280 PCI EEPROM fix to ar9002_hw.c Luis R. Rodriguez
2010-04-09 21:04   ` Pavel Roskin
2010-04-09 21:13     ` Felix Fietkau
2010-04-08 19:27 ` [PATCH 074/102] ath9k_hw: simplify the AR9280 PCI EEPROM fix Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 075/102] ath9k_hw: move the RF claim stuff to AR9002 hardware family Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 076/102] ath9k_hw: Configure Tx interrupt mitigation timer Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 077/102] ath9k_hw: add the AR9300 SREV hw name print Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 078/102] ath9k_hw: add TX/RX gain register initialization for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 079/102] ath9k_hw: Update ath9k_hw_set_dma for AR9300 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 080/102] ath9k_hw: Handle big-endian access for AR9300 EEPROM reads Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 081/102] ath9k_hw: skip asynch fifo enablement to AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 082/102] ath9k_hw: skip WEP aggregation enable code for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 083/102] ath9k_hw: Fix internal regulator setting on AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 084/102] ath9k: Load SW filtered NF values and start NF cal during full reset for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 085/102] ath9k_hw: Define abstraction for tx desc access Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 086/102] ath9k_hw: Add function to configure tx status ring buffer Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 087/102] ath9k_hw: Fill descriptor abstrations for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 088/102] ath9k: add RXLP and RXHP to debugfs counters Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 089/102] ath9k_hw: enable CRC check of descriptors for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 090/102] ath9k_hw: set cwmin and cwmax to 0 for for AR9003 upon txq reset Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 091/102] ath9k_hw: move AR9002 mac ops to its own file Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 092/102] ath9k: Setup appropriate tx desc for regular dma and edma Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 093/102] ath9k: Initialize and configure tx status for EDMA Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 094/102] ath9k_hw: Compute pointer checksum over the link descriptor Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 095/102] ath9k: Add frame onto hw tx fifo for edma Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 096/102] mac80211: add LDPC control flag Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 097/102] ath9k_hw: add LDPC support for AR9003 Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 098/102] ath9k: add LDPC support Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 099/102] ath9k: Enable TXOK and TXERR interrupts for TX EDMA Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 100/102] ath9k: Handle Tx interrupt for EDMA Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 101/102] ath9k_hw: Abort rx if hw is not coming out of full sleep in reset Luis R. Rodriguez
2010-04-08 19:27 ` [PATCH 102/102] ath9k_hw: add the PCI ID for the first AR9300 device Luis R. Rodriguez
2010-04-09 21:12 ` [PATCH 000/102] ath9k: add AR9003 support Pavel Roskin
2010-04-12 19:44   ` Luis R. Rodriguez
2010-04-13 19:58 ` John W. Linville
2010-04-13 20:08   ` Felix Fietkau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1270754858-26266-13-git-send-email-lrodriguez@atheros.com \
    --to=lrodriguez@atheros.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.