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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:45:00 +0100 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 Convert 'struct pci_dev' to 'struct device' to make it usable on the AHB
bus as well. bus as well.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:50:30 +0100 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. 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: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:57:42 +0100 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, The PCI specific bus_read_cachesize routine won't work on the AHB bus,
we have to replace it with a suitable one later. 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: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 10:59:29 +0100 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 We have left only some PCI specific cleanup code. We have to convert
them as well. them as well.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:01:09 +0100 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 Now that we have converted all bus specific routines to replaceable, we
can move the PCI specific codes into a separate file. 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: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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/main.c | 300 +++--------------------------------
drivers/net/wireless/ath9k/pci.c | 287 +++++++++++++++++++++++++++++++++ drivers/net/wireless/ath9k/pci.c | 287 +++++++++++++++++++++++++++++++++
4 files changed, 328 insertions(+), 279 deletions(-) 4 files changed, 328 insertions(+), 279 deletions(-)
create mode 100644 drivers/net/wireless/ath9k/pci.c
--- a/drivers/net/wireless/ath9k/Makefile --- a/drivers/net/wireless/ath9k/Makefile
+++ b/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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:03:17 +0100 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 This patch adds the platform_driver itself, and modifies the main driver
to register it. to register it.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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/core.h | 8 ++
drivers/net/wireless/ath9k/main.c | 10 ++ drivers/net/wireless/ath9k/main.c | 10 ++
4 files changed, 179 insertions(+), 0 deletions(-) 4 files changed, 179 insertions(+), 0 deletions(-)
create mode 100644 drivers/net/wireless/ath9k/ahb.c
--- a/drivers/net/wireless/ath9k/Makefile --- a/drivers/net/wireless/ath9k/Makefile
+++ b/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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:05:05 +0100 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, On the AR913x SOCs we have to provide EEPROM contents via platform_data,
because accessing the flash via MMIO is not safe. Additionally different because accessing the flash via MMIO is not safe. Additionally different
boards may store the radio calibration data at different locations. 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: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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 ++++++++++++ drivers/net/wireless/ath9k/pci.c | 18 ++++++++++++
include/linux/ath9k_platform.h | 28 +++++++++++++++++++ include/linux/ath9k_platform.h | 28 +++++++++++++++++++
5 files changed, 77 insertions(+), 48 deletions(-) 5 files changed, 77 insertions(+), 48 deletions(-)
create mode 100644 include/linux/ath9k_platform.h
--- a/drivers/net/wireless/ath9k/ahb.c --- a/drivers/net/wireless/ath9k/ahb.c
+++ b/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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:11:28 +0100 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 The RTC register offsets don't fit into 'u16' on the AR913x, so we have
to remove the existing casts. to remove the existing casts.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
--- ---
drivers/net/wireless/ath9k/hw.c | 14 +++++++------- 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 --- a/drivers/net/wireless/ath9k/hw.c
+++ b/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, (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); 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, (u16) (AR_RTC_RC), rst_flags);
+ REG_WRITE(ah, (AR_RTC_RC), rst_flags); + REG_WRITE(ah, AR_RTC_RC, rst_flags);
udelay(50); udelay(50);
- REG_WRITE(ah, (u16) (AR_RTC_RC), 0); - REG_WRITE(ah, (u16) (AR_RTC_RC), 0);
- if (!ath9k_hw_wait(ah, (u16) (AR_RTC_RC), AR_RTC_RC_M, 0)) { - if (!ath9k_hw_wait(ah, (u16) (AR_RTC_RC), AR_RTC_RC_M, 0)) {
+ REG_WRITE(ah, (AR_RTC_RC), 0); + REG_WRITE(ah, AR_RTC_RC, 0);
+ if (!ath9k_hw_wait(ah, (AR_RTC_RC), AR_RTC_RC_M, 0)) { + if (!ath9k_hw_wait(ah, AR_RTC_RC, AR_RTC_RC_M, 0)) {
DPRINTF(ah->ah_sc, ATH_DBG_RESET, DPRINTF(ah->ah_sc, ATH_DBG_RESET,
"RTC stuck in MAC reset\n"); "RTC stuck in MAC reset\n");
return false; 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), 0);
- REG_WRITE(ah, (u16) (AR_RTC_RESET), 1); - REG_WRITE(ah, (u16) (AR_RTC_RESET), 1);
+ REG_WRITE(ah, (AR_RTC_RESET), 0); + REG_WRITE(ah, AR_RTC_RESET, 0);
+ REG_WRITE(ah, (AR_RTC_RESET), 1); + REG_WRITE(ah, AR_RTC_RESET, 1);
if (!ath9k_hw_wait(ah, if (!ath9k_hw_wait(ah,
AR_RTC_STATUS, AR_RTC_STATUS,
@ -58,3 +61,23 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
AR_RTC_RESET_EN); 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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:13:04 +0100 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 Writing the register at offset 0x98c4 causes a deadlock on the AR913x
SoCs. Although i don't have detailed knowledge about these registers, SoCs. Although i don't have detailed knowledge about these registers,
but if i change the register offset according to the 'ar5416Addac' table, but if i change the register offset according to the 'ar5416Addac' table,
it works. Additionally there is no reference to the 0x98c4 elsewhere. 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: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:14:14 +0100 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 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 if 'DO_ANI(ah)' true. In 'ath9k_hw_ani_monitor' we are using
'ahp->ah_curani' unconditionally, and it will cause a NULL pointer 'ahp->ah_curani' unconditionally, and it will cause a NULL pointer
dereference on AR9100. dereference on AR9100.
Changes-licensed-under: ISC
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@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> From: Gabor Juhos <juhosg@openwrt.org>
Date: Mon, 5 Jan 2009 11:10:28 +0100 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. 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: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
--- ---