mac80211: update ath9k patches

SVN-Revision: 14023
This commit is contained in:
Gabor Juhos 2009-01-13 13:01:26 +00:00
parent 955c501e9a
commit bdd0df792a
11 changed files with 76 additions and 30 deletions

View file

@ -1,11 +1,13 @@
From 3ded580cd6f24776395649b301857d075a5121fb Mon Sep 17 00:00:00 2001
From 1f8e398032f7aa8a06ac950fe1d4e0a48d7578b2 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:45:00 +0100
Subject: [PATCH v2 01/11] ath9k: convert to struct device
Subject: [PATCH v3 01/11] ath9k: convert to struct device
Convert 'struct pci_dev' to 'struct device' to make it usable on the AHB
bus as well.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---

View file

@ -1,10 +1,12 @@
From 57b901b5ceb401006a278bc1ad224f0ac88d4f08 Mon Sep 17 00:00:00 2001
From 4180ca5827fe3ac377a8a71fca955c99ad6a2b5b Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:50:30 +0100
Subject: [PATCH v2 02/11] ath9k: convert to use bus-agnostic DMA routines
Subject: [PATCH v3 02/11] ath9k: convert to use bus-agnostic DMA routines
Convert to use bus-agnostic DMA routines to make it usable on AHB bus as well.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---

View file

@ -1,11 +1,13 @@
From 1306e6b6d72b2bc0b91bcdd15b1d982965210bda Mon Sep 17 00:00:00 2001
From b9aae7ff9c6ca6864434882cce9c9c6fea88220b Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:57:42 +0100
Subject: [PATCH v2 03/11] ath9k: introduce bus specific cache size routine
Subject: [PATCH v3 03/11] ath9k: introduce bus specific cache size routine
The PCI specific bus_read_cachesize routine won't work on the AHB bus,
we have to replace it with a suitable one later.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---

View file

@ -1,11 +1,13 @@
From 7524b77fe24a4464b08a2ac987ec22711a4f2027 Mon Sep 17 00:00:00 2001
From 72542311c85de25b6f612e8de8cfdeb96efe7308 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:59:29 +0100
Subject: [PATCH v2 04/11] ath9k: introduce bus specific cleanup routine
Subject: [PATCH v3 04/11] ath9k: introduce bus specific cleanup routine
We have left only some PCI specific cleanup code. We have to convert
them as well.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---

View file

@ -1,11 +1,13 @@
From 39c2811d18b39991f49c16dcd9ed1a81200371ad Mon Sep 17 00:00:00 2001
From 4803193b165c67abcd7cb10dd0c178dbcffb6cc7 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:01:09 +0100
Subject: [PATCH v2 05/11] ath9k: move PCI code into separate file
Subject: [PATCH v3 05/11] ath9k: move PCI code into separate file
Now that we have converted all bus specific routines to replaceable, we
can move the PCI specific codes into a separate file.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---
@ -14,6 +16,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
drivers/net/wireless/ath9k/main.c | 300 +++--------------------------------
drivers/net/wireless/ath9k/pci.c | 287 +++++++++++++++++++++++++++++++++
4 files changed, 328 insertions(+), 279 deletions(-)
create mode 100644 drivers/net/wireless/ath9k/pci.c
--- a/drivers/net/wireless/ath9k/Makefile
+++ b/drivers/net/wireless/ath9k/Makefile

View file

@ -1,11 +1,13 @@
From ace011bdb2676f594824c81a5a5b5089dc0c3e0b Mon Sep 17 00:00:00 2001
From 23f9e44a18b5a2dfaa1326aa30dd07e1449e8b5f Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:03:17 +0100
Subject: [PATCH v2 06/11] ath9k: introduce platform driver for AHB bus support
Subject: [PATCH v3 06/11] ath9k: introduce platform driver for AHB bus support
This patch adds the platform_driver itself, and modifies the main driver
to register it.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---
@ -14,6 +16,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
drivers/net/wireless/ath9k/core.h | 8 ++
drivers/net/wireless/ath9k/main.c | 10 ++
4 files changed, 179 insertions(+), 0 deletions(-)
create mode 100644 drivers/net/wireless/ath9k/ahb.c
--- a/drivers/net/wireless/ath9k/Makefile
+++ b/drivers/net/wireless/ath9k/Makefile

View file

@ -1,12 +1,14 @@
From 317e9ea5007e3ff18b52f973c1b3a3f2c84bcae1 Mon Sep 17 00:00:00 2001
From 5941741f36a3870e8d22760e290ae7ea45293cdd Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:05:05 +0100
Subject: [PATCH v2 07/11] ath9k: get EEPROM contents from platform data on AHB bus
Subject: [PATCH v3 07/11] ath9k: get EEPROM contents from platform data on AHB bus
On the AR913x SOCs we have to provide EEPROM contents via platform_data,
because accessing the flash via MMIO is not safe. Additionally different
boards may store the radio calibration data at different locations.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---
@ -16,6 +18,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
drivers/net/wireless/ath9k/pci.c | 18 ++++++++++++
include/linux/ath9k_platform.h | 28 +++++++++++++++++++
5 files changed, 77 insertions(+), 48 deletions(-)
create mode 100644 include/linux/ath9k_platform.h
--- a/drivers/net/wireless/ath9k/ahb.c
+++ b/drivers/net/wireless/ath9k/ahb.c

View file

