linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 01/13] rt2x00: Add TXOP_CTRL_CFG register definition
@ 2010-11-04 19:36 Ivo van Doorn
  2010-11-04 19:37 ` [PATCH 02/13] rt2x00: Sync Tx and RX ring sizes with legacy drivers Ivo van Doorn
  0 siblings, 1 reply; 28+ messages in thread
From: Ivo van Doorn @ 2010-11-04 19:36 UTC (permalink / raw)
  To: linux-wireless; +Cc: Helmut Schaa

From: Helmut Schaa <helmut.schaa@googlemail.com>

Remove the magic value initialisation of the TXOP_CTRL_CFG register by
defining its fields and using them during intialisation. The field
RESERVED_TRUN_EN is referred to as reserved, however it is set to 1 by
the legacy drivers. Hence, do the same.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
 drivers/net/wireless/rt2x00/rt2800.h    |   23 +++++++++++++++++++++++
 drivers/net/wireless/rt2x00/rt2800lib.c |   18 +++++++++++++++++-
 2 files changed, 40 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
index eb8b6ca..6cfed06 100644
--- a/drivers/net/wireless/rt2x00/rt2800.h
+++ b/drivers/net/wireless/rt2x00/rt2800.h
@@ -960,8 +960,31 @@
 
 /*
  * TXOP_CTRL_CFG:
+ * TIMEOUT_TRUN_EN: Enable/Disable TXOP timeout truncation
+ * AC_TRUN_EN: Enable/Disable truncation for AC change
+ * TXRATEGRP_TRUN_EN: Enable/Disable truncation for TX rate group change
+ * USER_MODE_TRUN_EN: Enable/Disable truncation for user TXOP mode
+ * MIMO_PS_TRUN_EN: Enable/Disable truncation for MIMO PS RTS/CTS
+ * RESERVED_TRUN_EN: Reserved
+ * LSIG_TXOP_EN: Enable/Disable L-SIG TXOP protection
+ * EXT_CCA_EN: Enable/Disable extension channel CCA reference (Defer 40Mhz
+ *	       transmissions if extension CCA is clear).
+ * EXT_CCA_DLY: Extension CCA signal delay time (unit: us)
+ * EXT_CWMIN: CwMin for extension channel backoff
+ *	      0: Disabled
+ *
  */
 #define TXOP_CTRL_CFG			0x1340
+#define TXOP_CTRL_CFG_TIMEOUT_TRUN_EN	FIELD32(0x00000001)
+#define TXOP_CTRL_CFG_AC_TRUN_EN	FIELD32(0x00000002)
+#define TXOP_CTRL_CFG_TXRATEGRP_TRUN_EN	FIELD32(0x00000004)
+#define TXOP_CTRL_CFG_USER_MODE_TRUN_EN	FIELD32(0x00000008)
+#define TXOP_CTRL_CFG_MIMO_PS_TRUN_EN	FIELD32(0x00000010)
+#define TXOP_CTRL_CFG_RESERVED_TRUN_EN	FIELD32(0x00000020)
+#define TXOP_CTRL_CFG_LSIG_TXOP_EN	FIELD32(0x00000040)
+#define TXOP_CTRL_CFG_EXT_CCA_EN	FIELD32(0x00000080)
+#define TXOP_CTRL_CFG_EXT_CCA_DLY	FIELD32(0x0000ff00)
+#define TXOP_CTRL_CFG_EXT_CWMIN		FIELD32(0x000f0000)
 
 /*
  * TX_RTS_CFG:
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 5f00e00..54bf085 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -2097,7 +2097,23 @@ static int rt2800_init_registers(struct rt2x00_dev *rt2x00dev)
 		rt2800_register_write(rt2x00dev, WPDMA_GLO_CFG, reg);
 	}
 
-	rt2800_register_write(rt2x00dev, TXOP_CTRL_CFG, 0x0000583f);
+	/*
+	 * The legacy driver also sets TXOP_CTRL_CFG_RESERVED_TRUN_EN to 1
+	 * although it is reserved.
+	 */
+	rt2800_register_read(rt2x00dev, TXOP_CTRL_CFG, &reg);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_TIMEOUT_TRUN_EN, 1);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_AC_TRUN_EN, 1);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_TXRATEGRP_TRUN_EN, 1);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_USER_MODE_TRUN_EN, 1);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_MIMO_PS_TRUN_EN, 1);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_RESERVED_TRUN_EN, 1);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_LSIG_TXOP_EN, 0);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_EXT_CCA_EN, 0);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_EXT_CCA_DLY, 88);
+	rt2x00_set_field32(&reg, TXOP_CTRL_CFG_EXT_CWMIN, 0);
+	rt2800_register_write(rt2x00dev, TXOP_CTRL_CFG, reg);
+
 	rt2800_register_write(rt2x00dev, TXOP_HLDR_ET, 0x00000002);
 
 	rt2800_register_read(rt2x00dev, TX_RTS_CFG, &reg);
-- 
1.7.2.3


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

end of thread, other threads:[~2010-11-13 12:56 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-04 19:36 [PATCH 01/13] rt2x00: Add TXOP_CTRL_CFG register definition Ivo van Doorn
2010-11-04 19:37 ` [PATCH 02/13] rt2x00: Sync Tx and RX ring sizes with legacy drivers Ivo van Doorn
2010-11-04 19:37   ` [PATCH 03/13] rt2x00: Wait up to one second on rt2800 for WPDMA to be ready Ivo van Doorn
2010-11-04 19:38     ` [PATCH 04/13] rt2x00: Reduce tx descriptor size Ivo van Doorn
2010-11-04 19:38       ` [PATCH 05/13] rt2x00: Add unlikely to skb allocation failure check Ivo van Doorn
2010-11-04 19:38         ` [PATCH 06/13] rt2x00: Optimize rt2x00debug_dump_frame when frame dumping is not active Ivo van Doorn
2010-11-04 19:39           ` [PATCH 07/13] rt2x00: Rename rt2x00queue_timeout Ivo van Doorn
2010-11-04 19:39             ` [PATCH 08/13] rt2x00: Remove failsave from rt2x00usb_watchdog_tx_dma Ivo van Doorn
2010-11-04 19:40               ` [PATCH 09/13] rt2x00: Implement flush callback Ivo van Doorn
2010-11-04 19:40                 ` [PATCH 10/13] rt2x00: Fix MCU_SLEEP arguments Ivo van Doorn
2010-11-04 19:41                   ` [PATCH 11/13] rt2x00: Fix crash on USB unplug Ivo van Doorn
2010-11-04 19:42                     ` [PATCH 12/13] rt2x00: Fix hw crypto in AP mode for some devices Ivo van Doorn
2010-11-04 19:43                       ` [PATCH 13/13] rt2x00: Fix comments in rt73usb.h and rt61pci.h Ivo van Doorn
2010-11-04 23:21                     ` [PATCH 11/13] rt2x00: Fix crash on USB unplug Julian Calaby
2010-11-05  0:07                       ` Blaise Gassend
2010-11-06 12:51                         ` Ivo Van Doorn
2010-11-08 19:08                           ` Blaise Gassend
2010-11-08 19:13                             ` Ivo Van Doorn
2010-11-04 21:32         ` [PATCH 05/13] rt2x00: Add unlikely to skb allocation failure check Christian Lamparter
2010-11-05  7:23           ` Helmut Schaa
2010-11-05  7:52             ` Rafał Miłecki
2010-11-05  8:01               ` Helmut Schaa
2010-11-05  9:44     ` [PATCH 03/13] rt2x00: Wait up to one second on rt2800 for WPDMA to be ready Helmut Schaa
2010-11-05  9:52       ` Ivo Van Doorn
2010-11-05  9:56         ` Helmut Schaa
2010-11-05 10:07           ` Ivo Van Doorn
2010-11-10 19:40             ` John W. Linville
2010-11-13 12:56               ` Ivo Van Doorn

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).