diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2010-11-04 15:36:59 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-11-15 13:25:55 -0500 |
commit | 961621abee08fde2328daf6f8000e1059e5205e9 (patch) | |
tree | 5146af2d34494f827fa5ddb45d1f0e8a23fc6bdd | |
parent | 066dae93bdfcc7af5e38a33617773fd5c6457607 (diff) |
rt2x00: Add TXOP_CTRL_CFG register definition
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>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800.h | 23 | ||||
-rw-r--r-- | 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 eb8b6cab9925..6cfed0638ceb 100644 --- a/drivers/net/wireless/rt2x00/rt2800.h +++ b/drivers/net/wireless/rt2x00/rt2800.h | |||
@@ -960,8 +960,31 @@ | |||
960 | 960 | ||
961 | /* | 961 | /* |
962 | * TXOP_CTRL_CFG: | 962 | * TXOP_CTRL_CFG: |
963 | * TIMEOUT_TRUN_EN: Enable/Disable TXOP timeout truncation | ||
964 | * AC_TRUN_EN: Enable/Disable truncation for AC change | ||
965 | * TXRATEGRP_TRUN_EN: Enable/Disable truncation for TX rate group change | ||
966 | * USER_MODE_TRUN_EN: Enable/Disable truncation for user TXOP mode | ||
967 | * MIMO_PS_TRUN_EN: Enable/Disable truncation for MIMO PS RTS/CTS | ||
968 | * RESERVED_TRUN_EN: Reserved | ||
969 | * LSIG_TXOP_EN: Enable/Disable L-SIG TXOP protection | ||
970 | * EXT_CCA_EN: Enable/Disable extension channel CCA reference (Defer 40Mhz | ||
971 | * transmissions if extension CCA is clear). | ||
972 | * EXT_CCA_DLY: Extension CCA signal delay time (unit: us) | ||
973 | * EXT_CWMIN: CwMin for extension channel backoff | ||
974 | * 0: Disabled | ||
975 | * | ||
963 | */ | 976 | */ |
964 | #define TXOP_CTRL_CFG 0x1340 | 977 | #define TXOP_CTRL_CFG 0x1340 |
978 | #define TXOP_CTRL_CFG_TIMEOUT_TRUN_EN FIELD32(0x00000001) | ||
979 | #define TXOP_CTRL_CFG_AC_TRUN_EN FIELD32(0x00000002) | ||
980 | #define TXOP_CTRL_CFG_TXRATEGRP_TRUN_EN FIELD32(0x00000004) | ||
981 | #define TXOP_CTRL_CFG_USER_MODE_TRUN_EN FIELD32(0x00000008) | ||
982 | #define TXOP_CTRL_CFG_MIMO_PS_TRUN_EN FIELD32(0x00000010) | ||
983 | #define TXOP_CTRL_CFG_RESERVED_TRUN_EN FIELD32(0x00000020) | ||
984 | #define TXOP_CTRL_CFG_LSIG_TXOP_EN FIELD32(0x00000040) | ||
985 | #define TXOP_CTRL_CFG_EXT_CCA_EN FIELD32(0x00000080) | ||
986 | #define TXOP_CTRL_CFG_EXT_CCA_DLY FIELD32(0x0000ff00) | ||
987 | #define TXOP_CTRL_CFG_EXT_CWMIN FIELD32(0x000f0000) | ||
965 | 988 | ||
966 | /* | 989 | /* |
967 | * TX_RTS_CFG: | 990 | * TX_RTS_CFG: |
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 5f00e00789d8..54bf08570557 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) | |||
2097 | rt2800_register_write(rt2x00dev, WPDMA_GLO_CFG, reg); | 2097 | rt2800_register_write(rt2x00dev, WPDMA_GLO_CFG, reg); |
2098 | } | 2098 | } |
2099 | 2099 | ||
2100 | rt2800_register_write(rt2x00dev, TXOP_CTRL_CFG, 0x0000583f); | 2100 | /* |
2101 | * The legacy driver also sets TXOP_CTRL_CFG_RESERVED_TRUN_EN to 1 | ||
2102 | * although it is reserved. | ||
2103 | */ | ||
2104 | rt2800_register_read(rt2x00dev, TXOP_CTRL_CFG, ®); | ||
2105 | rt2x00_set_field32(®, TXOP_CTRL_CFG_TIMEOUT_TRUN_EN, 1); | ||
2106 | rt2x00_set_field32(®, TXOP_CTRL_CFG_AC_TRUN_EN, 1); | ||
2107 | rt2x00_set_field32(®, TXOP_CTRL_CFG_TXRATEGRP_TRUN_EN, 1); | ||
2108 | rt2x00_set_field32(®, TXOP_CTRL_CFG_USER_MODE_TRUN_EN, 1); | ||
2109 | rt2x00_set_field32(®, TXOP_CTRL_CFG_MIMO_PS_TRUN_EN, 1); | ||
2110 | rt2x00_set_field32(®, TXOP_CTRL_CFG_RESERVED_TRUN_EN, 1); | ||
2111 | rt2x00_set_field32(®, TXOP_CTRL_CFG_LSIG_TXOP_EN, 0); | ||
2112 | rt2x00_set_field32(®, TXOP_CTRL_CFG_EXT_CCA_EN, 0); | ||
2113 | rt2x00_set_field32(®, TXOP_CTRL_CFG_EXT_CCA_DLY, 88); | ||
2114 | rt2x00_set_field32(®, TXOP_CTRL_CFG_EXT_CWMIN, 0); | ||
2115 | rt2800_register_write(rt2x00dev, TXOP_CTRL_CFG, reg); | ||
2116 | |||
2101 | rt2800_register_write(rt2x00dev, TXOP_HLDR_ET, 0x00000002); | 2117 | rt2800_register_write(rt2x00dev, TXOP_HLDR_ET, 0x00000002); |
2102 | 2118 | ||
2103 | rt2800_register_read(rt2x00dev, TX_RTS_CFG, ®); | 2119 | rt2800_register_read(rt2x00dev, TX_RTS_CFG, ®); |