1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-10-05 22:07:37 +03:00

[mac80211] Update to compat-wireless-2009-06-02

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16300 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
hauke 2009-06-02 18:48:52 +00:00
parent 179d9f7f00
commit 6605084cf1
7 changed files with 31 additions and 116 deletions

View File

@ -17,12 +17,12 @@ ifneq ($(CONFIG_LINUX_2_6_21)$(CONFIG_LINUX_2_6_23)$(CONFIG_LINUX_2_6_24)$(CONFI
PKG_MD5SUM:=9563ceeed86bca0859ad5f010623277c PKG_MD5SUM:=9563ceeed86bca0859ad5f010623277c
PATCH_DIR:=./patches-old PATCH_DIR:=./patches-old
else else
PKG_VERSION:=2009-05-21 PKG_VERSION:=2009-06-02
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE_URL:= \ PKG_SOURCE_URL:= \
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/05 \ http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/06 \
http://wireless.kernel.org/download/compat-wireless-2.6 http://wireless.kernel.org/download/compat-wireless-2.6
PKG_MD5SUM:=9d15b1d02c7ab48e96ec2f3f9b336e66 PKG_MD5SUM:=2209c48613e69c08436cfd7dd3b10893
endif endif
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2

View File

@ -1,7 +1,7 @@
From ff22aa7443c57f49f9fdaf703aa7035c1b13d7f4 Mon Sep 17 00:00:00 2001 From ef5c58e9a39ba9a264fec2c2bfddbae51fe85da1 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com> From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 26 Apr 2009 15:49:55 +0200 Date: Thu, 21 May 2009 19:17:53 +0200
Subject: [PATCH 1/4] rt2x00: Add rt2x00soc bus module Subject: [PATCH 1/2] rt2x00: Add rt2x00soc bus module
Add new library module for SoC drivers. Add new library module for SoC drivers.
This is needed to fully support the platform This is needed to fully support the platform

View File

@ -1,7 +1,7 @@
From 67432230daedc23f808b79173703e27675fd0659 Mon Sep 17 00:00:00 2001 From c5d3ab153ef4b68c9c6fab32f6f292c4394b72d3 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com> From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 26 Apr 2009 15:54:03 +0200 Date: Thu, 21 May 2009 19:21:31 +0200
Subject: [PATCH 2/4] rt2x00: Implement support for rt2800pci Subject: [PATCH 2/2] rt2x00: Implement support for rt2800pci
Add support for the rt2800pci chipset. Add support for the rt2800pci chipset.
@ -15,10 +15,10 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
--- ---
drivers/net/wireless/rt2x00/Kconfig | 26 + drivers/net/wireless/rt2x00/Kconfig | 26 +
drivers/net/wireless/rt2x00/Makefile | 1 + drivers/net/wireless/rt2x00/Makefile | 1 +
drivers/net/wireless/rt2x00/rt2800pci.c | 3245 +++++++++++++++++++++++++++++++ drivers/net/wireless/rt2x00/rt2800pci.c | 3241 +++++++++++++++++++++++++++++++
drivers/net/wireless/rt2x00/rt2800pci.h | 1927 ++++++++++++++++++ drivers/net/wireless/rt2x00/rt2800pci.h | 1929 ++++++++++++++++++
drivers/net/wireless/rt2x00/rt2x00.h | 6 + drivers/net/wireless/rt2x00/rt2x00.h | 6 +
5 files changed, 5205 insertions(+), 0 deletions(-) 5 files changed, 5203 insertions(+), 0 deletions(-)
create mode 100644 drivers/net/wireless/rt2x00/rt2800pci.c create mode 100644 drivers/net/wireless/rt2x00/rt2800pci.c
create mode 100644 drivers/net/wireless/rt2x00/rt2800pci.h create mode 100644 drivers/net/wireless/rt2x00/rt2800pci.h
@ -34,7 +34,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
obj-$(CONFIG_RT2800USB) += rt2800usb.o obj-$(CONFIG_RT2800USB) += rt2800usb.o
--- /dev/null --- /dev/null
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c +++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -0,0 +1,3245 @@ @@ -0,0 +1,3241 @@
+/* +/*
+ Copyright (C) 2004 - 2009 rt2x00 SourceForge Project + Copyright (C) 2004 - 2009 rt2x00 SourceForge Project
+ <http://rt2x00.serialmonkey.com> + <http://rt2x00.serialmonkey.com>
@ -755,6 +755,11 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+ rt2x00_set_field32(&reg, XIFS_TIME_CFG_EIFS, erp->eifs); + rt2x00_set_field32(&reg, XIFS_TIME_CFG_EIFS, erp->eifs);
+ rt2x00_set_field32(&reg, XIFS_TIME_CFG_BB_RXEND_ENABLE, 1); + rt2x00_set_field32(&reg, XIFS_TIME_CFG_BB_RXEND_ENABLE, 1);
+ rt2x00pci_register_write(rt2x00dev, XIFS_TIME_CFG, reg); + rt2x00pci_register_write(rt2x00dev, XIFS_TIME_CFG, reg);
+
+ rt2x00pci_register_read(rt2x00dev, BCN_TIME_CFG, &reg);
+ rt2x00_set_field32(&reg, BCN_TIME_CFG_BEACON_INTERVAL,
+ erp->beacon_int * 16);
+ rt2x00pci_register_write(rt2x00dev, BCN_TIME_CFG, reg);
+} +}
+ +
+static void rt2800pci_config_ant(struct rt2x00_dev *rt2x00dev, +static void rt2800pci_config_ant(struct rt2x00_dev *rt2x00dev,
@ -1095,17 +1100,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+ rt2x00pci_register_write(rt2x00dev, TX_RTY_CFG, reg); + rt2x00pci_register_write(rt2x00dev, TX_RTY_CFG, reg);
+} +}
+ +
+static void rt2800pci_config_duration(struct rt2x00_dev *rt2x00dev,
+ struct rt2x00lib_conf *libconf)
+{
+ u32 reg;
+
+ rt2x00pci_register_read(rt2x00dev, BCN_TIME_CFG, &reg);
+ rt2x00_set_field32(&reg, BCN_TIME_CFG_BEACON_INTERVAL,
+ libconf->conf->beacon_int * 16);
+ rt2x00pci_register_write(rt2x00dev, BCN_TIME_CFG, reg);
+}
+
+static void rt2800pci_config_ps(struct rt2x00_dev *rt2x00dev, +static void rt2800pci_config_ps(struct rt2x00_dev *rt2x00dev,
+ struct rt2x00lib_conf *libconf) + struct rt2x00lib_conf *libconf)
+{ +{
@ -1150,8 +1144,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+ rt2800pci_config_txpower(rt2x00dev, libconf->conf->power_level); + rt2800pci_config_txpower(rt2x00dev, libconf->conf->power_level);
+ if (flags & IEEE80211_CONF_CHANGE_RETRY_LIMITS) + if (flags & IEEE80211_CONF_CHANGE_RETRY_LIMITS)
+ rt2800pci_config_retry_limit(rt2x00dev, libconf); + rt2800pci_config_retry_limit(rt2x00dev, libconf);
+ if (flags & IEEE80211_CONF_CHANGE_BEACON_INTERVAL)
+ rt2800pci_config_duration(rt2x00dev, libconf);
+ if (flags & IEEE80211_CONF_CHANGE_PS) + if (flags & IEEE80211_CONF_CHANGE_PS)
+ rt2800pci_config_ps(rt2x00dev, libconf); + rt2800pci_config_ps(rt2x00dev, libconf);
+} +}
@ -2085,13 +2077,17 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+static int rt2800pci_set_state(struct rt2x00_dev *rt2x00dev, +static int rt2800pci_set_state(struct rt2x00_dev *rt2x00dev,
+ enum dev_state state) + enum dev_state state)
+{ +{
+ rt2x00pci_register_write(rt2x00dev, AUTOWAKEUP_CFG, 0); + /*
+ * Always put the device to sleep (even when we intend to wakup!)
+ * if the device is booting and wasn't asleep it will return
+ * failure when attempting to wakup.
+ */
+ rt2800pci_mcu_request(rt2x00dev, MCU_SLEEP, 0xff, 0, 2);
+ +
+ if (state == STATE_AWAKE) { + if (state == STATE_AWAKE) {
+ rt2800pci_mcu_request(rt2x00dev, MCU_WAKEUP, TOKEN_WAKUP, 0, 0); + rt2800pci_mcu_request(rt2x00dev, MCU_WAKEUP, TOKEN_WAKUP, 0, 0);
+ rt2800pci_mcu_status(rt2x00dev, TOKEN_WAKUP); + rt2800pci_mcu_status(rt2x00dev, TOKEN_WAKUP);
+ } else + }
+ rt2800pci_mcu_request(rt2x00dev, MCU_SLEEP, 0xff, 0, 2);
+ +
+ return 0; + return 0;
+} +}
@ -2943,6 +2939,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+ if (!rt2x00_rt(&rt2x00dev->chip, RT2880) && + if (!rt2x00_rt(&rt2x00dev->chip, RT2880) &&
+ !rt2x00_rt(&rt2x00dev->chip, RT3052)) + !rt2x00_rt(&rt2x00dev->chip, RT3052))
+ __set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags); + __set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags);
+ __set_bit(DRIVER_REQUIRE_DMA, &rt2x00dev->flags);
+ __set_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags); + __set_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags);
+ if (!modparam_nohwcrypt) + if (!modparam_nohwcrypt)
+ __set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags); + __set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags);
@ -3098,7 +3095,6 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+ .add_interface = rt2x00mac_add_interface, + .add_interface = rt2x00mac_add_interface,
+ .remove_interface = rt2x00mac_remove_interface, + .remove_interface = rt2x00mac_remove_interface,
+ .config = rt2x00mac_config, + .config = rt2x00mac_config,
+ .config_interface = rt2x00mac_config_interface,
+ .configure_filter = rt2x00mac_configure_filter, + .configure_filter = rt2x00mac_configure_filter,
+ .set_key = rt2x00mac_set_key, + .set_key = rt2x00mac_set_key,
+ .get_stats = rt2x00mac_get_stats, + .get_stats = rt2x00mac_get_stats,
@ -3282,7 +3278,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+module_exit(rt2800pci_exit); +module_exit(rt2800pci_exit);
--- /dev/null --- /dev/null
+++ b/drivers/net/wireless/rt2x00/rt2800pci.h +++ b/drivers/net/wireless/rt2x00/rt2800pci.h
@@ -0,0 +1,1927 @@ @@ -0,0 +1,1929 @@
+/* +/*
+ Copyright (C) 2004 - 2009 rt2x00 SourceForge Project + Copyright (C) 2004 - 2009 rt2x00 SourceForge Project
+ <http://rt2x00.serialmonkey.com> + <http://rt2x00.serialmonkey.com>
@ -4999,6 +4995,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+#define MCU_SLEEP 0x30 +#define MCU_SLEEP 0x30
+#define MCU_WAKEUP 0x31 +#define MCU_WAKEUP 0x31
+#define MCU_RADIO_OFF 0x35 +#define MCU_RADIO_OFF 0x35
+#define MCU_CURRENT 0x36
+#define MCU_LED 0x50 +#define MCU_LED 0x50
+#define MCU_LED_STRENGTH 0x51 +#define MCU_LED_STRENGTH 0x51
+#define MCU_LED_1 0x52 +#define MCU_LED_1 0x52
@ -5007,6 +5004,7 @@ Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+#define MCU_RADAR 0x60 +#define MCU_RADAR 0x60
+#define MCU_BOOT_SIGNAL 0x72 +#define MCU_BOOT_SIGNAL 0x72
+#define MCU_BBP_SIGNAL 0x80 +#define MCU_BBP_SIGNAL 0x80
+#define MCU_POWER_SAVE 0x83
+ +
+/* +/*
+ * MCU mailbox tokens + * MCU mailbox tokens

View File

@ -1,21 +0,0 @@
From ff3453072abf45ccf05e83f69c69951f3d7f7160 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sun, 26 Apr 2009 17:35:38 +0200
Subject: [PATCH 3/4] rt2x00: Allocate DMA (rt2800pci)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800pci.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -2906,6 +2906,7 @@ static int rt2800pci_probe_hw(struct rt2
if (!rt2x00_rt(&rt2x00dev->chip, RT2880) &&
!rt2x00_rt(&rt2x00dev->chip, RT3052))
__set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags);
+ __set_bit(DRIVER_REQUIRE_DMA, &rt2x00dev->flags);
__set_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags);
if (!modparam_nohwcrypt)
__set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags);

View File

@ -1,52 +0,0 @@
From 690559385626e98e2a91c280a8bca195f071756c Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Tue, 28 Apr 2009 20:12:43 +0200
Subject: [PATCH 4/4] rt2x00: Update from rt2860 driver (rt2800pci)
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800pci.c | 10 +++++++---
drivers/net/wireless/rt2x00/rt2800pci.h | 2 ++
2 files changed, 9 insertions(+), 3 deletions(-)
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -2048,13 +2048,17 @@ static void rt2800pci_disable_radio(stru
static int rt2800pci_set_state(struct rt2x00_dev *rt2x00dev,
enum dev_state state)
{
- rt2x00pci_register_write(rt2x00dev, AUTOWAKEUP_CFG, 0);
+ /*
+ * Always put the device to sleep (even when we intend to wakup!)
+ * if the device is booting and wasn't asleep it will return
+ * failure when attempting to wakup.
+ */
+ rt2800pci_mcu_request(rt2x00dev, MCU_SLEEP, 0xff, 0, 2);
if (state == STATE_AWAKE) {
rt2800pci_mcu_request(rt2x00dev, MCU_WAKEUP, TOKEN_WAKUP, 0, 0);
rt2800pci_mcu_status(rt2x00dev, TOKEN_WAKUP);
- } else
- rt2800pci_mcu_request(rt2x00dev, MCU_SLEEP, 0xff, 0, 2);
+ }
return 0;
}
--- a/drivers/net/wireless/rt2x00/rt2800pci.h
+++ b/drivers/net/wireless/rt2x00/rt2800pci.h
@@ -1714,6 +1714,7 @@ struct mac_iveiv_entry {
#define MCU_SLEEP 0x30
#define MCU_WAKEUP 0x31
#define MCU_RADIO_OFF 0x35
+#define MCU_CURRENT 0x36
#define MCU_LED 0x50
#define MCU_LED_STRENGTH 0x51
#define MCU_LED_1 0x52
@@ -1722,6 +1723,7 @@ struct mac_iveiv_entry {
#define MCU_RADAR 0x60
#define MCU_BOOT_SIGNAL 0x72
#define MCU_BBP_SIGNAL 0x80
+#define MCU_POWER_SAVE 0x83
/*
* MCU mailbox tokens

View File

@ -1,10 +0,0 @@
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -3066,7 +3066,6 @@ static const struct ieee80211_ops rt2800
.add_interface = rt2x00mac_add_interface,
.remove_interface = rt2x00mac_remove_interface,
.config = rt2x00mac_config,
- .config_interface = rt2x00mac_config_interface,
.configure_filter = rt2x00mac_configure_filter,
.set_key = rt2x00mac_set_key,
.get_stats = rt2x00mac_get_stats,

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/main.c --- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1034,6 +1034,9 @@ static void ath_unregister_led(struct at @@ -1041,6 +1041,9 @@ static void ath_unregister_led(struct at
static void ath_deinit_leds(struct ath_softc *sc) static void ath_deinit_leds(struct ath_softc *sc)
{ {
@ -10,7 +10,7 @@
cancel_delayed_work_sync(&sc->ath_led_blink_work); cancel_delayed_work_sync(&sc->ath_led_blink_work);
ath_unregister_led(&sc->assoc_led); ath_unregister_led(&sc->assoc_led);
sc->sc_flags &= ~SC_OP_LED_ASSOCIATED; sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
@@ -1048,6 +1051,9 @@ static void ath_init_leds(struct ath_sof @@ -1055,6 +1058,9 @@ static void ath_init_leds(struct ath_sof
char *trigger; char *trigger;
int ret; int ret;