@ -1,16 +1,19 @@
From 891bd8d155bbdabac3c69486fc854984ee90761c Mon Sep 17 00:00:00 2001
From 480e7cbba032b1710768ffa1f067f34f99016a73 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:11:28 +0100
Subject: [PATCH v2 08/11] ath9k: remove (u16) casts from rtc register access
Subject: [PATCH v3 08/11] ath9k: remove (u16) casts from rtc register access
The RTC register offsets don't fit into 'u16' on the AR913x, so we have
to remove the existing casts.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---
drivers/net/wireless/ath9k/hw.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
drivers/net/wireless/ath9k/reg.h | 4 ++--
2 files changed, 9 insertions(+), 9 deletions(-)
--- a/drivers/net/wireless/ath9k/hw.c
+++ b/drivers/net/wireless/ath9k/hw.c
@ -19,7 +22,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
}
}
- REG_WRITE(ah, (u16) (AR_RTC_PLL_CONTROL), pll);
+ REG_WRITE(ah, (AR_RTC_PLL_CONTROL), pll);
+ REG_WRITE(ah, AR_RTC_PLL_CONTROL, pll);
udelay(RTC_PLL_SETTLE_DELAY);
@ -28,13 +31,13 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
}
- REG_WRITE(ah, (u16) (AR_RTC_RC), rst_flags);
+ REG_WRITE(ah, (AR_RTC_RC), rst_flags);
+ REG_WRITE(ah, AR_RTC_RC, rst_flags);
udelay(50);
- REG_WRITE(ah, (u16) (AR_RTC_RC), 0);
- if (!ath9k_hw_wait(ah, (u16) (AR_RTC_RC), AR_RTC_RC_M, 0)) {
+ REG_WRITE(ah, (AR_RTC_RC), 0);
+ if (!ath9k_hw_wait(ah, (AR_RTC_RC), AR_RTC_RC_M, 0)) {
+ REG_WRITE(ah, AR_RTC_RC, 0);
+ if (!ath9k_hw_wait(ah, AR_RTC_RC, AR_RTC_RC_M, 0)) {
DPRINTF(ah->ah_sc, ATH_DBG_RESET,
"RTC stuck in MAC reset\n");
return false;
@ -44,8 +47,8 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
- REG_WRITE(ah, (u16) (AR_RTC_RESET), 0);
- REG_WRITE(ah, (u16) (AR_RTC_RESET), 1);
+ REG_WRITE(ah, (AR_RTC_RESET), 0);
+ REG_WRITE(ah, (AR_RTC_RESET), 1);
+ REG_WRITE(ah, AR_RTC_RESET, 0);
+ REG_WRITE(ah, AR_RTC_RESET, 1);
if (!ath9k_hw_wait(ah,
AR_RTC_STATUS,
@ -58,3 +61,23 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
AR_RTC_RESET_EN);
}
}
--- a/drivers/net/wireless/ath9k/reg.h
+++ b/drivers/net/wireless/ath9k/reg.h
@@ -953,7 +953,7 @@ enum {
#define AR_RTC_BASE 0x00020000
#define AR_RTC_RC \
- (AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0000) : 0x7000
+ ((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0000) : 0x7000)
#define AR_RTC_RC_M 0x00000003
#define AR_RTC_RC_MAC_WARM 0x00000001
#define AR_RTC_RC_MAC_COLD 0x00000002
@@ -961,7 +961,7 @@ enum {
#define AR_RTC_RC_WARM_RESET 0x00000008
#define AR_RTC_PLL_CONTROL \
- (AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0014) : 0x7014
+ ((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0014) : 0x7014)
#define AR_RTC_PLL_DIV 0x0000001f
#define AR_RTC_PLL_DIV_S 0

View file

@ -1,13 +1,15 @@
From d1550cd72b9bddd43a355229aaa330b54c28d92e Mon Sep 17 00:00:00 2001
From 7421bd5ad39586fe58e487477e154275479b6821 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:13:04 +0100
Subject: [PATCH v2 09/11] ath9k: fix ar5416Addac_9100 values
Subject: [PATCH v3 09/11] ath9k: fix ar5416Addac_9100 values
Writing the register at offset 0x98c4 causes a deadlock on the AR913x
SoCs. Although i don't have detailed knowledge about these registers,
but if i change the register offset according to the 'ar5416Addac' table,
it works. Additionally there is no reference to the 0x98c4 elsewhere.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---

View file

@ -1,13 +1,15 @@
From a6411f449091c272ca08146238b91a0835306179 Mon Sep 17 00:00:00 2001
From ea298030ddc0089f308eec39571355aa359a1563 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:14:14 +0100
Subject: [PATCH v2 10/11] ath9k: fix null pointer dereference in ani monitor code
Subject: [PATCH v3 10/11] ath9k: fix null pointer dereference in ani monitor code
In 'ath9k_ani_reset' the 'ahp->ah_curani' will be initialized only
if 'DO_ANI(ah)' true. In 'ath9k_hw_ani_monitor' we are using
'ahp->ah_curani' unconditionally, and it will cause a NULL pointer
dereference on AR9100.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---

View file

@ -1,10 +1,12 @@
From c4568c6e2a62a95c95c7875643a64a19bc8c1a2f Mon Sep 17 00:00:00 2001
From 40f16a1776f223eee7eeb00860e8215e7ce33a98 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:10:28 +0100
Subject: [PATCH v2 11/11] ath9k: enable support for AR9100
Subject: [PATCH v3 11/11] ath9k: enable support for AR9100
Because we have support for the AR9100 devices now, we can enable them.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
---