upgrade to latest compat-wireless and rt2800 version

SVN-Revision: 14605
This commit is contained in:
Felix Fietkau 2009-02-21 20:38:07 +00:00
parent b72191aa74
commit f98d59ddd0
27 changed files with 385 additions and 74 deletions

View file

@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211
ifneq ($(CONFIG_LINUX_2_6_27)$(CONFIG_LINUX_2_6_28),)
PKG_VERSION:=2009-02-19
PKG_VERSION:=2009-02-20
PKG_RELEASE:=1
PKG_SOURCE_URL:= \
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/02 \
http://wireless.kernel.org/download/compat-wireless-2.6
PKG_MD5SUM:=850c8502203c518f0175fd061bed0ec2
PKG_MD5SUM:=81a23a3c864eececd81c21abeeda1eaf
else
PKG_VERSION:=2008-08-06
PKG_RELEASE:=2

View file

@ -1,4 +1,4 @@
From 2c0af6ef6263ad5b581429953ad1b98e6d522e69 Mon Sep 17 00:00:00 2001
From a9a853248786f3582a0f82de65075d215b0c7027 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Wed, 4 Feb 2009 20:10:23 +0100
Subject: [PATCH] rt2x00: Implement support for 802.11n

View file

@ -1,4 +1,4 @@
From f2219a0f2f2f61656d2c3a524836f6f1e646ea33 Mon Sep 17 00:00:00 2001
From cdd4310f4631d5a41c2c6ab09bbddb558c26587f Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Wed, 4 Feb 2009 20:43:00 +0100
Subject: [PATCH] rt2x00: Implement support for rt2800pci

View file

@ -1,4 +1,4 @@
From ec4f9f97afa3f792cf64035b8458bf2f8648a76f Mon Sep 17 00:00:00 2001
From 1d21decc7ccd8b7c2a280a4d15bda08883a03b2c Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Wed, 4 Feb 2009 20:45:56 +0100
Subject: [PATCH] rt2x00: Implement support for rt2800usb

View file

@ -1,4 +1,4 @@
From 811f05ec4e4ac26e1956be2a9073418e3b99a30b Mon Sep 17 00:00:00 2001
From f1ae9ab8a6572227dba5cab7d87f9ddcffc511f1 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Wed, 4 Feb 2009 22:58:52 +0100
Subject: [PATCH] rt2x00: Remove unused define (rt2800pci)
@ -8,6 +8,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800pci.h | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.h b/drivers/net/wireless/rt2x00/rt2800pci.h
index d02350a..73f3f2a 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.h
+++ b/drivers/net/wireless/rt2x00/rt2800pci.h
@@ -250,11 +250,6 @@
@ -22,3 +24,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
* GPIO_CTRL_CFG:
*/
#define GPIO_CTRL_CFG 0x0228
--
1.6.0

View file

@ -1,4 +1,4 @@
From a2cdea8b8b14160b17a208ceacdbeaff8b71e99a Mon Sep 17 00:00:00 2001
From 73987de79371688cf9df939252b8989a60b98a19 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Wed, 4 Feb 2009 22:59:27 +0100
Subject: [PATCH] rt2x00: Remove unused define (rt2800usb)
@ -8,6 +8,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.h | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.h b/drivers/net/wireless/rt2x00/rt2800usb.h
index ee16bf1..def9ce3 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.h
+++ b/drivers/net/wireless/rt2x00/rt2800usb.h
@@ -229,11 +229,6 @@
@ -22,3 +24,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
* GPIO_CTRL_CFG:
*/
#define GPIO_CTRL_CFG 0x0228
--
1.6.0

View file

@ -1,4 +1,4 @@
From f335adbc7a8fdd3a856be2d0e45d2d7a74e64a3a Mon Sep 17 00:00:00 2001
From 968e0cb7a8971d624cec720f11908789552bbf30 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Thu, 5 Feb 2009 22:43:50 +0100
Subject: [PATCH] rt2x00: Clean header (rt2800pci)
@ -8,6 +8,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800pci.h | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.h b/drivers/net/wireless/rt2x00/rt2800pci.h
index 73f3f2a..39f045c 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.h
+++ b/drivers/net/wireless/rt2x00/rt2800pci.h
@@ -342,7 +342,7 @@
@ -37,3 +39,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
*/
#define EEPROM_TXPOWER_BG1 0x0029
#define EEPROM_TXPOWER_BG2 0x0030
--
1.6.0

View file

@ -1,4 +1,4 @@
From 620724c1db862bbb09824855a19a8d1836752be2 Mon Sep 17 00:00:00 2001
From 402663d0e41c5039b2f4afe6f0c4dbb9e2d1e10d Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Thu, 5 Feb 2009 22:44:30 +0100
Subject: [PATCH] rt2x00: Clean header (rt2800usb)
@ -8,6 +8,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.h b/drivers/net/wireless/rt2x00/rt2800usb.h
index def9ce3..db2eedd 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.h
+++ b/drivers/net/wireless/rt2x00/rt2800usb.h
@@ -1213,7 +1213,7 @@
@ -28,3 +30,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
* Three section discontinue memory segments will be used.
* 1. The original region for BCN 0~3
* 2. Extract memory from FCE table for BCN 4~5
--
1.6.0

View file

@ -1,4 +1,4 @@
From 0779847f2c13b0170e4905138a61f7f98164a41e Mon Sep 17 00:00:00 2001
From b44184b2fd4075f85193b9e61a885b8c057dd4bc Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 7 Feb 2009 15:22:52 +0100
Subject: [PATCH] rt2x00: Uncomment get_tsf (rt2800usb)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.c | 10 ----------
1 files changed, 0 insertions(+), 10 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 004dc57..ab00d4d 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -2696,13 +2696,6 @@ static int rt2800usb_conf_tx(struct ieee
@@ -2696,13 +2696,6 @@ static int rt2800usb_conf_tx(struct ieee80211_hw *hw, u16 queue_idx,
return 0;
}
@ -24,7 +26,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
static u64 rt2800usb_get_tsf(struct ieee80211_hw *hw)
{
struct rt2x00_dev *rt2x00dev = hw->priv;
@@ -2716,9 +2709,6 @@ static u64 rt2800usb_get_tsf(struct ieee
@@ -2716,9 +2709,6 @@ static u64 rt2800usb_get_tsf(struct ieee80211_hw *hw)
return tsf;
}
@ -34,3 +36,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
static const struct ieee80211_ops rt2800usb_mac80211_ops = {
.tx = rt2x00mac_tx,
--
1.6.0

View file

@ -1,4 +1,4 @@
From 4009f1317cb51ac89f37241de48970f2ee6a8ec5 Mon Sep 17 00:00:00 2001
From e53f1806ad975dce4888ec16398735e4c6ad6cde Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 7 Feb 2009 17:18:03 +0100
Subject: [PATCH] rt2x00: Fix MCS rx_mask (rt2800pci)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800pci.c | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 679f69a..95eb053 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -2193,6 +2193,13 @@ static int rt2800pci_validate_eeprom(str
@@ -2193,6 +2193,13 @@ static int rt2800pci_validate_eeprom(struct rt2x00_dev *rt2x00dev)
rt2x00_set_field16(&word, EEPROM_ANTENNA_RF_TYPE, RF2820);
rt2x00_eeprom_write(rt2x00dev, EEPROM_ANTENNA, word);
EEPROM(rt2x00dev, "Antenna: 0x%04x\n", word);
@ -24,7 +26,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
}
rt2x00_eeprom_read(rt2x00dev, EEPROM_NIC, &word);
@@ -2416,6 +2423,7 @@ static int rt2800pci_probe_hw_mode(struc
@@ -2416,6 +2423,7 @@ static int rt2800pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
char *tx_power1;
char *tx_power2;
unsigned int i;
@ -32,7 +34,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Initialize all hw fields.
@@ -2432,6 +2440,8 @@ static int rt2800pci_probe_hw_mode(struc
@@ -2432,6 +2440,8 @@ static int rt2800pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
rt2x00_eeprom_addr(rt2x00dev,
EEPROM_MAC_ADDR_0));
@ -41,7 +43,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Initialize hw_mode information.
*/
@@ -2463,11 +2473,19 @@ static int rt2800pci_probe_hw_mode(struc
@@ -2463,11 +2473,19 @@ static int rt2800pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
IEEE80211_HT_CAP_PSMP_SUPPORT;
spec->ht.ampdu_factor = 3;
spec->ht.ampdu_density = 4;
@ -63,3 +65,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Create channel information array
*/
--
1.6.0

View file

@ -1,4 +1,4 @@
From 583272d9d8fba6f8d36c5f99b176f5225560b151 Mon Sep 17 00:00:00 2001
From d91bfd139f98e60222e7556b696b8caa66f658bb Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 7 Feb 2009 17:18:34 +0100
Subject: [PATCH] rt2x00: Fix MCS rx_mask (rt2800usb)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.c | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index ab00d4d..1709e87 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -2215,6 +2215,13 @@ static int rt2800usb_validate_eeprom(str
@@ -2215,6 +2215,13 @@ static int rt2800usb_validate_eeprom(struct rt2x00_dev *rt2x00dev)
rt2x00_set_field16(&word, EEPROM_ANTENNA_RF_TYPE, RF2820);
rt2x00_eeprom_write(rt2x00dev, EEPROM_ANTENNA, word);
EEPROM(rt2x00dev, "Antenna: 0x%04x\n", word);
@ -24,7 +26,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
}
rt2x00_eeprom_read(rt2x00dev, EEPROM_NIC, &word);
@@ -2465,6 +2472,7 @@ static int rt2800usb_probe_hw_mode(struc
@@ -2465,6 +2472,7 @@ static int rt2800usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
char *tx_power1;
char *tx_power2;
unsigned int i;
@ -32,7 +34,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Initialize all hw fields.
@@ -2481,6 +2489,8 @@ static int rt2800usb_probe_hw_mode(struc
@@ -2481,6 +2489,8 @@ static int rt2800usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
rt2x00_eeprom_addr(rt2x00dev,
EEPROM_MAC_ADDR_0));
@ -41,7 +43,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Initialize HT information.
*/
@@ -2495,11 +2505,19 @@ static int rt2800usb_probe_hw_mode(struc
@@ -2495,11 +2505,19 @@ static int rt2800usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
IEEE80211_HT_CAP_PSMP_SUPPORT;
spec->ht.ampdu_factor = 3;
spec->ht.ampdu_density = 4;
@ -63,3 +65,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Initialize hw_mode information.
*/
--
1.6.0

View file

@ -1,4 +1,4 @@
From 1dabaea63944d04d03f29817f7641bcb3ed22014 Mon Sep 17 00:00:00 2001
From 1c042f183a52db009c2c0940ecff04ae954318e2 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 8 Feb 2009 00:08:37 +0100
Subject: [PATCH] rt2x00: Channel HT40+/- fixes (rt2800pci)
@ -9,9 +9,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800pci.h | 3 +-
2 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 95eb053..ddea65b 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -603,7 +603,7 @@ static void rt2800pci_config_ant(struct
@@ -603,7 +603,7 @@ static void rt2800pci_config_ant(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field8(&r3, BBP3_RX_ANTENNA, 0);
break;
case 2:
@ -20,7 +22,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
break;
case 3:
/* Do nothing */
@@ -653,6 +653,7 @@ static void rt2800pci_config_lna_gain(st
@@ -653,6 +653,7 @@ static void rt2800pci_config_lna_gain(struct rt2x00_dev *rt2x00dev,
}
static void rt2800pci_config_channel(struct rt2x00_dev *rt2x00dev,
@ -28,7 +30,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
struct rf_channel *rf,
struct channel_info *info)
{
@@ -660,34 +661,20 @@ static void rt2800pci_config_channel(str
@@ -660,34 +661,20 @@ static void rt2800pci_config_channel(struct rt2x00_dev *rt2x00dev,
unsigned int tx_pin;
u16 eeprom;
@ -64,7 +66,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
} else if (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_RXPATH) == 2)
rt2x00_set_field32(&rf->rf2, RF2_ANTENNA_RX2, 1);
@@ -715,19 +702,14 @@ static void rt2800pci_config_channel(str
@@ -715,19 +702,14 @@ static void rt2800pci_config_channel(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field32(&rf->rf4, RF4_TXPOWER_A,
TXPOWER_A_TO_DEV(info->tx_power2));
@ -85,7 +87,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
rt2800pci_rf_write(rt2x00dev, 1, rf->rf1);
rt2800pci_rf_write(rt2x00dev, 2, rf->rf2);
@@ -764,11 +746,6 @@ static void rt2800pci_config_channel(str
@@ -764,11 +746,6 @@ static void rt2800pci_config_channel(struct rt2x00_dev *rt2x00dev,
rt2800pci_bbp_write(rt2x00dev, 82, 0x84);
rt2800pci_bbp_write(rt2x00dev, 75, 0x50);
}
@ -97,7 +99,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
} else {
rt2800pci_bbp_write(rt2x00dev, 82, 0xf2);
@@ -776,13 +753,35 @@ static void rt2800pci_config_channel(str
@@ -776,13 +753,35 @@ static void rt2800pci_config_channel(struct rt2x00_dev *rt2x00dev,
rt2800pci_bbp_write(rt2x00dev, 75, 0x46);
else
rt2800pci_bbp_write(rt2x00dev, 75, 0x50);
@ -137,7 +139,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
rt2x00pci_register_write(rt2x00dev, TX_PIN_CFG, tx_pin);
msleep(1);
@@ -917,8 +916,8 @@ static void rt2800pci_config(struct rt2x
@@ -917,8 +916,8 @@ static void rt2800pci_config(struct rt2x00_dev *rt2x00dev,
rt2800pci_config_lna_gain(rt2x00dev, libconf);
if (flags & IEEE80211_CONF_CHANGE_CHANNEL)
@ -148,7 +150,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
if (flags & IEEE80211_CONF_CHANGE_POWER)
rt2800pci_config_txpower(rt2x00dev, libconf->conf->power_level);
if (flags & IEEE80211_CONF_CHANGE_RETRY_LIMITS)
@@ -2724,14 +2723,14 @@ static const struct rt2x00lib_ops rt2800
@@ -2724,14 +2723,14 @@ static const struct rt2x00lib_ops rt2800pci_rt2x00_ops = {
static const struct data_queue_desc rt2800pci_queue_rx = {
.entry_num = RX_ENTRIES,
@ -165,6 +167,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
.desc_size = TXD_DESC_SIZE,
.priv_size = sizeof(struct queue_entry_priv_pci),
};
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.h b/drivers/net/wireless/rt2x00/rt2800pci.h
index 39f045c..0682a6a 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.h
+++ b/drivers/net/wireless/rt2x00/rt2800pci.h
@@ -791,6 +791,7 @@
@ -184,3 +188,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* EEPROM content.
--
1.6.0

View file

@ -1,4 +1,4 @@
From c2288ea288283cea727dfa547339d245458071fc Mon Sep 17 00:00:00 2001
From 1ef7772f766c72f9b767d32cc0b26d457a34ace2 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 8 Feb 2009 00:09:22 +0100
Subject: [PATCH] rt2x00: Channel HT40+/- fixes (rt2800usb)
@ -9,9 +9,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.h | 5 +-
2 files changed, 61 insertions(+), 51 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 1709e87..29ecaa8 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -641,7 +641,7 @@ static void rt2800usb_config_ant(struct
@@ -641,7 +641,7 @@ static void rt2800usb_config_ant(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field8(&r3, BBP3_RX_ANTENNA, 0);
break;
case 2:
@ -20,7 +22,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
break;
case 3:
/* Do nothing */
@@ -691,6 +691,7 @@ static void rt2800usb_config_lna_gain(st
@@ -691,6 +691,7 @@ static void rt2800usb_config_lna_gain(struct rt2x00_dev *rt2x00dev,
}
static void rt2800usb_config_channel_rt2x(struct rt2x00_dev *rt2x00dev,
@ -28,7 +30,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
struct rf_channel *rf,
struct channel_info *info)
{
@@ -702,6 +703,7 @@ static void rt2800usb_config_channel_rt2
@@ -702,6 +703,7 @@ static void rt2800usb_config_channel_rt2x(struct rt2x00_dev *rt2x00dev,
* Determine antenna settings from EEPROM
*/
rt2x00_eeprom_read(rt2x00dev, EEPROM_ANTENNA, &eeprom);
@ -36,7 +38,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
if (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_TXPATH) == 1)
rt2x00_set_field32(&rf->rf2, RF2_ANTENNA_TX1, 1);
@@ -742,8 +744,7 @@ static void rt2800usb_config_channel_rt2
@@ -742,8 +744,7 @@ static void rt2800usb_config_channel_rt2x(struct rt2x00_dev *rt2x00dev,
TXPOWER_G_TO_DEV(info->tx_power2));
}
@ -46,7 +48,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
rt2800usb_rf_write(rt2x00dev, 1, rf->rf1);
rt2800usb_rf_write(rt2x00dev, 2, rf->rf2);
@@ -766,6 +767,7 @@ static void rt2800usb_config_channel_rt2
@@ -766,6 +767,7 @@ static void rt2800usb_config_channel_rt2x(struct rt2x00_dev *rt2x00dev,
}
static void rt2800usb_config_channel_rt3x(struct rt2x00_dev *rt2x00dev,
@ -54,7 +56,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
struct rf_channel *rf,
struct channel_info *info)
{
@@ -787,10 +789,12 @@ static void rt2800usb_config_channel_rt3
@@ -787,10 +789,12 @@ static void rt2800usb_config_channel_rt3x(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field8(&rfcsr, RFCSR23_FREQ_OFFSET, rt2x00dev->freq_offset);
rt2800usb_rfcsr_write(rt2x00dev, 23, rfcsr);
@ -70,7 +72,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
rt2800usb_rfcsr_read(rt2x00dev, 23, &rfcsr);
rt2x00_set_field8(&rfcsr, RFCSR7_RF_TUNING, 1);
@@ -798,46 +802,24 @@ static void rt2800usb_config_channel_rt3
@@ -798,46 +802,24 @@ static void rt2800usb_config_channel_rt3x(struct rt2x00_dev *rt2x00dev,
}
static void rt2800usb_config_channel(struct rt2x00_dev *rt2x00dev,
@ -125,7 +127,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Change BBP settings
@@ -855,11 +837,6 @@ static void rt2800usb_config_channel(str
@@ -855,11 +837,6 @@ static void rt2800usb_config_channel(struct rt2x00_dev *rt2x00dev,
rt2800usb_bbp_write(rt2x00dev, 82, 0x84);
rt2800usb_bbp_write(rt2x00dev, 75, 0x50);
}
@ -137,7 +139,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
} else {
rt2800usb_bbp_write(rt2x00dev, 82, 0xf2);
@@ -867,15 +844,45 @@ static void rt2800usb_config_channel(str
@@ -867,15 +844,45 @@ static void rt2800usb_config_channel(struct rt2x00_dev *rt2x00dev,
rt2800usb_bbp_write(rt2x00dev, 75, 0x46);
else
rt2800usb_bbp_write(rt2x00dev, 75, 0x50);
@ -187,7 +189,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
msleep(1);
}
@@ -1008,8 +1015,8 @@ static void rt2800usb_config(struct rt2x
@@ -1008,8 +1015,8 @@ static void rt2800usb_config(struct rt2x00_dev *rt2x00dev,
rt2800usb_config_lna_gain(rt2x00dev, libconf);
if (flags & IEEE80211_CONF_CHANGE_CHANNEL)
@ -198,7 +200,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
if (flags & IEEE80211_CONF_CHANGE_POWER)
rt2800usb_config_txpower(rt2x00dev, libconf->conf->power_level);
if (flags & IEEE80211_CONF_CHANGE_RETRY_LIMITS)
@@ -1643,7 +1650,7 @@ static u8 rt2800usb_init_rx_filter(struc
@@ -1643,7 +1650,7 @@ static u8 rt2800usb_init_rx_filter(struct rt2x00_dev *rt2x00dev,
if (bw40) {
rt2800usb_bbp_read(rt2x00dev, 4, &bbp);
@ -207,7 +209,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
rt2800usb_bbp_write(rt2x00dev, 4, bbp);
}
@@ -2777,14 +2784,14 @@ static const struct rt2x00lib_ops rt2800
@@ -2777,14 +2784,14 @@ static const struct rt2x00lib_ops rt2800usb_rt2x00_ops = {
static const struct data_queue_desc rt2800usb_queue_rx = {
.entry_num = RX_ENTRIES,
@ -224,6 +226,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
.desc_size = TXINFO_DESC_SIZE + TXWI_DESC_SIZE,
.priv_size = sizeof(struct queue_entry_priv_usb),
};
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.h b/drivers/net/wireless/rt2x00/rt2800usb.h
index db2eedd..ffccc21 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.h
+++ b/drivers/net/wireless/rt2x00/rt2800usb.h
@@ -803,6 +803,7 @@
@ -256,3 +260,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* EEPROM content.
--
1.6.0

View file

@ -1,4 +1,4 @@
From c223b72884576ffcbe17cef32cfa6edfe6b32e7e Mon Sep 17 00:00:00 2001
From fbccaabad6a109972a36bfe812d67f3678eb1187 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 8 Feb 2009 12:11:14 +0100
Subject: [PATCH] rt2x00: Add RT2860C BBP channel init values (rt2800usb)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 29ecaa8..b9ef5ea 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -883,6 +883,18 @@ static void rt2800usb_config_channel(str
@@ -883,6 +883,18 @@ static void rt2800usb_config_channel(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field8(&bbp, BBP3_HT40_PLUS, conf_is_ht40_plus(conf));
rt2800usb_bbp_write(rt2x00dev, 3, bbp);
@ -29,3 +31,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
msleep(1);
}
--
1.6.0

View file

@ -1,4 +1,4 @@
From baa4f570de0978ba12be3b8596f063232c54538d Mon Sep 17 00:00:00 2001
From 9a8e2f3909f43e4541ffa63985812aaa6b4c03be Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 8 Feb 2009 12:32:51 +0100
Subject: [PATCH] rt2x00: Remove invalid RX antenna init (rt2800usb)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index b9ef5ea..012f4de 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -638,7 +638,6 @@ static void rt2800usb_config_ant(struct
@@ -638,7 +638,6 @@ static void rt2800usb_config_ant(struct rt2x00_dev *rt2x00dev,
switch (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_TXPATH)) {
case 1:
rt2x00_set_field8(&r1, BBP1_TX_ANTENNA, 0);
@ -18,3 +20,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
break;
case 2:
rt2x00_set_field8(&r1, BBP1_TX_ANTENNA, 2);
--
1.6.0

View file

@ -1,4 +1,4 @@
From 0ae19587caba638b15ca8ea735a21d148459bd47 Mon Sep 17 00:00:00 2001
From 7519f0a01c65f7b34eeff9411aa90373e082e501 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 8 Feb 2009 17:08:28 +0100
Subject: [PATCH] rt2x00: Remove check for rf word 0 (rt2800pci)
@ -9,9 +9,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800pci.h | 4 ++--
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index ddea65b..86ed55c 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -125,9 +125,6 @@ static void rt2800pci_rf_write(struct rt
@@ -125,9 +125,6 @@ static void rt2800pci_rf_write(struct rt2x00_dev *rt2x00dev,
{
u32 reg;
@ -21,6 +23,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
mutex_lock(&rt2x00dev->csr_mutex);
/*
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.h b/drivers/net/wireless/rt2x00/rt2800pci.h
index 0682a6a..f8bc958 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.h
+++ b/drivers/net/wireless/rt2x00/rt2800pci.h
@@ -68,8 +68,8 @@
@ -34,3 +38,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Number of TX queues.
--
1.6.0

View file

@ -1,4 +1,4 @@
From ff7c5c649466a5cf887eb5ee4eb9fd3fb9598069 Mon Sep 17 00:00:00 2001
From 192a3f0a429de8e892f80f02eae26855f96fb1b9 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 8 Feb 2009 17:08:54 +0100
Subject: [PATCH] rt2x00: Remove check for rf word 0 (rt2800usb)
@ -9,9 +9,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.h | 4 ++--
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 012f4de..68ea600 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -182,9 +182,6 @@ static void rt2800usb_rf_write(struct rt
@@ -182,9 +182,6 @@ static void rt2800usb_rf_write(struct rt2x00_dev *rt2x00dev,
{
u32 reg;
@ -21,6 +23,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
mutex_lock(&rt2x00dev->csr_mutex);
/*
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.h b/drivers/net/wireless/rt2x00/rt2800usb.h
index ffccc21..f94c8f8 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.h
+++ b/drivers/net/wireless/rt2x00/rt2800usb.h
@@ -68,8 +68,8 @@
@ -34,3 +38,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/*
* Number of TX queues.
--
1.6.0

View file

@ -1,4 +1,4 @@
From d64551dfc4c7fba6a94f7245393d173199ac9e07 Mon Sep 17 00:00:00 2001
From 208d46bb33a37ef16b4044d15d58c21ebc89552f Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 8 Feb 2009 17:39:35 +0100
Subject: [PATCH] rt2x00: Export all register stats through debugfs
@ -20,9 +20,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2x00debug.c | 33 ++++++++++++++++++++--------
1 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.c b/drivers/net/wireless/rt2x00/rt2x00debug.c
index 8d47389..07d378e 100644
--- a/drivers/net/wireless/rt2x00/rt2x00debug.c
+++ b/drivers/net/wireless/rt2x00/rt2x00debug.c
@@ -547,9 +547,9 @@ static struct dentry *rt2x00debug_create
@@ -547,9 +547,9 @@ static struct dentry *rt2x00debug_create_file_driver(const char *name,
return NULL;
blob->data = data;
@ -35,7 +37,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
blob->size = strlen(blob->data);
return debugfs_create_blob(name, S_IRUSR, intf->driver_folder, blob);
@@ -570,14 +570,27 @@ static struct dentry *rt2x00debug_create
@@ -570,14 +570,27 @@ static struct dentry *rt2x00debug_create_file_chipset(const char *name,
return NULL;
blob->data = data;
@ -70,3 +72,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
blob->size = strlen(blob->data);
return debugfs_create_blob(name, S_IRUSR, intf->driver_folder, blob);
--
1.6.0

View file

@ -1,4 +1,4 @@
From fdff1254d77eee9ef1cd50ec77e3e29d09e5c552 Mon Sep 17 00:00:00 2001
From 683197e1819e1893d210a54e2470478377c8725d Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Thu, 12 Feb 2009 19:02:59 +0100
Subject: [PATCH] rt2x00: Add USB id (rt2800usb)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 68ea600..ff24173 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -2900,6 +2900,7 @@ static struct usb_device_id rt2800usb_de
@@ -2900,6 +2900,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
{ USB_DEVICE(0x0df6, 0x002b), USB_DEVICE_DATA(&rt2800usb_ops) },
{ USB_DEVICE(0x0df6, 0x002c), USB_DEVICE_DATA(&rt2800usb_ops) },
{ USB_DEVICE(0x0df6, 0x002d), USB_DEVICE_DATA(&rt2800usb_ops) },
@ -18,3 +20,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
/* SMC */
{ USB_DEVICE(0x083a, 0x6618), USB_DEVICE_DATA(&rt2800usb_ops) },
{ USB_DEVICE(0x083a, 0x7522), USB_DEVICE_DATA(&rt2800usb_ops) },
--
1.6.0

View file

@ -1,4 +1,4 @@
From 524c4b25e496c7af6cbe5b16ea5c258880669509 Mon Sep 17 00:00:00 2001
From 6b12c7bb631dd47cff8b0bad6d47c4b2439c6a59 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 14 Feb 2009 19:55:36 +0100
Subject: [PATCH] rt2x00: support get_tkip_seq, fix TX streams (rt2800pci)
@ -9,9 +9,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800pci.h | 6 ------
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 86ed55c..6e98c3d 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -1374,6 +1374,8 @@ static int rt2800pci_init_registers(stru
@@ -1374,6 +1374,8 @@ static int rt2800pci_init_registers(struct rt2x00_dev *rt2x00dev)
rt2x00pci_register_read(rt2x00dev, TX_RTS_CFG, &reg);
rt2x00_set_field32(&reg, TX_RTS_CFG_AUTO_RTS_RETRY_LIMIT, 32);
@ -20,7 +22,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
rt2x00_set_field32(&reg, TX_RTS_CFG_RTS_FBK_EN, 0);
rt2x00pci_register_write(rt2x00dev, TX_RTS_CFG, reg);
@@ -2470,7 +2472,10 @@ static int rt2800pci_probe_hw_mode(struc
@@ -2470,7 +2472,10 @@ static int rt2800pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
spec->ht.ampdu_factor = 3;
spec->ht.ampdu_density = 4;
spec->ht.mcs.tx_params =
@ -32,7 +34,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
switch (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_RXPATH)) {
case 3:
@@ -2552,6 +2557,21 @@ static int rt2800pci_probe_hw(struct rt2
@@ -2552,6 +2557,21 @@ static int rt2800pci_probe_hw(struct rt2x00_dev *rt2x00dev)
/*
* IEEE80211 stack callback functions.
*/
@ -54,7 +56,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
static int rt2800pci_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
{
struct rt2x00_dev *rt2x00dev = hw->priv;
@@ -2681,6 +2701,7 @@ static const struct ieee80211_ops rt2800
@@ -2681,6 +2701,7 @@ static const struct ieee80211_ops rt2800pci_mac80211_ops = {
.configure_filter = rt2x00mac_configure_filter,
.set_key = rt2x00mac_set_key,
.get_stats = rt2x00mac_get_stats,
@ -62,6 +64,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
.set_rts_threshold = rt2800pci_set_rts_threshold,
.bss_info_changed = rt2x00mac_bss_info_changed,
.conf_tx = rt2800pci_conf_tx,
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.h b/drivers/net/wireless/rt2x00/rt2800pci.h
index f8bc958..ea2a431 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.h
+++ b/drivers/net/wireless/rt2x00/rt2800pci.h
@@ -1327,12 +1327,6 @@ struct mac_iveiv_entry {
@ -77,3 +81,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
* MAC_WCID_ATTRIBUTE:
*/
#define MAC_WCID_ATTRIBUTE_KEYTAB FIELD32(0x00000001)
--
1.6.0

View file

@ -1,4 +1,4 @@
From 0479f29b2d4d8e95eece75e9bfda9a6a5e7bc77e Mon Sep 17 00:00:00 2001
From e65441d3066e5a37b480e6fc8f0e9fbc43e86ba4 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 14 Feb 2009 19:56:24 +0100
Subject: [PATCH] rt2x00: support get_tkip_seq, fix TX streams (rt2800usb)
@ -9,9 +9,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.h | 6 ------
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index ff24173..7ec1270 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -1465,6 +1465,8 @@ static int rt2800usb_init_registers(stru
@@ -1465,6 +1465,8 @@ static int rt2800usb_init_registers(struct rt2x00_dev *rt2x00dev)
rt2x00usb_register_read(rt2x00dev, TX_RTS_CFG, &reg);
rt2x00_set_field32(&reg, TX_RTS_CFG_AUTO_RTS_RETRY_LIMIT, 32);
@ -20,7 +22,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
rt2x00_set_field32(&reg, TX_RTS_CFG_RTS_FBK_EN, 0);
rt2x00usb_register_write(rt2x00dev, TX_RTS_CFG, reg);
@@ -2521,7 +2523,10 @@ static int rt2800usb_probe_hw_mode(struc
@@ -2521,7 +2523,10 @@ static int rt2800usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
spec->ht.ampdu_factor = 3;
spec->ht.ampdu_density = 4;
spec->ht.mcs.tx_params =
@ -32,7 +34,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
switch (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_RXPATH)) {
case 3:
@@ -2625,6 +2630,21 @@ static int rt2800usb_probe_hw(struct rt2
@@ -2625,6 +2630,21 @@ static int rt2800usb_probe_hw(struct rt2x00_dev *rt2x00dev)
/*
* IEEE80211 stack callback functions.
*/
@ -54,7 +56,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
static int rt2800usb_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
{
struct rt2x00_dev *rt2x00dev = hw->priv;
@@ -2754,6 +2774,7 @@ static const struct ieee80211_ops rt2800
@@ -2754,6 +2774,7 @@ static const struct ieee80211_ops rt2800usb_mac80211_ops = {
.configure_filter = rt2x00mac_configure_filter,
.set_key = rt2x00mac_set_key,
.get_stats = rt2x00mac_get_stats,
@ -62,6 +64,8 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
.set_rts_threshold = rt2800usb_set_rts_threshold,
.bss_info_changed = rt2x00mac_bss_info_changed,
.conf_tx = rt2800usb_conf_tx,
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.h b/drivers/net/wireless/rt2x00/rt2800usb.h
index f94c8f8..e4e0a3d 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.h
+++ b/drivers/net/wireless/rt2x00/rt2800usb.h
@@ -1339,12 +1339,6 @@ struct mac_iveiv_entry {
@ -77,3 +81,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
* MAC_WCID_ATTRIBUTE:
*/
#define MAC_WCID_ATTRIBUTE_KEYTAB FIELD32(0x00000001)
--
1.6.0

View file

@ -1,4 +1,4 @@
From a0b61da562624d3a5c11309c8742ae115290a418 Mon Sep 17 00:00:00 2001
From 96bb01c0363ca6a33a1071d88bfd77bc2654b051 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 15 Feb 2009 20:58:57 +0100
Subject: [PATCH] rt2x00: Add support for MCS32 (rt2800usb)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800usb.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 7ec1270..25f636f 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -1627,6 +1627,10 @@ static int rt2800usb_init_bbp(struct rt2
@@ -1627,6 +1627,10 @@ static int rt2800usb_init_bbp(struct rt2x00_dev *rt2x00dev)
rt2800usb_bbp_write(rt2x00dev, 73, 0x12);
}
@ -21,7 +23,7 @@ Signed-off-by: Ivo van Doorn@gmail.com>
if (rt2x00_rev(&rt2x00dev->chip) == RT3070_VERSION) {
rt2800usb_bbp_write(rt2x00dev, 70, 0x0a);
rt2800usb_bbp_write(rt2x00dev, 84, 0x99);
@@ -1658,11 +1662,9 @@ static u8 rt2800usb_init_rx_filter(struc
@@ -1658,11 +1662,9 @@ static u8 rt2800usb_init_rx_filter(struct rt2x00_dev *rt2x00dev,
rt2800usb_rfcsr_write(rt2x00dev, 24, rfcsr24);
@ -36,7 +38,7 @@ Signed-off-by: Ivo van Doorn@gmail.com>
rt2800usb_rfcsr_read(rt2x00dev, 22, &rfcsr);
rt2x00_set_field8(&rfcsr, RFCSR22_BASEBAND_LOOPBACK, 1);
@@ -2535,6 +2537,7 @@ static int rt2800usb_probe_hw_mode(struc
@@ -2535,6 +2537,7 @@ static int rt2800usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
spec->ht.mcs.rx_mask[1] = 0xff;
case 1:
spec->ht.mcs.rx_mask[0] = 0xff;
@ -44,3 +46,6 @@ Signed-off-by: Ivo van Doorn@gmail.com>
break;
}
--
1.6.0

View file

@ -1,4 +1,4 @@
From 8a82217f8847eb908bd7fa04d29f263da5d94e16 Mon Sep 17 00:00:00 2001
From 393ae935075d0d253e1855e5fed6db92b1766a91 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 15 Feb 2009 20:59:48 +0100
Subject: [PATCH] rt2x00: Add support for MCS32 (rt2800pci)
@ -8,9 +8,11 @@ Signed-off-by: Ivo van Doorn@gmail.com>
drivers/net/wireless/rt2x00/rt2800pci.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 6e98c3d..63d6499 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -2484,6 +2484,7 @@ static int rt2800pci_probe_hw_mode(struc
@@ -2484,6 +2484,7 @@ static int rt2800pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
spec->ht.mcs.rx_mask[1] = 0xff;
case 1:
spec->ht.mcs.rx_mask[0] = 0xff;
@ -18,3 +20,6 @@ Signed-off-by: Ivo van Doorn@gmail.com>
break;
}
--
1.6.0

View file

@ -0,0 +1,27 @@
From 4fd4f7fd1db857b86fa3e6a1165f1ff051a71a7d Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 21 Feb 2009 10:57:03 +0100
Subject: [PATCH] rt2x00: Add RT3070 detection
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800usb.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 25f636f..a95ef3c 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -2338,7 +2338,8 @@ static int rt2800usb_init_eeprom(struct rt2x00_dev *rt2x00dev)
* identifies itself as rt2860 in the CSR register.
*/
if ((rt2x00_get_field32(reg, MAC_CSR0_ASIC_VER) != 0x2860) &&
- (rt2x00_get_field32(reg, MAC_CSR0_ASIC_VER) != 0x2870)) {
+ (rt2x00_get_field32(reg, MAC_CSR0_ASIC_VER) != 0x2870) &&
+ (rt2x00_get_field32(reg, MAC_CSR0_ASIC_VER) != 0x3070)) {
ERROR(rt2x00dev, "Invalid RT chipset detected.\n");
return -ENODEV;
}
--
1.6.0

View file

@ -0,0 +1,88 @@
From dde442877db96055110a9c7c55fa1cb95cc1d87e Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 21 Feb 2009 20:40:23 +0100
Subject: [PATCH] rt2x00: Correctly initialize TXINFO for crypto (rt2800pci)
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800pci.c | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 63d6499..9fd6fa2 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -331,7 +331,7 @@ static void rt2800pci_config_wcid_attr(struct rt2x00_dev *rt2x00dev,
u32 offset;
u32 reg;
- offset = MAC_WCID_ATTR_ENTRY(crypto->aid);
+ offset = MAC_WCID_ATTR_ENTRY(key->hw_key_idx);
rt2x00pci_register_read(rt2x00dev, offset, &reg);
rt2x00_set_field32(&reg, MAC_WCID_ATTRIBUTE_KEYTAB,
@@ -342,7 +342,7 @@ static void rt2800pci_config_wcid_attr(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field32(&reg, MAC_WCID_ATTRIBUTE_RX_WIUDF, 0);
rt2x00pci_register_write(rt2x00dev, offset, reg);
- offset = MAC_IVEIV_ENTRY(crypto->aid);
+ offset = MAC_IVEIV_ENTRY(key->hw_key_idx);
memset(&iveiv_entry, 0, sizeof(iveiv_entry));
if ((crypto->cipher == CIPHER_TKIP) ||
@@ -353,7 +353,7 @@ static void rt2800pci_config_wcid_attr(struct rt2x00_dev *rt2x00dev,
rt2x00pci_register_multiwrite(rt2x00dev, offset,
&iveiv_entry, sizeof(iveiv_entry));
- offset = MAC_WCID_ENTRY(crypto->aid);
+ offset = MAC_WCID_ENTRY(key->hw_key_idx);
memset(&wcid_entry, 0, sizeof(wcid_entry));
if (crypto->cmd == SET_KEY)
@@ -393,10 +393,10 @@ static int rt2800pci_config_shared_key(struct rt2x00_dev *rt2x00dev,
* Using the correct defines correctly will cause overhead,
* so just calculate the correct offset.
*/
- field.bit_offset = (4 * key->keyidx);
+ field.bit_offset = (4 * key->keyidx) + (16 * (crypto->bssidx & 1));
field.bit_mask = 0x7 << field.bit_offset;
- offset = SHARED_KEY_MODE_ENTRY(key->hw_key_idx / 8);
+ offset = SHARED_KEY_MODE_ENTRY(key->hw_key_idx / 2);
rt2x00pci_register_read(rt2x00dev, offset, &reg);
rt2x00_set_field32(&reg, field,
(crypto->cmd == SET_KEY) * crypto->cipher);
@@ -1813,16 +1813,15 @@ static void rt2800pci_write_tx_desc(struct rt2x00_dev *rt2x00dev,
test_bit(ENTRY_TXD_GENERATE_SEQ, &txdesc->flags));
rt2x00_set_field32(&word, TXWI_W1_BW_WIN_SIZE, txdesc->ba_size);
rt2x00_set_field32(&word, TXWI_W1_WIRELESS_CLI_ID,
- skbdesc->entry->entry_idx);
+ test_bit(ENTRY_TXD_ENCRYPT, &txdesc->flags) ?
+ txdesc->key_idx : 0xff);
rt2x00_set_field32(&word, TXWI_W1_MPDU_TOTAL_BYTE_COUNT, skb->len);
rt2x00_set_field32(&word, TXWI_W1_PACKETID,
skbdesc->entry->queue->qid);
rt2x00_desc_write(txwi, 1, word);
- if (test_bit(ENTRY_TXD_ENCRYPT, &txdesc->flags)) {
- _rt2x00_desc_write(txwi, 2, skbdesc->iv[0]);
- _rt2x00_desc_write(txwi, 3, skbdesc->iv[1]);
- }
+ _rt2x00_desc_write(txwi, 2, 0 /* skbdesc->iv[0] */);
+ _rt2x00_desc_write(txwi, 3, 0 /* skbdesc->iv[1] */);
/*
* Initialize TX descriptor
@@ -1849,7 +1848,8 @@ static void rt2800pci_write_tx_desc(struct rt2x00_dev *rt2x00dev,
rt2x00_desc_write(txd, 2, word);
rt2x00_desc_read(txd, 3, &word);
- rt2x00_set_field32(&word, TXD_W3_WIV, 1);
+ rt2x00_set_field32(&word, TXD_W3_WIV,
+ !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags));
rt2x00_set_field32(&word, TXD_W3_QSEL, 2);
rt2x00_desc_write(txd, 3, word);
}
--
1.6.0

View file

@ -0,0 +1,89 @@
From 3bb9fb0141f276cd330e3eaee5c5e75b7f8bdb6a Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 21 Feb 2009 20:41:06 +0100
Subject: [PATCH] rt2x00: Correctly initialize TXINFO for crypto (rt2800usb)
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800usb.c | 23 ++++++++++++-----------
1 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index a95ef3c..b983744 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -358,7 +358,7 @@ static void rt2800usb_config_wcid_attr(struct rt2x00_dev *rt2x00dev,
u32 offset;
u32 reg;
- offset = MAC_WCID_ATTR_ENTRY(crypto->aid);
+ offset = MAC_WCID_ATTR_ENTRY(key->hw_key_idx);
rt2x00usb_register_read(rt2x00dev, offset, &reg);
rt2x00_set_field32(&reg, MAC_WCID_ATTRIBUTE_KEYTAB,
@@ -369,7 +369,7 @@ static void rt2800usb_config_wcid_attr(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field32(&reg, MAC_WCID_ATTRIBUTE_RX_WIUDF, 0);
rt2x00usb_register_write(rt2x00dev, offset, reg);
- offset = MAC_IVEIV_ENTRY(crypto->aid);
+ offset = MAC_IVEIV_ENTRY(key->hw_key_idx);
memset(&iveiv_entry, 0, sizeof(iveiv_entry));
if ((crypto->cipher == CIPHER_TKIP) ||
@@ -380,7 +380,7 @@ static void rt2800usb_config_wcid_attr(struct rt2x00_dev *rt2x00dev,
rt2x00usb_register_multiwrite(rt2x00dev, offset,
&iveiv_entry, sizeof(iveiv_entry));
- offset = MAC_WCID_ENTRY(crypto->aid);
+ offset = MAC_WCID_ENTRY(key->hw_key_idx);
memset(&wcid_entry, 0, sizeof(wcid_entry));
if (crypto->cmd == SET_KEY)
@@ -425,10 +425,10 @@ static int rt2800usb_config_shared_key(struct rt2x00_dev *rt2x00dev,
* Using the correct defines correctly will cause overhead,
* so just calculate the correct offset.
*/
- field.bit_offset = (4 * key->keyidx);
+ field.bit_offset = (4 * key->keyidx) + (16 * (crypto->bssidx & 1));
field.bit_mask = 0x7 << field.bit_offset;
- offset = SHARED_KEY_MODE_ENTRY(key->hw_key_idx / 8);
+ offset = SHARED_KEY_MODE_ENTRY(key->hw_key_idx / 2);
rt2x00usb_register_read(rt2x00dev, offset, &reg);
rt2x00_set_field32(&reg, field,
@@ -2001,16 +2001,16 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field32(&word, TXWI_W1_NSEQ,
test_bit(ENTRY_TXD_GENERATE_SEQ, &txdesc->flags));
rt2x00_set_field32(&word, TXWI_W1_BW_WIN_SIZE, txdesc->ba_size);
- rt2x00_set_field32(&word, TXWI_W1_WIRELESS_CLI_ID, 0xff);
+ rt2x00_set_field32(&word, TXWI_W1_WIRELESS_CLI_ID,
+ test_bit(ENTRY_TXD_ENCRYPT, &txdesc->flags) ?
+ txdesc->key_idx : 0xff);
rt2x00_set_field32(&word, TXWI_W1_MPDU_TOTAL_BYTE_COUNT, skb->len);
rt2x00_set_field32(&word, TXWI_W1_PACKETID,
skbdesc->entry->entry_idx);
rt2x00_desc_write(txwi, 1, word);
- if (test_bit(ENTRY_TXD_ENCRYPT, &txdesc->flags)) {
- _rt2x00_desc_write(txwi, 2, skbdesc->iv[0]);
- _rt2x00_desc_write(txwi, 3, skbdesc->iv[1]);
- }
+ _rt2x00_desc_write(txwi, 2, 0 /* skbdesc->iv[0] */);
+ _rt2x00_desc_write(txwi, 3, 0 /* skbdesc->iv[1] */);
/*
* Initialize TX descriptor
@@ -2018,7 +2018,8 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev,
rt2x00_desc_read(txi, 0, &word);
rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN,
skb->len + TXWI_DESC_SIZE);
- rt2x00_set_field32(&word, TXINFO_W0_WIV, 1);
+ rt2x00_set_field32(&word, TXINFO_W0_WIV,
+ !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags));
rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2);
rt2x00_set_field32(&word, TXINFO_W0_SW_USE_LAST_ROUND, 0);
rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_NEXT_VALID, 0);
--
1.6.0

View file

@ -1,6 +1,6 @@
--- a/config.mk
+++ b/config.mk
@@ -110,7 +110,7 @@ ifneq ($(CONFIG_PCI),)
@@ -111,7 +111,7 @@ ifneq ($(CONFIG_PCI),)
CONFIG_ATH5K=m
# CONFIG_ATH5K_DEBUG is not set
CONFIG_ATH9K=m